befehl für shutdown

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

befehl für shutdown

Beitrag von zigapeda »

Hallo

habe in der hilfe nix gefunden deshalb wollte ich fragen ob es einen befehl für das herunterfahren gibt. Danke schon mal im vorraus
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
Benutzeravatar
Laurin
Beiträge: 1639
Registriert: 23.09.2004 18:04
Wohnort: /dev/eth0

Beitrag von Laurin »

Das Code-Archiv, dein Freund und Helfer :wink:

StandBy-Modus: http://www.purearea.net/pb/CodeArchiv/W ... StandBy.pb

Setup-Lib mit integriertem Befehl für Shutdown, StandBy, Abmelden etc: http://www.purearea.net/pb/download/use ... lib392.zip

Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Hier mal meine Version von Shutdown:

Code: Alles auswählen

#EWX_LOGOFF   = 0 
#EWX_SHUTDOWN = 1 
#EWX_REBOOT   = 2 
#EWX_FORCE    = 4 
#EWX_POWEROFF = 8 

Procedure Shutdown( flags.l )
  Privileges.TOKEN_PRIVILEGES
  OpenProcessToken_(GetCurrentProcess_(), 40, @hToken)
  Privileges\PrivilegeCount           = 1
  Privileges\Privileges[0]\Attributes = #SE_PRIVILEGE_ENABLED
  LookupPrivilegeValue_(0, "SeShutdownPrivilege", @Privileges\Privileges[0]\Luid)
  AdjustTokenPrivileges_(hToken, 0, @Privileges, 0, 0, 0)
  CloseHandle_(hToken)
  ExitWindowsEx_(flags, 0)
EndProcedure

;Beispiel: ACHTUNG Speichern vorm ausprobieren!!!
Shutdown( #EWX_REBOOT )
Ansonsten findest Du auf PureArea.net noch TS-Shutdown mit Source, eine komplette Anwendung, mit Ruhezustand, Zeitgesteuertem ausschalten usw.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
zigapeda
Beiträge: 1753
Registriert: 06.03.2005 17:22
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von zigapeda »

Ja ok muss ich nachher noch probieren (muss noch alle sachen sichern usw.) sag euch dann ob es geklapt hat aber ich will eigentlich nur einen chatserver programmieren der dann durch einen befehl den computer runterfährt
kluger Mann + kluge Frau = Romanze | dummer Mann + dumme Frau = Schwangerschaft
kluger Mann + dumme Frau = Affäre | dummer Mann + kluge Frau = Shopping <)
laf_bln
Beiträge: 1
Registriert: 16.11.2005 11:20
Wohnort: Berlin
Kontaktdaten:

Hallo ts-soft

Beitrag von laf_bln »

Hallo ts-soft
Habe deine Shutdown Version Ausprobiert. Und finde sie ganz vernünftig. Jedoch sollten vor einem #EWX_REBOOT alle Prozesse durch #EWX_FORCE beendet werden.

Code: Alles auswählen

;Neues Beispiel! 
Shutdown( #EWX_FORCE + #EWX_REBOOT )
Da sonst wie in deinem Beispiel einige Programme zu Meckern anfangen.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Hallo ts-soft

Beitrag von ts-soft »

laf_bln hat geschrieben:Hallo ts-soft
Habe deine Shutdown Version Ausprobiert. Und finde sie ganz vernünftig. Jedoch sollten vor einem #EWX_REBOOT alle Prozesse durch #EWX_FORCE beendet werden.
Man sollte eben das Beenden nicht ohne Grund erzwingen. Stattdessen ist es besser die anderen Programme vorher ordnungsgemäß zu Beenden (man kann auch per Registryeintrag schnelles herunterfahren aktivieren, dann meckern die nicht :mrgreen:).
Aber es ging doch sowieso nur darum, das man unter NT vorher Rechte anfordern muß, bevor man "ExitWindowsEx_" ausführt, ansonsten kann man nämlich nur W9x beenden.
Unter Windows 2003 Server mußte noch den Grund fürs beenden angeben, kann also sein, das es dort auch nicht so funzt, wie Du möchtest. Habs aber noch nicht testen können.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Warum nicht einfach shutdown.exe starten?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Konne hat geschrieben:Warum nicht einfach shutdown.exe starten?
Weil es die auch nicht unter jeder Windowsversion gibt. Ausserdem ist das starten von Fremdprogrammen IMHO meist die schlechteste Variante (gehört eher in ein Batchforum :mrgreen: )
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Nunja aber ich mein es istr auch die unter Windows Versions unabhängigste Variante. Und auserdem ist es so sehr schondende für den PC da er es ja IMMER so macht. Auserdem ist das andere da ihr Api benutzung auch Platformanhängig.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Konne hat geschrieben:Nunja aber ich mein es istr auch die unter Windows Versions unabhängigste Variante
Wie, weil es das nur unter WinXP gibt?
Konne hat geschrieben: Und auserdem ist es so sehr schondende für den PC da er es ja IMMER so macht.
Wie, wenn Du Start/Computer ausschalten wählst, wird dieses Programm gestartet :mrgreen:, ich glaube, das ist selbst für Windows zu umständlich
Konne hat geschrieben: Auserdem ist das andere da ihr Api benutzung auch Platformanhängig.
Stimmt, aber Shutdown.exe gibts unter Linux auch nicht :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten