Telefonino.net network
 
| 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 » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 26-03-2002, 21.17.18   #1
guam
Newbie
 
Registrato: 17-07-2001
Messaggi: 23
guam promette bene
[VB]Che comando uso per far spegnere il pc?

Salve a tutti, sto facendo un programmino in VB che, una volta impostata l'ora, mi spenga il computer all'ora prefissata (esempio se imposto le 18:30, appena scattano le 18:30 il pc si deve spegnere automaticamente).

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
guam non è collegato   Rispondi citando
Vecchio 01-04-2002, 10.08.16   #2
beee
Junior Member
 
Registrato: 03-01-2001
Messaggi: 161
beee promette bene
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 !!
beee non è collegato   Rispondi citando
Vecchio 02-04-2002, 09.10.11   #3
P8257 WebMaster
Gold Member
 
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
P8257 WebMaster promette bene
Per Windows XP:

Fai una shell al processo SHUTDOWN .. non ricordo i parametri..

Bye
P8257 WebMaster non è collegato   Rispondi citando
Vecchio 02-04-2002, 12.03.24   #4
Lucavettu
Hero Member
 
L'avatar di Lucavettu
 
Registrato: 31-03-2002
Loc.: Provincia di BG
Messaggi: 1.321
Lucavettu promette bene
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
Lucavettu non è collegato   Rispondi citando
Vecchio 05-04-2002, 23.22.03   #5
xegallo
Junior Member
 
L'avatar di xegallo
 
Registrato: 15-05-2001
Loc.: Padova
Messaggi: 58
xegallo promette bene
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
___________________________________

]
xegallo non è collegato   Rispondi citando
Vecchio 06-04-2002, 21.09.03   #6
Lucavettu
Hero Member
 
L'avatar di Lucavettu
 
Registrato: 31-03-2002
Loc.: Provincia di BG
Messaggi: 1.321
Lucavettu promette bene
Cos'è, arabo??? o aramaico???

___________________________________

Deviation west, compass best.
Wind is calm, 35L cleared for takeoff
Lucavettu non è collegato   Rispondi citando
Vecchio 06-04-2002, 23.14.50   #7
xegallo
Junior Member
 
L'avatar di xegallo
 
Registrato: 15-05-2001
Loc.: Padova
Messaggi: 58
xegallo promette bene
NO API CARO MIO
___________________________________

]
xegallo non è collegato   Rispondi citando
Vecchio 15-04-2002, 20.17.36   #8
pazzokramaz
Hero Member
 
Registrato: 13-09-2001
Loc.: italia - Toscana - Firenze
Messaggi: 1.094
pazzokramaz promette bene
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
pazzokramaz non è collegato   Rispondi citando
Vecchio 16-04-2002, 11.34.21   #9
LoryOne
Gold Member
WT Expert
 
Registrato: 09-01-2002
Loc.: None of your business
Messaggi: 5.505
LoryOne è un gioiello raroLoryOne è un gioiello raroLoryOne è un gioiello raro
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 !
LoryOne non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Orario GMT +2. Ora sono le: 08.00.08.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.