|
|
Uhh, you do realize that link is for the Team Foundation Server Source Control, right?
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Guys,
Do you know of any forum (publication) where I can get some information on how to I can incorporate an exe or dll in custon setup in VB.NET. I want to include a form that should prompt for User_ID and Password during setup. Most of the examples I have seen are in C#.
Regards,
manv
|
|
|
|
|
Those examples are easily convertable to VB.NET. If you look at any example code on MSDN, there are usually code samples in both VB.NET and C#. You couldn't ask for a better Rosetta stone to show you how to translate between the two.
If you want, you can also copy/paste code snippets into an on-line translator, like this one[^]. The only problem with using these is that not one of them can do a perfect job of translating the code. They can come close though...
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Well, am comfortable of course with conversions from C# to VB. However may be I havent found a good example. Do you know of any example using a dll or exe in custom action, you can just give me the link.
manv
|
|
|
|
|
I don't know of any examples. I can't release what I've done to you because I don't use Visual Studio's Setup projects. I'm using Wise for Windows Installer.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
I'd like to know how to detect an USB Device if it's plugged in, so if the user for example, plugs his MP3-player in the program pops up, and shows the drive letter of the Usb device. Anyone?
--Zaegra--
|
|
|
|
|
There's just WAY too much information to cover on how to do USB in a forum environment. You can learn a lot, though, from checking out the article and code samples in this[^].
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Hi,
I am using grid in my window form.I have 2 problem.
1)how to save image in sql database
2)How to show image in grid
I hope you help me.
Regards,
Nagraj
|
|
|
|
|
if i'm having the JobID of current printing document
how can i get the Printer name which is printing that?
code pls
"You can do any thing you set to your mind" - theGhost_k8
|
|
|
|
|
How are you getting the JobId? The job is stored in the queue of the printer printing it. There is no "one" job that is the current job, because you can have multiple printers, each printing it's own "current job" at the same time.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
well i;m actually using printing component that generates event.
Problem with it is i've created 2 saperate app. with diff. printer names(same Component)
thus i'm getting the jobid. but prob. is that compo. raises event in both proj.. so i want to identify printer name(printer_app1 or Printer_app2) using jobid
if doc is printed using printer_app1 then
exit from app2's event and conti. app1's event and vice versa..
well i've got some ways out there that includes WMI, API(get job) etc..
but in that i'm not able to get rid of the error
"An unhandled exception of type 'System.ExecutionEngineException' occurred in system.management.dll"
and i'm not able to retrive details from api... i've searched through net explaining uses and etc but i cant complete that using api...
http://www.merrioncomputing.com/Programming/PrintJob.htm
well i'd aspecting if u can post some code ...
--thanks
"You can do any thing you set to your mind" - theGhost_k8
|
|
|
|
|
Kedar V wrote: but prob. is that compo. raises event in both proj
Of course it is! A print job was started; it doesn't matter which app started it. It'll raise that event in your apps if Notepad printed something.
Kedar V wrote: WMI, API(get job) etc.. but in that i'm not able to get rid of the error
"An unhandled exception of type 'System.ExecutionEngineException' occurred in system.management.dll"
What's the code you're using to get the WMI data for this job?
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Dim oq As System.Management.ObjectQuery = New System.Management.ObjectQuery("SELECT * FROM Win32_PrintJob")
Dim query1 As ManagementObjectSearcher = New ManagementObjectSearcher("SELECT * FROM Win32_PrintJob")
Dim queryCollection1 As ManagementObjectCollection = query1.Get()
For Each mo As ManagementObject In queryCollection1
MsgBox(mo.Item("Document").ToString())
"You can do any thing you set to your mind" - theGhost_k8
|
|
|
|
|
If you're using Windows 2000, the problem appears to be fixed with a Hotfix. Read more here[^].
In Windows XP, it appears to be fixed with SP2. Click[^].
This second article pre-dates the one above, so I couldn't tell you if this thing will actually work yet.
My Windows 2000 machine needs to be patched up to the latest and I think my XP machine is a couple updates behind. I'll let you know if it works on either.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Well, it works on Windows 2000, so long as the machine filling the query has all the lastest updates from WindowsUpdate.
For XP, you'll have to wait 'till I get home to try that one out. But, it's probably going to be the same thing... all the latest updates.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Oh! Might help if I posted the code I'm using:
Imports System.Management
Public Class Form1
' Important!! MUST use \root\cimv2 here! \root\default does NOT work!
Private scope as New ManagementScope(String.Format("\\{0}\root\cimv2", Environment.MachineName))
Private Sub Button1_Click(blah, blah) Handles Button1.Click
If ConnectToWmi() Then
GetJobList()
End If
End Sub
Private Sub GetJobList()
' Clear out the ListView we're using to show the jobs.
JobList.Items.Clear()
If scope.IsConnected Then
Dim query As New ObjectQuery("SELECT * FROM Win32_PrintJob")
Dim searcher As New ManagementObjectSearcher(scope, query)
Dim objectCollection As ManagementObjectCollection = searcher.Get()
For Each obj As ManagementObject In objectCollection
JobList.Items.Add( new String() { CUint(obj("JobId")).ToString(), CStr(obj("Document")) } )
Next
' It's very important to dispose these objects when your done with them! If
' you don't, you'll end up with a handle leak and eventually crash the system.
objectCollection.Dispose()
searcher.Dispose()
End If
End Sub
Private Function ConnectToWmi() As Boolean
scope.Connect()
Return scope.IsConnected()
End Function
End Class
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
It works perfectly under XP, even if the machine hasn't been patched up in the last 6 months.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Thanks dave to giving me the replies.
Well, The code u've given i'have paste it in new .net project and it worked fine...
But the same code if i'm using with my-application-code .. It just annoying me by giving that error "Unhandled Exception blah blah blah...."
Chk this class out.... Its working perfactly ok in test application as yours.. But when it has to work real.. it denies with that ERROR...
What could be the possible problem? that on the same platform same code behaves unbelivably? I've checked all references and i'm perfact.. the version of system.management.dll obviously thats too ok... THEN WHAT COULD IT BE ?
If this wont work atall(I'm still trying) Do i have any option to use this code eg. making a dll(for jst a little talk?)
I really thank you for the replies you are posting and taking the problem as if its urs... thanks again - kedar
Oh !! well check the code....
Public Class Win32_Printer
Public Overloads Shared Function GetPrinterList() As String()
' Local machine.
Return BuildPrinterList(Nothing)
End Function 'GetPrinterList
Public Overloads Shared Function GetPrinterList(ByVal machineName As String, ByVal userName As String, ByVal userPassword As String) As String()
Dim options As New ConnectionOptions
options.Username = userName
options.Password = userPassword
Dim path As New ManagementPath
path.Server = machineName
Dim scope As New ManagementScope(path)
scope.Options = options
' Remote machine
Return BuildPrinterList(scope)
End Function 'GetPrinterList
Private Shared Function BuildPrinterList(ByVal scope As ManagementScope)
Dim searcher As New ManagementObjectSearcher("Select * from Win32_PrintJob")
If Not scope Is Nothing Then
searcher.Scope = scope
End If
Dim list As New ArrayList
For Each obj As ManagementObject In searcher.Get()
list.Add(obj("Name").ToString())
Next obj
Return list.ToArray(GetType(String))
End Function 'BuildPrinterList
End Class
"You can do any thing you set to your mind" - theGhost_k8
|
|
|
|
|
The code works, at least on an XP machine that has SP2 on it and is patched up to about 6 months ago.
If the machine that is filling the WMI request is patched up to current levels, complete with the latest service packs, this code should work just fine on any 2000, XP, or 2003 Server machine.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
i've tried out with dll ... i mean doing the same thing in a dll
and then calling from our proj..
even that gives the error.... I'm getting hiper now...
well thanks for recognising the code....
"You can do any thing you set to your mind" - theGhost_k8
|
|
|
|
|
I doesn't matter what you put this code in, Form, DLL, library, ...
If the machine is not patched up properly, it just plain won't work. This is a known problem with Windows 2000 and XP. I already posted the links to the KB articles about it.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
yes !!! but i'm trying my luck..
as same code, same pgm ... giving diff. o/p on same machine..
"You can do any thing you set to your mind" - theGhost_k8
|
|
|
|
|
I tired your code on an XP box with SP2 and it worked perfectly. It tried it on a 2003 box, and it still worked.
Your code is making some assumptions, though, which may be screwing it up. Specify the full namespace to use, don't use the defaults. Always supply a scope, don't rely on the default scope, and call Connect on it before you pass it into an ObjectSearcher and call Get on that.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
Hay dave !
i've got a possible problem that might be causing the error "Unhandled exception in .....System.managent.dll"
i'm using pdf-printer to print document...
It has few events to be handled through the code in which i call save dialogbox to select the path etc..
I can give different names to that printer but events they fire are same...
This events are written in both applications and hence they both get fired when i select any of the printer to print pdf.
now what i've thought of doing is,
find printer-name and job-id combination using WMI
compare if its printer of App1 or App2
Exit App1 if its printer of App2 and vice versa
Now i've to insert this "Printer Check Code" in events that are generated from that printer only
and THAT CAUSES A PROBLEM... [i think so]
If I'm trying to get printer-job name combination to compare from printer_event then its giving ERROR
Hence i think i gotta finish it off now and just start looking at APIs for solution..
I think API can only be at my rescue.. well thanks dude u've been there always for help
well so what about API ?? (jst kiddin i'll try it .. )
"You can do any thing you set to your mind" - theGhost_k8
|
|
|
|