Entwickler-Ecke
Windows API - beenden menü
kad_we - Mo 01.12.03 12:45
Titel: beenden menü
wie lasse ich per buttonklick das ausschalten menü einblenden?
(bei win 2000) oder NT oder am besten bei beiden...
thx 4 help kad_we
Simon Joker - Mo 01.12.03 13:00
Hi Kad_we
nutze dazu ShellExecute und die entsprechenden Befehle der RunDLL.
DenShutdawn-Dialog habe ich jetzt nicht parat, deshalb für weitere -> Google.
Beispiele für Rundll - Kommandos:
· rundll32.exe user,exitwindowsexec - Windows neustarten
· rundll32.exe user,exitwindows - Windows herunterfahren
· rundll32.exe krnl386.exe,exitkernel - Windows herunterfahren
· rundll32.exe Shell32.dll,SHExitWindowsEx - aktiven Benutzer abmelden
· rundll32.exe user,wnetconnectdialog - Netzlaufwerke verbinden
· rundll32.exe user,wnetdisconnectdialog - Netzlaufwerke trennen
· rundll32.exe shell32.dll,Control_RunDLL netcpl.cpl - Netzlaufwerke konfiguratieren
· rundll32.exe shell32.dll,Control_RunDLL password.cpl - Kennwortkonfiguration
· rundll32.exe shell32.dll,SHFormatDrive - Diskette formatieren
· rundll32.exe user,repaintscreen - Aktualisiert den Bildschirminhalt
· rundll32.exe shell32.dll,Control_RunDLL - Systemsteuerung aufrufen
· rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0 - Anzeige-Eigenschaften
· rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl @1 - Sound-Eigenschaften
· rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,0 - System-Eigenschaften
· rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl,,3 - Leistungsmerkmale
(System- Eigenschaften)
· rundll32.exe shell32.dll,Control_RunDLL joy.cpl - Joystic/Gamepad Eigenschaften
· rundll32.exe shell32.dll,Control_RunDLL modem.cpl - Modem Eigenschaften
· rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl - Software Eigenschaften
kad_we - Mo 01.12.03 15:02
aja kannst du mir nen beispiel geben, oder es mir nochmal auf deutsch erklären???
Simon Joker - Mo 01.12.03 16:29
nun dann habe ich halt mal für dich gegoogelt:
Runndll32-befehl für Shutdown von win2k ist:
Shell32.dll,SHExitWindowsEx 1
Aufruf:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| ShellExecute(Application.Handle, 'open' ,PChar('rundll32.exe'), PChar('Shell32.dll,SHExitWindowsEx 1'),nil, sw_ShowNormal) ShellExecute(Application.Handle, 'open' ,PChar('rundll32.exe'), PChar('shell32.dll,Control_RunDLL timedate.cpl,,0'),nil, sw_ShowNormal) usw. |
Vergiss nicht die ShellApi einzubinden.
Die Befehle sind OS abhängig, also vorhert prüfen.
eine kleine Auflistung:
http://www.faqweb.de/tip0564.htm
Delete - Mo 01.12.03 20:50
Getestet unter 98, 2000 und XP, also so gut wie OS-unabhängig, damit siehst du den Dialog, den du bei Start->Beenden siehst:
Delphi-Quelltext
1:
| PostMessage(findwindow('Shell_TrayWnd',nil),WM_CLOSE,0,0); |
@Simon: Es gibt vernünftige Befehle zum Beenden von Windows und zum Abmelden. Der Weg über die RunDLL ist -wie du selbst bemerkt hast!- ein wenig unsicher. Die FAQs enthalten mehr Informationen dazu.
Quisius - Mo 10.10.05 10:28
Hallo allerseits
Delphi-Quelltext
1:
| PostMessage(findwindow('Shell_TrayWnd',nil),WM_CLOSE,0,0); |
dieser Befehl funktioniert bei mir
Delphi-Quelltext
1: 2:
| ShellExecute(Application.Handle, 'open' ,PChar('rundll32.exe'), PChar('Shell32.dll,SHExitWindowsEx 1'),nil, sw_ShowNormal); |
allerdings leider nicht.
Bekomme folgende Fehlermeldung:
Fehler in Shell32.dll
Folgender Eintrag fehlt SHExitWindowsEx
Kennt einer die Lösung für mein Problem ? Ist meine DLL unvollständig bzw. lässt sie sich um den betroffenen Eintrag erweitern oder gibt es einen weiteren Befehl bzw. Möglichkeit den PC herunterzufahren?
By the way, benutze Win2k und Delphi 7
Bin dankbar für jede Hilfe
Moderiert von
raziel: Delphi-Tags hinzugefügt.
Delete - Mo 10.10.05 14:59
Äh und warum nicht
EXITWINDOWSEX? Diese Funktion hättest du übrigens gefunden, wenn du den Hinweis beachtet hättest, dass es besseren Code gibt, als es mit der run32.dll zu tun.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!