Avatar billede tokelil Nybegynder
18. september 2000 - 18:33 Der er 8 kommentarer og
2 løsninger

Lukke computeren...?

Er der nogen der ved hvordan man kan få et program til at lukke computeren når man trykker på en knap. Om det er ligesom windows gør det, eller en anden \"hård\" måde er ligegyldigt... Jeg har fundet ud af at få den til at genstarte uden om windows, men ved ikke hvordan jeg skal lukke den!
Avatar billede snowball Novice
18. september 2000 - 18:49 #1
Søg efter ExitWindowsEX i hjælpen til Delphi ! Der står en hel del om hvordan man både genstarter og lukker PC\'en !

Dette burde virke:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ExitWindowsEx(EWX_SHUTDOWN,0);
end;

Snowball
Avatar billede snowball Novice
18. september 2000 - 18:50 #2
Søg efter ExitWindowsEX i hjælpen til Delphi ! Der står en hel del om hvordan man både genstarter og lukker PC\'en !

Dette burde virke:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ExitWindowsEx(EWX_SHUTDOWN,0);
end;

Snowball
Avatar billede snowball Novice
18. september 2000 - 18:50 #3
Whoops...Der skete vist lige en lille fejl ;)

Snowball
Avatar billede tokelil Nybegynder
18. september 2000 - 21:29 #4
Jeg kan ikke finde noget om ExitWindowsEX i Delphi hjælpen... Har version 4. Hvilke andre funktioner findes der..? Nogen der har hjælp filen, og kan sende den til mig??
Avatar billede snowball Novice
18. september 2000 - 21:42 #5
Hvis du søger direkte inde i hjælpen, så er det rigtigt der ikke står noget, men hvis du \"går ind i koden\" og skriver exitwindowsex og trykker CTRL + F1, så skulle der gerne komme noget frem !

Ellers så kommer det hele her:

The ExitWindowsEx function either logs off, shuts down, or shuts down and restarts the system.

BOOL ExitWindowsEx(

    UINT uFlags,    // shutdown operation
    DWORD dwReserved     // reserved
  );   


Parameters

uFlags

Specifies the type of shutdown. This parameter must be some combination of the following values:

Value    Meaning
EWX_FORCE    Forces processes to terminate. When this flag is set, Windows does not send the messages WM_QUERYENDSESSION and WM_ENDSESSION to the applications currently running in the system. This can cause the applications to lose data. Therefore, you should only use this flag in an emergency.
EWX_LOGOFF    Shuts down all processes running in the security context of the process that called the ExitWindowsEx function. Then it logs the user off.
EWX_POWEROFF    Shuts down the system and turns off the power. The system must support the power-off feature.Windows NT: The calling process must have the SE_SHUTDOWN_NAME privilege. For more information, see the following Remarks section. Windows 95: Security privileges are not supported or required.
EWX_REBOOT    Shuts down the system and then restarts the system. Windows NT: The calling process must have the SE_SHUTDOWN_NAME privilege. For more information, see the following Remarks section. Windows 95: Security privileges are not supported or required.
EWX_SHUTDOWN    Shuts down the system to a point at which it is safe to turn off the power. All file buffers have been flushed to disk, and all running processes have stopped. Windows NT: The calling process must have the SE_SHUTDOWN_NAME privilege. For more information, see the following Remarks section. Windows 95: Security privileges are not supported or required.


dwReserved

Reserved; this parameter is ignored.



Return Values

If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

The ExitWindowsEx function returns as soon as it has initiated the shutdown. The shutdown or logoff then proceeds asynchronously.
During a shutdown or log-off operation, applications that are shut down are allowed a specific amount of time to respond to the shutdown request. If the time expires, Windows displays a dialog box that allows the user to forcibly shut down the application, to retry the shutdown, or to cancel the shutdown request. If the EWX_FORCE value is specified, Windows always forces applications to close and does not display the dialog box.

The ExitWindowsEx function sends a separate notification message, CTRL_SHUTDOWN_EVENT or CTRL_LOGOFF_EVENT as the situation warrants, to console processes. A console process routes these messages to its HandlerRoutine functions, which are added and removed by calls to the SetConsoleCtrlHandler function. ExitWindowsEx sends these notification messages asynchronously; thus, an application cannot assume that the console notification messages have been handled when a call to ExitWindowsEx returns.

Windows NT: To shut down or restart the system, the calling process must use the AdjustTokenPrivileges function to enable the SE_SHUTDOWN_NAME privilege. For more information about security privileges, see Privileges.
Windows 95: Security privileges are not supported or required.

See Also

AdjustTokenPrivileges, ExitWindows, HandlerRoutine, SetConsoleCtrlHandler


Snowball
Avatar billede tokelil Nybegynder
18. september 2000 - 21:45 #6
Fandt noget om ExitWindowsEX på en hjemmeside.... Det er vidst nok for nu!
Avatar billede tokelil Nybegynder
18. september 2000 - 21:46 #7
Mange tak.....
Avatar billede borrisholt Novice
19. september 2000 - 08:23 #8
Dog er der den lille detalje at ingen af de ovennævnte svar virker under WindowsNT/2000 son SnowBall så ganske rigtigt citerer online hjælpen for
\"Windows NT: To shut down or restart the system, the calling process must use the AdjustTokenPrivileges function to enable the SE_SHUTDOWN_NAME privilege. For more information about security privileges, see Privileges.
Windows 95: Security privileges are not supported or required. \"

Hvis der er nogen der vil vide hvordan man så gør så gå ind på http://borrisholt.com

Jens B
Avatar billede snowball Novice
19. september 2000 - 16:40 #9
Ja, det er rigtigt. Det glemte jeg lige at skrive. Jeg bøvlede selv engang med det problem i et program jeg lavede for et stykke tid siden ;)

Snowball
Avatar billede gamer61 Nybegynder
27. februar 2003 - 01:25 #10
Jeg har lige et spørgsmål mht det der. Nu har jeg downloadet dit eks. borrisholt og vil lige høre om det er nok at skrive følgende i En knaps OnClick event for at få computeren til at lukke ned;

procedure TForm1.Button1Click(Sender: TObject);
begin
ExitWindows(EWX_SHUTDOWN);
end;

Hvis ikke hvad er så mere nødvendigt for at få knappen til at lukke pcen?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester