Second Opinion
Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale. Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit. www.neurohope.ro |
CE functie imi inchide calculatorul?
Last Updated: Apr 12 2007 11:26, Started by
PentiumSEX
, Oct 12 2006 20:40
·
0
#1
Posted 12 October 2006 - 20:40
Va rog:
Ce functie sau cum programez astfel incit la o ora setata sa se opreasca calculatorul? (presupun ca nu e nevoie de controlul timer pt a seta ora, folosesc ora sistemului). |
#2
Posted 14 October 2006 - 10:33
Foloseste ExitWindowsEx
Public Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Longbafta! |
#4
Posted 17 October 2006 - 18:52
Revin, pt ca n-am reusit pe deplin, asa ca ... dragi tovarasi si prieteni, va rog sa ma ajutati.
Asadar, pentru a defini o procedura (functie) ce sa-mi inchida calculatorul (POWEROFF) am incercat doua variante: I) Dupa cum am fost indrumat am folosit functia ExitWindowsEx ; a) am declarat intr-un modul: Public Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long intr-un buton al formei am introdus codul: Call ExitWindowsEx(0, 0) c) In acest mod, cu parametrii impliciti ai functiei ExitWindowsEx ; adica uFlags = 0 (uFlags=EWX_LOGOFF) apelul functiei conduce la exit user (user off) d) Ce valoare trebuie sa-i dau parametrului uFlags pentru ca functia sa-mi inchida calculatorul ; (uFlags = EWX_POWEROFF) ? In MSDN library apare valoarea, pt uFlags = 0x00000008 pentru ca uFlags = EWX_POWEROFF; ca urmare calculatorul inchizindu-se (POWEROFF). Ce reprezinta "0x00000008" ? e un nr in baza 16 (hexazecimal), sau mai degraba o referinta de memorie? CONCLUZIE: care sunt parametrii din: Call ExitWindowsEx(uFlags, dwReason) ce au ca rezultat inchiderea calculatorului II) In VBasic-Project-References = am creat o referinta catre shell.dll (Microsoft Shell Controls and Automation) a) intr-un modul am declarat variabila "Iesire": Public Iesire As New Shell intr-un buton al formei am apelat metoda variab."Iesire": Iesire.ShutdownWindows c) Nemultumirea consta ca mi se afiseaza casa de dialog TURN OFF Computer din care trebuie sa aleg daca inchid sau nu calculatorul. Eu nu doresc aceasta interactiune! Eu doresc ca odata apasat butonul formei calculatorul sa se inchida direct (fara o noua interactiune, avertizare, etc) CONCLUZIE: Cum ar trebui sa scriu codul astfel incit sa se inchida calculatorul? Cum ii spun (prin o linie de cod) ferestrei afisate "TURN OFF Computer" ca s-a apasat butonul "TURN OFF" ? Eu doresc ca odata apasat butonul formei calculatorul sa se inchida direct (fara o noua interactiune, avertizare, etc) _____________Cam atit ... dragi tovarasi si prieteni |
#5
Posted 18 October 2006 - 09:10
'Stimabile tovaras' ai citit in MSDN tot ce scria despre ExitWindowEx? pentru ca ai sarit peste ceva:
Quote To shut down or restart the system, the calling process must use the AdjustTokenPrivileges function to enable the SE_SHUTDOWN_NAME privilege. Probabil te intrebi cum, mai cauta prin msdn si vei da de un exemplu 'Step By Step Example' , nu am link-ul si nici timp de cautat asa ca am sa-ti dau codul.... 1. Intr-un modul aduga codul de mai jos (sau intr-un form): Private Type LUID UsedPart As Long IgnoredForNowHigh32BitPart As Long End Type Private Type TOKEN_PRIVILEGES PrivilegeCount As Long TheLuid As LUID Attributes As Long End Type Private Const EWX_SHUTDOWN As Long = 1 Private Const EWX_FORCE As Long = 4 Private Const EWX_REBOOT = 2 Private Declare Function ExitWindowsEx Lib "user32" (ByVal _ dwOptions As Long, ByVal dwReserved As Long) As Long Private Declare Function GetCurrentProcess Lib "kernel32" () As Long Private Declare Function OpenProcessToken Lib "advapi32" (ByVal _ ProcessHandle As Long, _ ByVal DesiredAccess As Long, TokenHandle As Long) As Long Private Declare Function LookupPrivilegeValue Lib "advapi32" _ Alias "LookupPrivilegeValueA" _ (ByVal lpSystemName As String, ByVal lpName As String, lpLuid _ As LUID) As Long Private Declare Function AdjustTokenPrivileges Lib "advapi32" _ (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 Public Sub AdjustToken() Const TOKEN_ADJUST_PRIVILEGES = &H20 Const TOKEN_QUERY = &H8 Const SE_PRIVILEGE_ENABLED = &H2 Dim hdlProcessHandle As Long Dim hdlTokenHandle As Long Dim tmpLuid As LUID Dim tkp As TOKEN_PRIVILEGES Dim tkpNewButIgnored As TOKEN_PRIVILEGES Dim lBufferNeeded As Long hdlProcessHandle = GetCurrentProcess() OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or _ TOKEN_QUERY), hdlTokenHandle ' Get the LUID for shutdown privilege. LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid tkp.PrivilegeCount = 1 ' One privilege to set tkp.TheLuid = tmpLuid tkp.Attributes = SE_PRIVILEGE_ENABLED ' Enable the shutdown privilege in the access token of this process. AdjustTokenPrivileges hdlTokenHandle, False, _ tkp, Len(tkpNewButIgnored), tkpNewButIgnored, lBufferNeeded End Sub 2. La apasarea buttonului fa ceva de genul: Private Sub Command1_Click() AdjustToken ExitWindowsEx (EWX_SHUTDOWN Or EWX_FORCE), &HFFFF End Sub Concluzie: calculatorul se inchide 'fortat' (EWX_FORCE) fara o noua interactiune, avertizare, etc bafta! |
#6
Posted 22 October 2006 - 17:56
Eeee ... DA; acu' DA măi tovarășe. Mulțumesc pt. cod; merge OK.
off topic PS: În spațiul U.E. se pot întîlni nume de persoane ca: 'VAN Basten'; 'VAN Dame'. Întrebare: Odată cu integrarea României în U.E., (prin corelare cu numele de mai sus din U.E.) românescul 'RăzVAN' va deveni 'VAN Raz' (în U.E.)? Mulțumesc încă odată, Noroci. |
#7
Posted 19 November 2006 - 11:00
Înaite să adorm îmiplace să ascult muică, și pt. că era inervant să mă ridic să închid calculatorul făcui acest mic program (vezi atașamentul) ce mă scutește de această 'corvoadă' (deranj).
Atentie: schimbati extensia fisierului atasat din *.txt in *.exe (adica din InchidCalculatorul.txt schimbati denumirea in InchidCalculatorul.exe ) Mulțumesc celor ce m-au ajutat cu sfaturi în realizarea acestui progrămel. Salutări Attached Files |
#8
Posted 13 December 2006 - 16:21
Nu functioneaza link-ul sau nu stiu eu cum se face ? Am incercat sa salvez fisierul text dar se salveaza fisierul index.php
|
#11
Posted 04 February 2007 - 16:05
Codul sursa (atasat) pt. programelul "InchidCalculatorul".
Attached Files |
#12
Posted 12 April 2007 - 11:26
Sper sa mai existe KIT -ul programului "inchidCalculatorul" la urmatorul link:
http://www.u1.ro/v/8...atorul.rar.html Salutare |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users