|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
26-03-2002, 21.17.18 | #1 |
Newbie
Registrato: 17-07-2001
Messaggi: 23
|
[VB]Che comando uso per far spegnere il pc?
Ho fatto tutto mi manca solo il comando dello shut down, ho dato un'occhiata alla guida ma ho trovato solo "object.shutdownwindows" che non riesco a far funzionare. Grazie per l'aiuto sono ai primi passi |
01-04-2002, 10.08.16 | #2 |
Junior Member
Registrato: 03-01-2001
Messaggi: 161
|
Puoi usare le API ExitWindow e/o ExitWindowEx. Con w9x/me funziona bene, con NT/2000/xp le cose si complicano abbastanza (in pratica ti rimarra la scritta -è ora possibile spegnere il pc-)
L'argomento è stato già trattato in questo forum qualche mese fà. Bye !
___________________________________
La pazzia ci coglierà nel sonno !! |
02-04-2002, 09.10.11 | #3 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Per Windows XP:
Fai una shell al processo SHUTDOWN .. non ricordo i parametri.. Bye |
02-04-2002, 12.03.24 | #4 |
Hero Member
Registrato: 31-03-2002
Loc.: Provincia di BG
Messaggi: 1.321
|
Bo... provate
io in programmazione di VB6 buio completo...
So solo che per far spegnere il PC basta creare un collegamento al programma Rundll32.exe (mi pare nella cartella Windows) e poi cliccare col tasto dx sul link -> Proprietà. E poi scrivere nel campo "Destinazione" il comando "user,exitwindows" (senza virgolette). Poi basta dare OK e farci doppio click. Fatemi sapere se sapete qualcosa di nuovo. Ciao
___________________________________
Deviation west, compass best. Wind is calm, 35L cleared for takeoff |
05-04-2002, 23.22.03 | #5 |
Junior Member
Registrato: 15-05-2001
Loc.: Padova
Messaggi: 58
|
Const TOKEN_ADJUST_GROUPS = &H40
Const TOKEN_ADJUST_DEFAULT = &H80 Const SE_SHUTDOWN_NAME = "SeShutdownPrivilege" Const ANYSIZE_ARRAY = 1 Private Type LARGE_INTEGER lowpart As Long highpart As Long End Type Private Type Luid lowpart As Long highpart As Long End Type Private Type LUID_AND_ATTRIBUTES 'pLuid As Luid pLuid As LARGE_INTEGER Attributes As Long End Type Private Type TOKEN_PRIVILEGES PrivilegeCount As Long Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES End Type Private Declare Function InitiateSystemShutdown Lib "advapi32.dll" Alias "InitiateSystemShutdownA" (ByVal lpMachineName As String, ByVal lpMessage As String, ByVal dwTimeout As Long, ByVal bForceAppsClosed As Long, ByVal bRebootAfterShutdown As Long) As Long Private Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long Private Declare Function GetCurrentProcess Lib "kernel32" () As Long Private Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LARGE_INTEGER) As Long Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long Private Declare Function GetLastError Lib "kernel32" () As Long Public Function InitiateShutdownMachine(B yVal Machine As String, Optional Force As Variant, Optional Restart As Variant, Optional AllowLocalShutdown As Variant, Optional Delay As Variant, Optional Message As Variant) As Boolean Dim hProc As Long Dim OldTokenStuff As TOKEN_PRIVILEGES Dim OldTokenStuffLen As Long Dim NewTokenStuff As TOKEN_PRIVILEGES Dim NewTokenStuffLen As Long Dim pSize As Long If IsMissing(Force) Then Force = False If IsMissing(Restart) Then Restart = True If IsMissing(AllowLocalShutd own) Then AllowLocalShutdown = False If IsMissing(Delay) Then Delay = 0 If IsMissing(Message) Then Message = "" 'Make sure the Machine-name doesn't start with '\' If InStr(Machine, "\\") = 1 Then Machine = Right(Machine, Len(Machine) - 2) End If 'check if it's the local machine that's going to be shutdown If (LCase(GetMyMachineName) = LCase(Machine)) Then 'may we shut this computer down? If AllowLocalShutdown = False Then Exit Function 'open access token If OpenProcessToken(GetCurre ntProcess(), TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hProc) = 0 Then MsgBox "OpenProcessToken Error: " & GetLastError() Exit Function End If 'retrieve the locally unique identifier to represent the Shutdown-privilege name If LookupPrivilegeValue(vbNu llString, SE_SHUTDOWN_NAME, OldTokenStuff.Privileges(0).pLuid) = 0 Then MsgBox "LookupPrivilegeValue Error: " & GetLastError() Exit Function End If NewTokenStuff = OldTokenStuff NewTokenStuff.PrivilegeCount = 1 NewTokenStuff.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED NewTokenStuffLen = Len(NewTokenStuff) pSize = Len(NewTokenStuff) 'Enable shutdown-privilege If AdjustTokenPrivileges(hPr oc, False, NewTokenStuff, NewTokenStuffLen, OldTokenStuff, OldTokenStuffLen) = 0 Then MsgBox "AdjustTokenPrivileges Error: " & GetLastError() Exit Function End If 'initiate the system shutdown If InitiateSystemShutdown("\\" & Machine, Message, Delay, Force, Restart) = 0 Then Exit Function End If NewTokenStuff.Privileges(0).Attributes = 0 'Disable shutdown-privilege If AdjustTokenPrivileges(hPr oc, False, NewTokenStuff, Len(NewTokenStuff), OldTokenStuff, Len(OldTokenStuff)) = 0 Then Exit Function End If Else 'initiate the system shutdown If InitiateSystemShutdown("\\" & Machine, Message, Delay, Force, Restart) = 0 Then Exit Function End If End If InitiateShutdownMachine = True End Function Function GetMyMachineName() As String Dim sLen As Long 'create a buffer GetMyMachineName = Space(100) sLen = 100 'retrieve the computer name If GetComputerName(GetMyMach ineName, sLen) Then GetMyMachineName = Left(GetMyMachineName, sLen) End If End Function Private Sub Form_Load() 'KPD-Team 2000 'URL: http://www.allapi.net/ 'E-Mail: KPDTeam@Allapi.net InitiateShutdownMachine GetMyMachineName, True, True, True, 60, "You initiated a system shutdown..." End Sub
___________________________________
] |
06-04-2002, 21.09.03 | #6 |
Hero Member
Registrato: 31-03-2002
Loc.: Provincia di BG
Messaggi: 1.321
|
Cos'è, arabo??? o aramaico???
___________________________________
Deviation west, compass best. Wind is calm, 35L cleared for takeoff |
06-04-2002, 23.14.50 | #7 |
Junior Member
Registrato: 15-05-2001
Loc.: Padova
Messaggi: 58
|
NO API CARO MIO
___________________________________
] |
15-04-2002, 20.17.36 | #8 |
Hero Member
Registrato: 13-09-2001
Loc.: italia - Toscana - Firenze
Messaggi: 1.094
|
cappero io non ho capito niente
fai prima a dire a vb di aprire il collegamento a rundll32 e poi scrivi qualcosa ok ciao
___________________________________
Uso PK DooR OS (Mod XP Pro) intel - Amd Ati - Asus La Mia HomePage www.PazzoKramaz.da.ru iL Mio Profilo Con Foto Http://kramaz.badoo.com MSN: p_kramaz_hm@hotmail.com |
16-04-2002, 11.34.21 | #9 |
Gold Member
WT Expert
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
|
Creati un file .bat dentro al quale inserisci questo:
rundll32 user,exitwindows Poi lancia il .bat all'ora prestabilita utilizzando l'utilità di Operazioni pianificate. Questo se hai Windows 9x/ME Se non ce l'hai leggi gli altri consigli. Sono tutti validi ! |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|