|
VB6 (w/o WMI): You'll have to call into the Windows API's to get in touch with the Service Control Manager to start and stop Services.
VB6 (with WMI): You can use WMI to get a list of Win32_BaseService objects. You can then use simple method calls to start and stop the service(s) you want.
VB.NET: Very easy. See the documentation on the ServiceController class.
RageInTheMachine9532
|
|
|
|
|
Thanks.
can u give me more detail about using with WMI in vb6.0. Now I am working without WMI.
shenthil
|
|
|
|
|
VB6 with WMI: This will stop a service and it's dependants:
' The "." mean the local computer.
strComputer = "."
' We're going to stop the NetDDE service.
' First, get the list of dependent services and stop them one by one.
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery("Associators of {Win32_Service.Name='NetDDE'} Where AssocClass=Win32_DependentService Role=Antecedent")
For each objService in colServiceList
objService.StopService()
Next
' We just told the dependent services to stop. Now we'll wait about 20 seconds
' before we tell the NetDDE service to stop.
Wscript.Sleep 20000
' ...and, finally, stop the NetDDE service.
Set colServiceList = objWMIService.ExecQuery("Select * from Win32_Service where Name='NetDDE'")
For each objService in colServiceList
errReturn = objService.StopService()
Next
RageInTheMachine9532
|
|
|
|
|
I have a IR device connected in my desktop pc, im trying to create a program that will transfer files from PC to my PocketPC (vise-versa), i need to write the program in
vb 6.0 and eVB 3.0, need help on this....thanks
|
|
|
|
|
If all your doing is transferring files, you could use Windows Networking to do it, just like two desktops on a LAN. Also, why reinvent the wheel? There are a bunch programs already out there that do file transfers already. Is the cost of one of those less than what it's going to cost you to develope the same thing? What do you get paid in the two months it's going to take to develop this, compared to the off-the-shelf solution?
You can start by looking at http://www.pocketpcdn.com/sections/irdaled.html[^].
RageInTheMachine9532
|
|
|
|
|
I'm having problem with my backend, my visual basic 6.0 program dont work, the winsock control doesn't have the IR protocol unlike its eVB counterpart, pls help me on this.
|
|
|
|
|
Winsock does support IrDA if any only if you have an IRDA adapter installed in the machine and it's drivers are loaded, and you have the IR protocol installed in the Network Settings.
Also, some IR ports only show up as Serial devices, not network...
The Winsock IRDA documentation starts here[^].
RageInTheMachine9532
|
|
|
|
|
can you show me the code, thank you
|
|
|
|
|
I don't have any and I haven't been able to find any VB code examples on the 'Net.
RageInTheMachine9532
|
|
|
|
|
I have an app I'm currently writing that allows users to log out but still leave the app running. When the user logs out, I want to close all child forms related to the main MDI form. Is there an easy way to do this, or do I have to code unload calls for each form?
--------------------
Tim Perry
"Remember, comments are there to make people laugh, not to help them fix your code later...because you're code is always perfect"
|
|
|
|
|
Sure. In the MDI Parent form, loop through the MdiChildren array, which contains all the child forms and call the Close method on each one (untested code!):
Dim frmChild As Form
For Each frmChild In MdiChildren
frmChild.Close()
Next
RageInTheMachine9532
|
|
|
|
|
I'm working with VBScript and WMI Win32 classes. The Win32_USBControllerDevice.Dependent property returns a reference to a CIM_LogicalDevice object. However, I am not able to (maybe because I dont know how) invoke any CIM_LogicalDevice property or method using that reference. I thought the "dot" notation would work but it gave me an error. Here is the code: (I'm trying to call the "Name" property of CIM_LogicalDevice class)
<br />
Set USB_Devices = WMI_Services.ExecQuery("Select * from Win32_USBControllerDevice")<br />
For each USB_Device in USB_Devices<br />
WScript.Echo "USB Device: " & USB_Device.Dependent.Name<br />
Next<br />
The error I got is:
"ERROR: Object required: 'USB_Device.Dependent'
CODE: 800A01A8"
Can someone please help?
|
|
|
|
|
Well, you can't use a ref: object like that, as you've already found out, since the WMI provider won't resolve reference for you. But, the CIM_LogicalDevice maps to a Win32_PnPEntity object. You can use the string that Dependant returns to get at the actual device. You'll have to parse out the DeviceID, but you can use that ID to get the appropriate Win32_PnPEntity object from WMI.
RageInTheMachine9532
|
|
|
|
|
I made a small VB app to run while I play a game. The problem is, the game takes up the full screen and thus hides all the windows. It there some way to run the VB program on top of everything else, not just other windows?
|
|
|
|
|
If it's a DirectX app that runs full screen, your out of luck.
But if it's running in a window, then, in VB.NET, you can set your form to be on top of all other windows by setting its TopMost property to True. If you're using VB6, then you'll have to call into the Windows API to make your window the topmost. Something like this:
Option Explicit
' Declare function calls into the Win32 API.
Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
' Define the constants used by SetWindowPos.
Public Const HWND_TOPMOST = -1
Public Const HWND_NOTOPMOST = -2
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOZORDER = &H4
Public Const SWP_NOREDRAW = &H8
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_SHOWWINDOW = &H40
Public Const SWP_HIDEWINDOW = &H80
'
' Make our window the topmost window on the screen.
'
Public Sub MakeTopMostWindow(frmForm As Form)
With frmForm
' Tag our window as as TopMost and not to swap its position
' in the Z-Order with any other window
SetWindowPos frmForm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_NOSIZE Or SWP_NOMOVE
End With
End Sub
RageInTheMachine9532
|
|
|
|
|
I'm not sure if it's directX, but it does take up the full screen and is NOT windowed. Thanks anyway.
|
|
|
|
|
I have a VB6 AX control with a contained ADO grid. I need to expose the grid property page but i cannot find how.
Any idea?
Thanks
Gabriel
|
|
|
|
|
Does anyone use VB.NET standard rather than Visuual Studio .NET?
Is there a downside if you only want to write apps in VB.NET?
|
|
|
|
|
No down side really, but it depends on the type of apps you want to write. The Standard Edition is the entry level version of VB.NET. You loose all the Enterprise features, including the ability to develop for PocketPC, SourceSafe, , and gain none of the Academic version features.
RageInTheMachine9532
|
|
|
|
|
Hiya,
I've created a simple vb.net windows service, and I'm trying to peroidcally run a batch file as part of the service but it's not working..
Here's the code
Dim myProcess As New Process()
myProcess.StartInfo.FileName = "c:\batchfile.bat"
myProcess.Start()
Any ideas why this will not work? No errors are thrown and when stepping throught the code with the debugger, all seems well.
Cheers,
stuart
p.s. I'm an amatuer.
|
|
|
|
|
It doesn't thow an Exception because the code can sucessfully launch the batch file. It is the batch file that is probably having the problem because of NTFS rights issues.
Is you service running under the LocalSystem account or is it running under a user account? Does this account have the proper rights to the files your trying to manipulate? Does this batch file do something with a Network file? Local System will not have the rights to anything that is on a network share...
RageInTheMachine9532
|
|
|
|
|
|
Dear all,
I am getting to grips with writing VS.NET add-ins with a view to publishing an article on here. I am considering making the add-in modular, that it dynamically detects and adds new features rather than having to run the whole installation again, kind of like a snap-in. Anyway, that's by the by.
Complete the statement below with a genuine requirement and I will see what I can do to add your wishes into my add-in.
I wish I had an add-in (for VB or C#) that......
I have a couple of features in there right now:
1. Select text and wrap in new region
Dim a as string
a = "hello"
becomes...
#Region "My Region"
Dim a as string
a = "hello"
#end region
2. Paste a SQL statement in to code and have its individual lines added to a string variable
SELECT *
FROM mytables
ORDER BY 1
becomes...
Dim lSQL as string
lSQL = "SELECT *" + "\r\n";
lSQL += "...
3. Select member variables of a class and the add-in creates the property let/get code for you
4. Select a database and some tables and the add-in creates classes whose members map to columns on the tables.
Any more?
Chris
Nursey
|
|
|
|
|
I am writing a program to solve the rubik's cube.
For details of the algorithm, google "cube explorer"
My problem is this, I need to write 2 HUGE tables, but the values in each position in the table are either 0,1,2 or 3. The smallest datatype I know of is the byte, but this (2186)x(2047)x(494) table gives me an error of system out of memory.
Could someone help me out?
Thanks
Fox
|
|
|
|
|
At 1 byte per element, this would require about 2.2 GIGABYTES of storage.
You can get away with mapping multiple bytes into an array of 69,078,830 UInt32 elements. This will allow you to get 4 of your bytes into one UInt32.
Since the values 0, 1, 2, and 3 will fit into 2 bits, you could map this into the UInt32 even more efficiently and pack 16 values into one UInt32.
In either case, you'll have to manage the array indexing yourself. The easiest way to do this is to create a class that can create an internal array of UInt32's that will hold the capacity of 2,210,522,548 two bit values that you need. Then you'll have to expose an Index property that can take 3 arguments as index values in your 3D array. You'll use those values to caluclate which UInt32 has the two bits your looking for.
RageInTheMachine9532
|
|
|
|