 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
The real Agent D

Anmeldungsdatum: 24.11.2005 Beiträge: 605 Wohnort: Hall i. T.
|
Verfasst am: 31.01.2006, 15:59 Titel: PC ausschalten mit Eingabeaufforderung |
|
|
Hi,
ich will eine Anwendung programmieren, die per Eingabeeaufforderung den PC ausschaltet, weiß zufällig jemand, wie das machbar währe? |
|
Nach oben |
|
 |
OdinX

Anmeldungsdatum: 29.07.2005 Beiträge: 253 Wohnort: SG Schweiz
|
Verfasst am: 31.01.2006, 16:42 Titel: |
|
|
wie wär's wenn du bei der eingabeaufforderung einfach "shutdown -s -t 00" eingibst? |
|
Nach oben |
|
 |
otti

Anmeldungsdatum: 28.02.2005 Beiträge: 112 Wohnort: Wildberg
|
Verfasst am: 31.01.2006, 17:46 Titel: |
|
|
ich kenn den DOS befehl jetzt nicht..aber den könntest du ja ganz einfach in Qbasic einbinden mit SHELL
Code: | SHELL"shutdown -s -t 00" |
grüße otti |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 31.01.2006, 21:00 Titel: |
|
|
Wie immer die Obligatorische Frage:
Welches Betriebssystem?
"shutdown" ist übrigens kein Dos Befehl!
Es ist ein Programm, das 32 Bit ist und in der Text Box läuft.
shutdown gibt es soviel ich weiss aber nur bei NT und folgende (also NT 2000 XP etc., einfach nicht Win 95 98 Me) _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
 |
Devilkevin aka Kerstin

Anmeldungsdatum: 11.11.2004 Beiträge: 2532 Wohnort: nähe Mannheim
|
Verfasst am: 01.02.2006, 18:16 Titel: |
|
|
otti hat Folgendes geschrieben: | ich kenn den DOS befehl jetzt nicht..aber den könntest du ja ganz einfach in Qbasic einbinden mit SHELL
Code: | SHELL"shutdown -s -t 00" |
grüße otti |
Gibts sowas auch für Neustart/Standby ? _________________ www.piratenpartei.de |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 01.02.2006, 20:09 Titel: |
|
|
powercfg sieht für den Standymodus interrasent aus:
M$ Website
Durch runter setzen der Zeit, könnte man den Rechner in denn Standby Zustand bringen (ich weiss, es grenzt an Pfusch, aber es ist ja auch nur ein Idee).
Zum Neustart:
shutdown hat dafür das Parameter "-r", siehe "shutdown -?".
Komplett sollte es etwa so heissen:
Code: | SHELL "shutdown -r -t 00" |
(nicht getestet, ich will ja noch Surfen ) _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
Thomas Antoni

Anmeldungsdatum: 12.10.2004 Beiträge: 220 Wohnort: Erlangen
|
Verfasst am: 01.02.2006, 20:28 Titel: Dazu habe ich mir Folgendes für die MonsterFAQ vorgemerkt... |
|
|
Dazu habe ich mir Folgendes für die MonsterFAQ vorgemerkt...
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 3 (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 http://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:
shell "rundll32.exe shell32.dll,SHExitWindowsEx x"
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
Computer neustarten:
- SHELL "%WINDIR%\SYSTEM32\SHUTDOWN.EXE -R"
- SHELL "c:\windows\system32\shutdown -r -t 0"
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.
--------------------------------------------------------------------------------
Frage deutsch
~~~~~~~~~~~~~~~~
Wie schalte ich das ATX-Netzteil aus?
Question English
~~~~~~~~~~~~~~~~
How to switch off the AT power supply from QB?
Antwort 1
~~~~~~~~~~~~~~~~
[ von Thomas Antoni Unter Verwendung von Ausschnitten aus der c't 2003/11, Seite 198-201 ]
Der folgende sehr informative c't-Artikel beschreibt, wie man über Batch -
Dateien Routine-Jobs automatisch ablaufen lassen und danach den PC-
herunterfahren kann. Anschließend sorgt das Batch-Programm dann für ein
Ausschalten des ATX - Netzteils. Der Anwender muss nur einmal den Batch starten
und kann dann Kaffetrinken oder in den Feierabend gehen.
Durch Verwendung des SHELL-Befehls sind alle angegebenen Problemlösungen
auch mit QBasic verwendbar.
Zum Herunterfahren von Windows 9x verwendest Du z.B. einfach den Befehl
shell "rundll32 shell32,SHExitWindowsEx 1"
statt rundll32 shell32,SHExitWindowsEx 1
*** Einführung
Häufig will man vor dem Herunterfahren von Windows den Computer noch einige
Routinejobs ausführen lassen, z.B. einen Virenscanner beauftragen oder ein
Daten-Backup durchführen. Angenehm wäre es, wenn man vorher schon den Computer
velassen und einer Batch-Datei die gesamte Arbeit inklusive dem Herunterfahren
des Systems übergeben könnte.
Dabei kann es sinnvoll sein, dass der Batch nach dem Aufruf eines Programms
erst dann weitermacht, wenn das Programm komplett abgearbeitet ist. Das erreicht
man durch Aufruf des jeweiligen Programms aus der Batch-Datei heraus mit
"Start /w Programm.exe".
Aber wie kann nun das System herunterfahren und zu guter Letzt das ATX-Netzteil
durch den Batch auschalten lassen? Dazu wollen wir im Folgenden einige
Problemlösungen für die verschiedenen Windows-Versionen geben.
*** Windows 9x ausschalten
Unter Windows 9x gibt es keinen eigenständigen Befehl zum Herunterfahren von
Windows. Stattdessen kann man das Programm RunDLL32.exe zum Aufrufen einer DLL-
Datei nutzen, die mit dem passenden Parameter das Gewünschte erledigt.
Bei dem mit einem Komma - ohne Leerzeichen - angehängten Parameter achtet
Windows auf Groß-/Kleinschreibung. Das Kommando
rundll32.exe shell32.dll,SHExitWindowsEx 1
oder
rundll32 shell32,SHExitWindowsEx 1
oder
Rundll32.exe user,ExitWindows
sorgt dafür, dass Windows schlicht herunterfährt. Sollte sich der Rechner trotz
ATX-Netzteil danach nicht ausschalten, hilft vielleicht das Ändern der
angehängten Zahl auf 8.
(Anmerkung von Thomas Antoni: Unter meinem alten Windows 95A funktionierte nur
das 3. der oben angegebenen Kommandos)
Allerdings scheitert das, wenn noch Programme offen sind, die beipielsweise
auf das Speichern geöffneter Dokumente warten. Addiert man jedoch eine 4 zur
angehängten Zahl, fährt Windows ohne Rücksicht auf Verluste einfach herunter.
Doch Vorsicht: Aus der Shutdown.bat wird leicht eine Art Shootdown.bat, denn
nicht gespeicherte Daten gehen dabei verloren. Deshalb ist es immer der bessere
Weg, vor dem Aufruf der Batch-Datei alle noch laufenden Anwendungen zu beenden.
Die RunDLL.exe kann übrigens noch viel mehr, wie Du im Eintrag -> "Wie greife
ich auf die Windows Betriebssystemfunktionen zu?" in der Kategorie -> "QBasic
unter Windows ..." nachlesen kannst.
*** Windows XP ausschalten
Unter Windows XP ist kein kryptischer Befehl nötig. Stattdessen gibt es hier ein
Programm namens Shutdown.exe, das im Windows-Verzeichnis im Ordner System32
liegt. Damit es korrekt funktioniert, muss jedoch Service-Pack 1 installiert
sein - sonst schaltet sich der PC nach dem Herunterfahren nicht aus. Zum
sofortigen Herunterfahren von XP lautet das Kommando
shutdown -s -t 00
Die Zahl nach dem "-t" ist die Anzahl der Sekunden, die Windows mit dem
Herunterfahren warten soll. Wer wie im letzten Abschnitt erwähnt alle Programme
vor dem Herunterfahren ohne Rüchsicht auf Verluste abschießen möchte, kann
zusätzlich den Parameter "-f" anhängen. Weitere Parameter verrät wie gewohnt
"shutdown /?" .
Wer stattdessen nur einzelne Prozesse beenden möchte, kann den Befehl "Taskkill"
nutzen, mehr dazu verrät "taskkill /?" auf der Kommandozeile.
*** Windows 2000 und NT ausschalten
Den XP-Vorgängern fehlen Bordmittel zum Herunterfahren. Wer zusätzlich über XP
verfügt, kann zwar dessen Shutdown.exe auch zum Herunterfahren von Windows 2000
nutzen, doch alle anderen gucken in die Röhre. Abhilfe schafft die Freeware
"Poweroff", die unter allen Windows-Versionen läuft. Zum Ausschalten reicht das
einfache Kommando
Poweroff shutdown .
Der Parameter "-force" beendet brachial und ohne Rückfrage noch geöffnete
Anwendungen und lässt Anwendungen nicht gespeicherte Daten verwerfen.
Für NT steht eine weitere, mit der XP-Version nicht identische Shutdown.exe
in einem knapp 7 MByte goßen Resource Kit bei Microsoft zum Download bereit.
Vorrausetzung für das korrekte Funktionieren ist Service Pack 6, sonst schaltet
sich der PC nicht aus. Das Programm läuft auch unter Windows 2000. Der Aufruf
heißt hier
Shutdown /L /T:00 .
Der Parameter zum Herunterfahren ohne Rücksicht auf Verluste heißt hier "/C" .
Wer nicht das ganze Resource Kit installieren will, kann die Shutdown.exe auch
einzeln herausoperieren. Zuerst legt man dafür einen temporären Ordner an, der
die Daten aufnehmen kann, etwa C:\Temp. Auf der Kommadozeile entpackt man nun
das Kommando
c:\downloads\sp4rk_i386 /t:c:\temp /c
den kompletten Inhalt der heruntergeladenen Datei in den neuen Ordner. Dort
öffnet man als Nächstes das Archiv "sp4rk86.cab" und extrahiert via Kontextmenü
daraus die Datei "NETMGMT_NETADMIN_shutdown.exe". Bei Windows 2000 geht das mit
Bordmitteln, NT-Nutzer brauchen einen Entpacker - wer keinen hat, kann auf der
Shareware-Seiten von www.heise.de unter mehreren wählen. Die extrahierte Datei
kann man anschließend noch in Shutdown.exe umbenennen.
Für Windows 2000 gibt es ebenfalls ein Resource Kit, welches die Shutdown.exe
enthält, jedoch ist das kostenpflichtig.
*** Windows schlafen legen (Standby-Modus aktivieren)
Wer seinen Rechner nicht vollkommen ausschalten, sondern nur in den Ruhestand
schicken möchte, sucht unter allen Windows-Versionen vergebens nach Bordmitteln
für die Kommandozeile. Stattdessen hilft wiederum die bereits erwähnte Freeware
"Poweroff" wieiter. Das Kommando lautet dann
Poweroff hibernate .
Alternativ versetzt der Parameter "standby" den PC eben in den Standby-Modus -
oder auch nicht. Was genau nach dem Aufruf einer der beiden Parameter passiert,
unterscheidet sich leider je nach Windows-Version und -Konfiguration sowie je
nach BIOS-Einstellungen. In der ACPI-Norm sind ja für die Stromsparmodi
vielfältige "Sleep States" definiert. _________________ +++ Die beliebte QBasic CD-ROM von QBasic.de - 670 MB QBasic-Stuff mit komfortabler HTML-Oberfläche. Für nur 5 EUR bestellbar auf www.antonis.de/qbcdueb.htm +++ |
|
Nach oben |
|
 |
The real Agent D

Anmeldungsdatum: 24.11.2005 Beiträge: 605 Wohnort: Hall i. T.
|
Verfasst am: 02.02.2006, 15:41 Titel: |
|
|
Als erstes, bitte ich um Entschuldigung, dass ich so lange nicht mehr beim Forum vorbeigeschaut habe, und daher nicht wusste wie viele Antworten da deherkahmen.
Danke für all die vielen Antworten, ich werde mich bei jedem mal PC herunterfahren, vor lauter Möglichkeiten, nicht mehr entscheiden können, wie ich das anstellen soll.
Jedenfalls, Danke für alle Antworten!  |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|