Hej, jag undrar om man kan göra ett program i visual basic som stänger av datorn när man öppnar den. I windows 98 kunde jag använda mig av exitwin, men det fungerar inte i xp.
dim OpSysSet as Object
Set OpSysSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery _
("select * from Win32_OperatingSystem where Primary=true")
for each OpSys in OpSysSet
OpSys.ShutDown
next
Hej, jag har en fråga till. Jag håller på med ett program och undrar nu om man kan ha en knapp i programet som man kan trycka på för att programet ska lägga sig i datorns autostart? Gärna en knapp som tar bort den från autostarten också.
Public Const HKEY_CURRENT_USER = &H80000001
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _
(ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" _
(ByVal hKey As Long, ByVal lpValueName As String) As Long
Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" _
(ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Public Sub savestring(hKey As Long, strPath As String, strValue As String, _
strdata As String)
Dim keyhand As Long
Dim r As Long
r = RegCreateKey(hKey, strPath, keyhand)
r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal strdata, Len(strdata))
r = RegCloseKey(keyhand)
End Sub
Public Function DeleteValue(ByVal hKey As Long, ByVal strPath As String, _
ByVal strValue As String)
Dim keyhand As Long
r = RegOpenKey(hKey, strPath, keyhand)
r = RegDeleteValue(keyhand, strValue)
r = RegCloseKey(keyhand)
End Function
Hej, jag får inte det att fungera precis. Jag får felmedelande på:
Public Const HKEY_CURRENT_USER = &H80000001
Jag tror att jag lagt koden på fel ställe. Vilken bas fil menar du att jag ska lägga in den i?
Om den ligger i rätt registernyckel så ska den starta (vid omboot). Det är Windows uppgift och har inget med VB att göra. Vad står det exakt i nyckeln?
Kan man inte göra så att programet kopierar sig själv till autostart mappen istället?
Jo, det kan man säkert. Vet inte hur bara, på rak arm. Men om den inte startar via registernyckeln så förstår jag inte varför den skulle starta i "autostart". Det är nåt som är skumt ..