Autor |
Beitrag |
kad_we
      
Beiträge: 78
D6; Turbo Delphi 2006
|
Verfasst: Mo 01.12.03 12:45
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
      
Beiträge: 236
Erhaltene Danke: 1
|
Verfasst: 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 
      
Beiträge: 78
D6; Turbo Delphi 2006
|
Verfasst: Mo 01.12.03 15:02
aja kannst du mir nen beispiel geben, oder es mir nochmal auf deutsch erklären???
|
|
Simon Joker
      
Beiträge: 236
Erhaltene Danke: 1
|
Verfasst: 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:
www.faqweb.de/tip0564.htm
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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
Hält's aus hier
Beiträge: 2
|
Verfasst: 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.
|
|
Quisius
Hält's aus hier
Beiträge: 2
|
Verfasst: Mo 10.10.05 14:49
Habe die Lösung selbst gefunden.
Es liegt an Win2k.
Wer ein ähnliches Problem hat, siehe msdn.microsoft.com/l...tesystemshutdown.asp
Da wird man geholfen ;-D
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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.
|
|
|