Frage deutsch
~~~~~~~~~~~~~
Wie kann ich unter Windows den PC herunterfahren oder neu booten
?
Question English
~~~~~~~~~~~~~~
How can I shutdown or reboot the computer from a QBasic program?
Antwort 1
~~~~~~~~~~
[ von Storm-Master ( Storm-Master*gmx.de ) und Neo 386 (
http://www.cwsearch.de
), 26.4.02 - 15.08.2002 ]
Wie kann mein QB-Programm einen Computer-Neustart unter Windows
bewirken?
Dafür gibt es mittlerweile recht viele Möglichkeiten. Hier sind einige
davon:
*** Variante 1 (für DOS)
OUT &H64, &HFE 'wirkt wie der "Affengriff" <Strg + Alt +
Entf>
*** Variante 2 (für Windows 95/98/Me, nicht für NT-basierte
Systeme) • Windows beenden: shell "rundll32
user,exitWindows"
• Windows Neustart: shell "rundll32
user,ExitWindowsExec"
• Windows 98 starten: shell "rundll32 shell32,SHExitWindowsEx
0"
• Windows 98 beenden: shell "rundll32 shell32,SHExitWindowsEx
1"
• Windows 98 PC booten: shell "rundll32 shell32,SHExitWindowsEx
2"
• Windows 98 Explorer neu starten:
shell "rundll32 shell32,SHExitWindowsEx
-1"
• Windows radikal beenden: shell
"rundll32 krnl386.exe,
exitkernel"
Natürlich kommt vor den Befehl das Windowsverzeichnis. Z.B.:
"C:\WINDOWS\"
*** Variante 3 (für Windows NT/2000/XP/.NET, nicht für NT-basierte
Systeme):
Unter Windows NT/2000/XP/.NET funktioniert der Befehl ...
SHELL "RUNDLL32 USER,EXIT WINDOWS"
SYSTEM
... nicht mehr. Dort benötigtst du ein benötigst du dafür ein Interfaceprogramm, das unter Windows läuft. Ein
empfehlenswertes Interfaceprogramm ist EKS
[ExternalKernelSystem] das auf http://www.xxl-software.com zum
Herunterladen bereitsteht. Downloade und teste das mal. Das funktioniert unter
jeder Version von Windows und bietet noch einige andere
Goodies.)
*** Variante 4 (für DOS und Windows)
SUB SystemReset
DEF SEG=&HFFFF
CALL ABSOLUTE(0)
END SUB
'
SUB SystemKaltstart
DEF SEG=&H40
POKE &H72, &H0
POKE &H73, &H0
DEF SEG=&HFFFF
CALL ABSOLUTE(0)
END SUB
'
SUB SystemWarmstart
DEF SEG=&H40
POKE &H72, &H34
POKE &H73, &H12
DEF SEG=&HFFFF
CALL ABSOLUTE(0)
END SUB
Antwort 2
~~~~~~~~~~
Herunterfahren kannst du Ihn (unter Windows) folgendermaßen:
SHELL "START RUNDLL32 User,ExitWindows"
SYSTEM 'Muss unmittelbar danach erscheinen!
Neustart geht mit 'nem Interrupt.
Schau dafür auf http://www.goqb.de in die
Download-Rubrik.
Antwort 3
~~~~~~~~~~
[ von Storm-Master ( Storm-Master*gmx.de ) 3.2002]
.
Willst Du den Computer in den Power Off Modus versetzen, dann lade einfach
von meiner Homepage www.storm-master.de.vu/ das Tool
POWEROFF.EXE herunter - unter "Downloads -> DOS-Tools -> POWEROFF.EXE.
Es lässt sich auch einfach in ein QB-Programm einbinden.
Willst Du einen echten harten Reset erzeugen, dann benutze folgenden Befehl
mit SHELL:
Das "x" am Schluss ersetzen durch:
0 - LOGOFF
1 - SHUTDOWN
2 - REBOOT
4 - FORCE
8 - POWEROFF
Natürlich kommt vor den Befehl der Pfadname des
Windowsverzeichnisses,z.B.:"C:\WINDOWS\"
Antwort 4
~~~~~~~~~~
[ von verschiedenen Teilnehmern des QB-Forums, 8.10.2003 - 13.1.2006 ]
*** Computer herunterfahren und neustarten unter Windows
2000/XP
Unter Windows 2000 und XP aufwärts funktioniert RUNDLL32 nicht. Dort musst Du
SHUTDOWN.EXE nehmen. Und zwar so (es sind jeweils verschiedene Alternativen
genannt):
*** Windows herunterfahren
- SHELL "C:\WINDOWS\system32\shutdown.exe -s"
- SHELL "%WINDIR%\SYSTEM32\SHUTDOWN.EXE -S"
- SHELL "shutdown -s" : SYSTEM
Zusätzlich kann man noch ein -f oder ein -t xx anhängen um Programme ohne
Nachfrage zu beenden bzw. eine Zeiteinstellung vornehmen (z.b -t 10 für 10
sek.).
Die Shutdown.exe, die Du mit dem SHELL-Befehl öffnest, befindet sich im
Ordner System32. Aber nur unter XP; bei Win.98 kannst Du lange nach dieser Datei
suchen.
Mit SHUTDOWN kann man noch mehr machen. Um darüber mehr zu erfahren, musst Du
...\SHUTDOWN.EXE /? eingeben. In dem dann
erscheinenden Hilfetext sind dann alle Parameter und ihre Bedeutungen
erklärt.
*** Externes Tool "POWEROFF"
Zum Ausführen von SHUTDOWN.EXE werden unter Windows XP Administrator-Rechte
benötigt. Wenn Du diese nicht aktivieren willst, kannst Du statt SHUTDOWN.EXE
auch das bewährt externe Tool "POWEROFF" von Jorgen Bosman verwenden. POWEROFF
ist Freeware und kann im Internet heruntergeladen werden. Das Downloadpaket
enthält eine ausführliche Bedienungsanleitung. Die Kommandozeilen-Optionen
kannst Du mit POWEROFF /? erfragen.