Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

PC ausschalten mit Eingabeaufforderung

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
The real Agent D



Anmeldungsdatum: 24.11.2005
Beiträge: 605
Wohnort: Hall i. T.

BeitragVerfasst am: 31.01.2006, 15:59    Titel: PC ausschalten mit Eingabeaufforderung Antworten mit Zitat

Hi,

ich will eine Anwendung programmieren, die per Eingabeeaufforderung den PC ausschaltet, weiß zufällig jemand, wie das machbar währe?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
OdinX



Anmeldungsdatum: 29.07.2005
Beiträge: 253
Wohnort: SG Schweiz

BeitragVerfasst am: 31.01.2006, 16:42    Titel: Antworten mit Zitat

wie wär's wenn du bei der eingabeaufforderung einfach "shutdown -s -t 00" eingibst?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
otti



Anmeldungsdatum: 28.02.2005
Beiträge: 112
Wohnort: Wildberg

BeitragVerfasst am: 31.01.2006, 17:46    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 31.01.2006, 21:00    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 31.01.2006, 21:02    Titel: Antworten mit Zitat

ShutDown gibt's sogar nur unter Windows XP. lächeln
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 31.01.2006, 21:06    Titel: Antworten mit Zitat

So hab ich's auch gemeint, Windows XP kommt ja vom NT Stamm und Win 95/98/Me vom Dos Stamm.
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 31.01.2006, 21:25    Titel: Antworten mit Zitat

Mein Posting sollte heißen "Nicht bei Windows 2000 und auch nicht bei NT, sondern NUR bei Windows XP". zwinkern
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 01.02.2006, 00:30    Titel: Antworten mit Zitat

Hey Herbert lächeln

Schön dich mal wieder hier im Forum zu sehn nach so vielen Jahren!
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 01.02.2006, 18:16    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 01.02.2006, 20:09    Titel: Antworten mit Zitat

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 zwinkern)
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Thomas Antoni



Anmeldungsdatum: 12.10.2004
Beiträge: 220
Wohnort: Erlangen

BeitragVerfasst am: 01.02.2006, 20:28    Titel: Dazu habe ich mir Folgendes für die MonsterFAQ vorgemerkt... Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The real Agent D



Anmeldungsdatum: 24.11.2005
Beiträge: 605
Wohnort: Hall i. T.

BeitragVerfasst am: 02.02.2006, 15:41    Titel: Antworten mit Zitat

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. lachen

Jedenfalls, Danke für alle Antworten! happy
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz