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-Neustart

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



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 03.05.2006, 17:15    Titel: PC-Neustart Antworten mit Zitat

Hallo. Gibt es irgendeinen Funktionsaufruf, mit dem man unter FB den PC neustarten kann. Ich weiß, dass

rundll32.exe shell32.dll,SHExitWindowsEx 1

den Computer herunterfährt. Aber er soll neustarten. Lässt sich das irgendwie realisieren? Geht auch, wenn er irgendwie abgeleiert wird. Haupsache, er startet danach wieder. Ich hab' übrigens win98.
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
otti



Anmeldungsdatum: 28.02.2005
Beiträge: 112
Wohnort: Wildberg

BeitragVerfasst am: 03.05.2006, 17:27    Titel: Antworten mit Zitat

->QBMonFAQ


da steht des ausführlich drin,einfach mach suchen lächeln

EDIT:http://www.antonis.de/faq/qbmonfaq-dateien/369780414.html


grüße otti
_________________
Gute Musik lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 03.05.2006, 17:50    Titel: Antworten mit Zitat

aaaaaaaaaaaaaaahhhhhhhhhhhhhhhhaaaaaaaaaa! Danke!

rundll32 user,ExitWindowsExec

Klappt auch! (Ist zwar reinste Zeitverschwendung, aber wenigstens klappt's lächeln Du weißt ja garnit wie lang mein PC zum booten braucht weinen )
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 03.05.2006, 20:18    Titel: Antworten mit Zitat

raph ael hat Folgendes geschrieben:
..Ich hab' übrigens win98..
Nun gut..
raph ael hat Folgendes geschrieben:
Du weißt ja garnit wie lang mein PC zum booten braucht weinen )
Jetzt wärs natürlich interessant zu erfahren, was für ein Maschinchen du mit diesem Leichtgewicht fütterst..
Vielleicht läßt sich ja an den Einstellungen was drehen.
(Diskettenlaufwerksuche beim Booten abschalten etc.pp.usw..)
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 04.05.2006, 19:29    Titel: Antworten mit Zitat

Hmm... Hmm.... Eigentlich sollten ALLE Deal gemacht Computer diesen Befehl fressen. Aber bei manchen Systemen hilft rundll einfach nichts... Vieleicht programmier ich ein Codesnippet, das die Betriebssystemsversieon (puh, langes Wort lächeln ) erfasst, und für jede einen anderen reboot Befehl ausführt... Oder b) ich gib meinen Programm power_off mit und die Sache erledigt sich für alle Systeme... Oder c) ich lade die Auslagerungsdatei in den Arbeitsspeicher Zunge rausstrecken ... Aber... Ist die Auslag. Datei überhaupt groß genug? Startet das den PC auch neu? mit den Augen rollen Tausend Gedanken... Aber jetzt mal i ernst: Eignet sich dafür wirklich die Auslagerungsdatei, wenn ja, wo finde ich die, wenn nein, welche Datei eígnet sich dafür? Oder soll ich das berühmt-berüchtigte "ASM-(Manchmal)System-Killer-Codesnippet" verwenden? Hammer Aber das kann ja genauso die Festplatte formatieren! (KEIN Scherz, kann wirklich passieren)
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 04.05.2006, 19:35    Titel: Antworten mit Zitat

Hallo,

dieser Code, der auf allen Windowsversionen problemlos funktioniert, sollte sich mit recht geringem Aufwand nach FreeBASIC portieren lassen: http://www.activevb.de/tipps/vb6tipps/tipp0418.html
Ein brutales Abschießen z.B. mit OUT etc. ist Käse!

Viele Grüße!
Sebastian
_________________

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
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 04.05.2006, 20:02    Titel: Antworten mit Zitat

Wieso ist ein brutales abschmieren Käse?happy

Out &H64,&hFE

Erzielt die gleiche Wirkung wie Reset.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 04.05.2006, 20:08    Titel: Antworten mit Zitat

Code:
'Herunterfahren+Neustart
'Wehe es funzt nit! Ich kann eben kein VB!

Declare Function ExitWindowsEx Lib "user32.dll" ( _
     ByVal uFlags As Long, ByVal dwReserved As Long) As Long
     
dim pk as string
dim nix as long

Print "Neustart=1, Herunterfahren=2"
input pk

select case pk
    case "1"
        nix=ExitWindowsEx(2,0)
    case "2"
        nix=ExitWindowsEx(1,0)
End select


Es funzt nicht. Ausgabe
Zitat:

Command executed:
"d:\Programme\FreeBasic\fbc.exe" "C:\WINDOWS\FBIDETEMP.bas"

Compiler output:
C:\WINDOWS\FBIDETEMP.o:fake:(.text+0x8e): undefined reference to `EXITWINDOWSEX@8'
C:\WINDOWS\FBIDETEMP.o:fake:(.text+0xb2): undefined reference to `EXITWINDOWSEX@8'

Results:
Compilation failed

System:
FBIde: 0.4.6
fbc: FreeBASIC Compiler - Version 0.16 for win32 (target:win32)
OS: Windows 98 ( A )

Das sollte alles aussagen.
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 04.05.2006, 20:13    Titel: Antworten mit Zitat

Warum überhaupt ein eigenes Programm schreiben:
http://www.zdnet.de/downloads/prg/3/k/de0D3K-wc.html
Kurt Zimmermann hat doch schon eine elegante Lösung fertig.
Ich benutze ShutDownPro 1.38 und bin sehr zufrieden damit.
Schon, weil ich per DoppelKlick den Benutzer wechseln kann..
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 04.05.2006, 20:22    Titel: Antworten mit Zitat

So schnell war noch nie ein Programm auf meinem PC und wieder Weg... Nach 10 Strg+Alt+Entf's und 10 Task beenden's habe ich meinen Prozessor davon erlöst. durchgeknallt Ich brauche die Reboot funktion für ein FB - Programm. Und die will nit. weinen
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 04.05.2006, 20:28    Titel: Antworten mit Zitat

Hallo.

Bei sämtlichen deklarierungen von externen Libs musst du immer Alias schreiben.

Code:

Declare Function ExitWindowsEx Lib "user32.dll" Alias "ExitWindowsEx" ( _
     ByVal uFlags As Long, ByVal dwReserved As Long) As Long


So müsste es eigentlich klappen.

Michael
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 04.05.2006, 20:40    Titel: Antworten mit Zitat

Yeah!!! Es klappt USA! USA! zwinkern
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 04.05.2006, 23:16    Titel: Antworten mit Zitat

FYI: Ich habe mal die KommandozeilenOption /l (abmelden) getestet..
Über Start --> Ausführen: klappt astrein
Über Batch: klappt auch
Über VBS: geht auch
Über FB:
Egal, ob ich es mit Run oder Exec probiere, er machts nicht, wo da der Fehler ist,
kann ich nicht sagen und das bedaure ich sehr verwundert
(Jedenfalls ist er nicht hängengeblieben und bei Exec hat er brav 0 (also kein Fehler) gemeldet..)
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 04.05.2006, 23:23    Titel: Antworten mit Zitat

run und exec funktionieren nur wenn die executable direkt angegeben wird, mit pfad etc. Interne Befehle oder Solche, die über die PATH-Variable erst gefunden würden werden über Exec auf jeden fall nicht angesprochen, bei run bin ich mir nicht sicher. Über SHELL sollte es auf jeden fall gehen..
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 04.05.2006, 23:30    Titel: Antworten mit Zitat

Ja, ja, das habe ich ja alles gemacht, nur Shell habe ich nicht ausprobiert,
aber das hole ich gleich nach
Bis denn denn..
[Edit]
Nee, auch damit nicht
Code:
'Ä=Ž , Ö=™ , Ü=š ; ä=„ , ö=”, ü=? , ß=á ,§=õ , ©=¸
'Aus ShutDownPro:
'Sie können ShutDownPRo auch von der Kommando-Zeile ausführen (Script...)
'
'Beispiele hierzu :
'c:\Windows\ShutDownPro\ShutDownPro.exe/s/f/p
'bedeutet, dass ShutDownpro beim Start das System herunterfährt mit dem Force-Befehl
'und den Computer ausschaltet
'oder
'c:\Windows\ShutDownPro\ShutDownPro.exe/l/f
'bedeutet, dass ShutDownpro beim Start das System neu anmeldet mit
'dem Force-Befehl
'Die einzelnen Parameter:
'/l                           LogOff    sofort nach Start vom ShutDownPro
'/p                           PowerOff  sofort nach Start vom ShutDownPro
'/b                           StandBy   sofort nach Start vom ShutDownPro
'/s                           ShutDown  sofort nach Start vom ShutDownPro
'/r                           Reboot    sofort nach Start vom ShutDownPro
'/h                           Hibernate sofort nach Start vom ShutDownPro
'/f                           Force
Option Explicit
Const ShutDown="C:\WinSubC\DeskTopf\ShutDownPro\ShutDownPro.Exe"
Dim i
'i=Exec(Environ$("ComSpec") &" /c" &ShutDown, " /l /f")
'Run Environ$("ComSpec") &" /c" &ShutDown & " /l /f"
Shell ShutDown & " /l /f"
?Environ$("ComSpec") &" /c " &ShutDown & " /l /f"
?"i="; i
Sleep
End
..falls jemand noch damit spielen möchte..
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 05.05.2006, 01:38    Titel: Antworten mit Zitat

und wenn du den befehl einfach so in die konsole haust?
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 05.05.2006, 12:22    Titel: Antworten mit Zitat

Ich habe ShutdownPro im SysTray(Schau dir meinen DeskTop an)..
http://fileanchor.com/22236-r.jpg
Ich brauche die Optionen nicht und habe das nur ausprobiert, weil ich zeigen wollte,
daß ShutDownPro nicht so schnell vom PC verschwinden muß, wie bei raph ael..
Leider hat es nicht geklappt traurig
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 05.05.2006, 16:15    Titel: Antworten mit Zitat

Nee. Wie ich SDP installiert habe, lief mein (ohnehin schon langsamer) Pc superlangsam. Echt.
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 05.05.2006, 16:22    Titel: Antworten mit Zitat

Glaub ich dir ja..
Deshalb habe ich doch die Geschichte mit den BefehlszeilenOptionen probiert.
Da muß das Programm zwar installiert sein, aber es muß ja nicht aktiv sein..
Ach, wenn du eine Möglichkeit gefunden hast, dann ist es ja auch egal..
..obwohl, interessant wäre es schon, herauszufinden, warum es unter FB nicht geht.
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
raph ael



Anmeldungsdatum: 12.04.2006
Beiträge: 472

BeitragVerfasst am: 05.05.2006, 16:46    Titel: Antworten mit Zitat

Zitat:
Out &H64,&hFE


Häh,häh,häh... grinsen Klappen sollte ExitWindowsEx ja, die Optionen stehen in der Win32.hlp und in der API Guide... Es erscheint zwar eine Msg das eine Dosbox noch aktiv ist, aber heruntergefahren wird der PC doch nicht

Herunterfahren v.2.0:
Code:
'Herunterfahren+Neustart
#include "windows.bi"
     
dim pk as string
dim nix as long

Print "Neustart=1, Herunterfahren=2"
input pk

select case pk
    case "1"
        nix=ExitWindowsEx(EWX_FORCE Or EWX_REBOOT,0)
    case "2"
        nix=ExitWindowsEx(EWX_FORCE Or EWX_SHUTDOWN   ,0)
End select

Genauso steht's in der API Guide und die Konstanten EWX_wasauchimmer sind in der winuser.bi definiert, die von windows.bi inkludiert wird und von meinem Proggi inkludiert wird... Ach...

Hat sich erledigt...
_________________
Zitat:
1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. 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