Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 03.05.2006, 17:15 Titel: PC-Neustart |
|
|
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 |
|
 |
otti

Anmeldungsdatum: 28.02.2005 Beiträge: 112 Wohnort: Wildberg
|
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 03.05.2006, 17:50 Titel: |
|
|
aaaaaaaaaaaaaaahhhhhhhhhhhhhhhhaaaaaaaaaa! Danke!
rundll32 user,ExitWindowsExec
Klappt auch! (Ist zwar reinste Zeitverschwendung, aber wenigstens klappt's Du weißt ja garnit wie lang mein PC zum booten braucht ) _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 03.05.2006, 20:18 Titel: |
|
|
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 ) | 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 |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 04.05.2006, 19:29 Titel: |
|
|
Hmm... Hmm.... Eigentlich sollten ALLE Computer diesen Befehl fressen. Aber bei manchen Systemen hilft rundll einfach nichts... Vieleicht programmier ich ein Codesnippet, das die Betriebssystemsversieon (puh, langes Wort ) 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 ... Aber... Ist die Auslag. Datei überhaupt groß genug? Startet das den PC auch neu? 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? 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 |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 04.05.2006, 20:02 Titel: |
|
|
Wieso ist ein brutales abschmieren Käse?
Out &H64,&hFE
Erzielt die gleiche Wirkung wie Reset. |
|
Nach oben |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 04.05.2006, 20:08 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 04.05.2006, 20:13 Titel: |
|
|
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 |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 04.05.2006, 20:22 Titel: |
|
|
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. Ich brauche die Reboot funktion für ein FB - Programm. Und die will nit.  _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 04.05.2006, 20:28 Titel: |
|
|
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 |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 04.05.2006, 20:40 Titel: |
|
|
Yeah!!! Es klappt USA! USA!  _________________
Zitat: | 1000 Yottabytes sind absurd. 640 Yottabytes sollten genug für jeden sein. |
|
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 04.05.2006, 23:16 Titel: |
|
|
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
(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 |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 04.05.2006, 23:23 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 04.05.2006, 23:30 Titel: |
|
|
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 |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 05.05.2006, 01:38 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 05.05.2006, 12:22 Titel: |
|
|
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
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 |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 05.05.2006, 16:15 Titel: |
|
|
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 |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 05.05.2006, 16:22 Titel: |
|
|
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 |
|
 |
raph ael
Anmeldungsdatum: 12.04.2006 Beiträge: 472
|
Verfasst am: 05.05.2006, 16:46 Titel: |
|
|
Häh,häh,häh... 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 |
|
 |
|