![]() |
Fremder Anwendung einen Systemneustart vortäuschen?
Hallo,
kann ich einer Anwendung (auch in Delphi geschrieben, aber nicht von mir) von dem ich das Fensterhandle habe einen Systemneustart vortäuschen? Gruss |
Re: Fremder Anwendung einen Systemneustart vortäuschen?
Wie erkennt denn die Anwendung einen Systemstart?
|
Re: Fremder Anwendung einen Systemneustart vortäuschen?
Wird bei einen Neustart nicht eine Message an alle Programme geschickt? Ich dachte diese Message kann ich speziell an ein Programm schicken. Sowas wie "wm_shutdown" ... ich find nur bis jetzt keine entsprechende Message.
|
Re: Fremder Anwendung einen Systemneustart vortäuschen?
Wenn sich der Benutzer Abmeldet, der Rechner runtergefahren wird oder wenn er neu gestartet wird, dann schick Windows an alle toplevel Fenster erst ein
![]() ![]() |
Re: Fremder Anwendung einen Systemneustart vortäuschen?
Das Programm reagiert nicht auf dieses Nachrichten :(
Delphi-Quellcode:
Muss man das bei einer Delphianwendung an das übergeordnete Fenster (TApplication) schicken oder sollte es reichen diese Messages an das Hauptfenster zu schicken?
SendMessage(dWindowHandle, WM_QUERYENDSESSION, 0, 0);
SendMessage(dWindowHandle, WM_ENDSESSION, integer(true), 0); |
Re: Fremder Anwendung einen Systemneustart vortäuschen?
Zitat:
|
Re: Fremder Anwendung einen Systemneustart vortäuschen?
Aber wenn ich einen echten Neustart machen, dann wird dieses Fenster/Programm doch auch geschlossen.
|
Re: Fremder Anwendung einen Systemneustart vortäuschen?
Jupp. Aber anscheined interssiert es das Programm nicht, weil es keine Rolle spielt, wie es beendet wid, ob vom Anwender oder Windows beim Runterfahren. Meinem nonVCL Editor interssiert es auch nicht, weswegen ich diese Nachricht nicht explizit abfange und darauf reagiere.
|
Re: Fremder Anwendung einen Systemneustart vortäuschen?
Moin Thomas,
wenn Du das Programm beenden willst, sollte auch ein WM_SYSCOMMAND mit SC_CLOSE genügen. |
Re: Fremder Anwendung einen Systemneustart vortäuschen?
Müsste das nicht auch mit der Message WM_CLOSE funktionieren ? (ist ja fast das selbe)
|
Re: Fremder Anwendung einen Systemneustart vortäuschen?
Mit WM_Close sanfter Weg oder WM_QUIT komm ich auch zu dem Ergebnis. Danke für die Hinweise.
|
Re: Fremder Anwendung einen Systemneustart vortäuschen?
Moin Matti,
wenn ich mich richtig erinnere hatte ich mal ein Problem mit WM_CLOSE, und die Verwendung von WM_SYSCOMMAND mit SC_CLOSE hatte funktioniert, aber genau sagen kann ich das leider nicht mehr (sozusagen: Historisch gewachsen :mrgreen:) |
Re: Fremder Anwendung einen Systemneustart vortäuschen?
Zitat:
Delphi-Quellcode:
programm Schwupps;
function AppDlgProc(hWnd: HWND; msg: UINT; wParam: WPARAM; lParam: LPARAM): Integer; stdcall; begin if wParam = SC_CLOSE then begin EndDialog(hWnd, 1); end; case msg of WM_INITDIALOG: ; // ... WM_CLOSE: ; // Nix end; Result := 0; end; begin DialogBoxParam(hInstance, MAKEINTRESOURCE(ID_MYDIALOG), 0, @AppDlgProc, 0); end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz