Computer herunterfahren (JvCreateProcess, ShellOpen, ...)
spacer
Autor Nachricht
Goaznic
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23

Win XP, Win 7
Delphi 5, Delphi 10
BeitragVerfasst: Mo 14.11.11 11:01 
Hi.
Kennt sich zufällig jemand mit der Jedi-Komponente JvCreateProcess aus?

Ich habe folgendes Ziel:

Der Computer soll nach einer bestimmten Zeit oder zu einer bestimmten Uhrzeit heruntergefahren werden.
Mein Ausbilder hat mir nun als Tipp "JvCreateProcess" und ShellOpen, möglich sind aber sicherlich auch andere Wege.
Diese beiden soll ich aber einfach mal testen.

Bei dem JvCreateProcess bin ich so weit, dass er mir die cmd.exe öffnet - war ja nicht schwer, einfach unter "CommandLine" den entsprechenden Link eingeben.
Unter "ConsoleOptions" habe ich "coOwnerData" auf True gesetzt.
Wenn ich nun aber eingebe: Shutdown -s -f -t60 ,dann passiert nichts. es kommt lediglich eine Info, die dieser hier ähnlich ist:



(hab nicht wirklich viel Ahnung davon)
Muss ich bei "CurrentDirectory" vielleicht einen anderen Link angeben? Oder muss ich eventuell sogar etwas anderes eingeben?
Der Ausbilder meinte auch, man könne sich das alles irgendwie in einem Memo anzeigen lassen, indem man "CoRedirect" auf true setzt.
Ich steh noch ziemlich auf'm Schlauch. :/

Und zu ShellOpen kann ich irgendwie gar nichts finden.

Ideen, wie man das sonst noch realisieren könnte, nehme ich auch gerne an.

Moderiert von user profile iconNarses: Bild als Anhang hochgeladen.
Einloggen, um Attachments anzusehen!
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Luckie
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 11803
Erhaltene Danke: 146

WindowsXP Professional SP2
BDS2006, VS C++ Express, Eclipse (Java), Flex (Flash, AS)
BeitragVerfasst: Mo 14.11.11 11:48 
Und was liefert die Forensuche nach "windows runterfahren"?

_________________
Gruß Michael
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Goaznic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23

Win XP, Win 7
Delphi 5, Delphi 10
BeitragVerfasst: Mo 14.11.11 11:58 
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Und was liefert die Forensuche nach "windows runterfahren"?


Da finde ich als Alternative dieses "ExitWindowsEx". Da hab ich auch etwas in einem Buch zu stehen. Muss ich mir mal anschauen.
Und ich finde auch noch "ShellExecute". Das ist dann bestimmt dieses ShellOpen, oder?

Aber am wichtigsten ist mir immer noch JvCreateProcess. Und da finde ich leider nichts zu, was mir hilft. Vielleicht bin ich auch einfach grade zu doof. :D
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Moderator
Beiträge: 8117
Erhaltene Danke: 250

Win XP, Win 7
D7 PE, RAD Studio 2009 Professional
BeitragVerfasst: Mo 14.11.11 12:12 
Alles, was ich zu dem Thema gelesen habe war: Lieber die API (ExitWindowsEx) dazu nutzen, als irgendwelche anderen Programme wie z.B. shutdown.exe. Hat wohl auch damit zu tun, dass der Weg über shutdown.exe nur dann funktioniert, wenn der User als Administrator angemeldet ist. Das ist spätestens seit Vista ein absolutes No-Go.

Warum jetzt zum Starten der shutdown.exe jetzt noch was aus einer zusätzlichen Komponentensammlung benutzt werden soll, ist mir absolut schleierhaft. Wozu soll das gut sein? :gruebel:

_________________
Oel ngati kameie.

Für diesen Beitrag haben gedankt: Goaznic
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Goaznic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23

Win XP, Win 7
Delphi 5, Delphi 10
BeitragVerfasst: Mo 14.11.11 12:18 
Ok, wenn "ExitWindowsEx" eure Empfehlung ist, dann werd ich das mal versuchen.
Falls mir Fragen aufkommen sollten melde ich mich hier wieder zu Wort. =)
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
LSanchez
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26
Erhaltene Danke: 8



BeitragVerfasst: Mo 14.11.11 12:19 
Ich benutze einfach ShellExecute

ausblenden Delphi-Quelltext markieren
1:
ShellExecute(Application.Handle,'open', 'shutdown.exe', '-r -t 01 -f', nil, SW_SHOWNORMAL) ;

Für diesen Beitrag haben gedankt: Goaznic
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Luckie
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 11803
Erhaltene Danke: 146

WindowsXP Professional SP2
BDS2006, VS C++ Express, Eclipse (Java), Flex (Flash, AS)
BeitragVerfasst: Mo 14.11.11 12:39 
user profile iconLSanchez hat folgendes geschrieben Zum zitierten Posting springen:
Ich benutze einfach ShellExecute

ausblenden Delphi-Quelltext markieren
1:
ShellExecute(Application.Handle,'open', 'shutdown.exe', '-r -t 01 -f', nil, SW_SHOWNORMAL) ;

Du hast aber gelesen, was Gausi dazu geschrieben hat? Dein Programm wird bei mir nicht funktionieren. Mein Rechner hat Windows XP und ich arbeite generell nur als einfacher Benutzer. shutdown.exe benötigt aber administrative Rechte. Und die werde ich deinem Programm für so etwas ganz bestimmt nicht geben.

_________________
Gruß Michael
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
baka0815
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 452
Erhaltene Danke: 10

Win XP, Debian GNU/Linux
Delphi 2007 Enterprise, Java, C#
BeitragVerfasst: Mo 14.11.11 12:50 
Abgesehen davon verwendet ihr UNIX/LINUX Notation für die Parameter, Windows benötigt hier Schrägstriche "/" statt der Bindestriche "-"!

Also nicht -r -t 01 -f, sondern /r /t 01 /f

Für diesen Beitrag haben gedankt: Goaznic
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Luckie
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 11803
Erhaltene Danke: 146

WindowsXP Professional SP2
BDS2006, VS C++ Express, Eclipse (Java), Flex (Flash, AS)
BeitragVerfasst: Mo 14.11.11 12:56 
Unter Windows kann man beides nehmen bei Microsoft Programmen, glaube ich.

_________________
Gruß Michael
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Goaznic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23

Win XP, Win 7
Delphi 5, Delphi 10
BeitragVerfasst: Di 15.11.11 11:14 
Ist
ausblenden Delphi-Quelltext markieren
1:
ExitWindowsEx(EWX_SHUTDOWN,0);

alles, was ich eingeben muss? Quasi als Befehl, wenn ich auf einen Button Klick z.B.?
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Moderator
Beiträge: 8117
Erhaltene Danke: 250

Win XP, Win 7
D7 PE, RAD Studio 2009 Professional
BeitragVerfasst: Di 15.11.11 11:40 

_________________
Oel ngati kameie.

Für diesen Beitrag haben gedankt: Goaznic
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Goaznic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23

Win XP, Win 7
Delphi 5, Delphi 10
BeitragVerfasst: Di 15.11.11 11:52 
Oh, danke! Das ist super, genau sowas hab ich den ganzen Morgen gesucht! :)
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Goaznic Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23

Win XP, Win 7
Delphi 5, Delphi 10
BeitragVerfasst: Fr 18.11.11 10:46 
Okay, also nach derzeitigem Stand werde ich die Aufgabe mit allen drei möglichen Wegen lösen.
Um hier nicht allzu viel Chaos rein zu bringen, kurz ein Zwischenbericht:

ExitWindowsEx: Hierzu habe ich nun bereits eine super Beschreibung erhalten (vielen Dank nochmal an Gausi!) und ich habe dazu auch noch etwas in einem Delphi-Kochbuch stehen. Das sollte also genug an Infos sein - ein bisschen was kann ich mir ja auch selbst beibringen.

(JvCreateProcess: Arbeite ich - wenn überhaupt - ganz am Schluss mit.)

ShellExecute: Frage hierzu: Wenn die Zeit bis zum Shutdown variabel sein soll ... Kann man das irgendwie da mit einbauen? Oder muss ich dass dann über einen Timer laufen lassen (dann würde er, nachdem der Timer abgelaufen ist, sofort Shutdown starten)?
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15833
Erhaltene Danke: 737

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Fr 18.11.11 14:47 
Ab Vista gibt es mit InitiateShutdown und InitiateSystemShutdownEx auch komfortable Möglichkeiten eine Zeit und eine Botschaft anzugeben.

Für diesen Beitrag haben gedankt: Goaznic
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Luckie
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starhalf offtopic starofftopic star
Beiträge: 11803
Erhaltene Danke: 146

WindowsXP Professional SP2
BDS2006, VS C++ Express, Eclipse (Java), Flex (Flash, AS)
BeitragVerfasst: Fr 18.11.11 15:08 
InitiateSystemShutdownEx gibt es schon seit Windows 2000. Damit lässt sich auch ein Rechner remote runterfahren. Und was das Konsolenprogramm Shutdown angeht, einfach mal in der Konsole aufrufen und sich die Hilfe dazu durchlesen.

_________________
Gruß Michael

Für diesen Beitrag haben gedankt: Goaznic
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
JuniorProgrammierer86
Hält's aus hier
Beiträge: 13



BeitragVerfasst: Mi 01.02.12 18:37 
hast du es jetzt hinbekommen?? stehe nämlich im studium vor dem selben schlamassel!! hehe
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 15833
Erhaltene Danke: 737

XP, W7 x64 (Chrome, IE9, FF), Debian, (OSX 10.7)
RAD XE 2, Java (NB), C++, C# (VS 2010), JS/HTML, PHP, Lazarus
BeitragVerfasst: Mi 01.02.12 19:35 
Was hast du denn versucht? Hast du die API-Funktionen versucht?
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home