| Autor |
Nachricht |
Goaznic
      
Beiträge: 23
Win XP, Win 7
Delphi 5, Delphi 10
|
Verfasst: 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 Narses: Bild als Anhang hochgeladen.
Einloggen, um Attachments anzusehen!
|
| |
|
|
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
       
Beiträge: 11803
Erhaltene Danke: 146
WindowsXP Professional SP2
BDS2006, VS C++ Express, Eclipse (Java), Flex (Flash, AS)
|
Verfasst: Mo 14.11.11 11:48
Und was liefert die Forensuche nach "windows runterfahren"?
_________________ Gruß Michael
|
| |
|
|
Goaznic 
      
Beiträge: 23
Win XP, Win 7
Delphi 5, Delphi 10
|
Verfasst: Mo 14.11.11 11:58
Luckie hat folgendes geschrieben : | | 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. 
|
| |
|
|
Gausi
      

Beiträge: 8117
Erhaltene Danke: 250
Win XP, Win 7
D7 PE, RAD Studio 2009 Professional
|
Verfasst: 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? 
_________________ Oel ngati kameie.
Für diesen Beitrag haben gedankt: Goaznic
|
| |
|
|
Goaznic 
      
Beiträge: 23
Win XP, Win 7
Delphi 5, Delphi 10
|
Verfasst: 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. =)
|
| |
|
|
LSanchez
      
Beiträge: 26
Erhaltene Danke: 8
|
Verfasst: Mo 14.11.11 12:19
Ich benutze einfach ShellExecute
Für diesen Beitrag haben gedankt: Goaznic
|
| |
|
|
Luckie
       
Beiträge: 11803
Erhaltene Danke: 146
WindowsXP Professional SP2
BDS2006, VS C++ Express, Eclipse (Java), Flex (Flash, AS)
|
Verfasst: Mo 14.11.11 12:39
LSanchez hat folgendes geschrieben : | Ich benutze einfach ShellExecute
|
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
|
| |
|
|
baka0815
      
Beiträge: 452
Erhaltene Danke: 10
Win XP, Debian GNU/Linux
Delphi 2007 Enterprise, Java, C#
|
Verfasst: 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
|
| |
|
|
Luckie
       
Beiträge: 11803
Erhaltene Danke: 146
WindowsXP Professional SP2
BDS2006, VS C++ Express, Eclipse (Java), Flex (Flash, AS)
|
Verfasst: Mo 14.11.11 12:56
Unter Windows kann man beides nehmen bei Microsoft Programmen, glaube ich.
_________________ Gruß Michael
|
| |
|
|
Goaznic 
      
Beiträge: 23
Win XP, Win 7
Delphi 5, Delphi 10
|
Verfasst: Di 15.11.11 11:14
Ist
alles, was ich eingeben muss? Quasi als Befehl, wenn ich auf einen Button Klick z.B.?
|
| |
|
|
Gausi
      

Beiträge: 8117
Erhaltene Danke: 250
Win XP, Win 7
D7 PE, RAD Studio 2009 Professional
|
Verfasst: Di 15.11.11 11:40
_________________ Oel ngati kameie.
Für diesen Beitrag haben gedankt: Goaznic
|
| |
|
|
Goaznic 
      
Beiträge: 23
Win XP, Win 7
Delphi 5, Delphi 10
|
Verfasst: Di 15.11.11 11:52
Oh, danke! Das ist super, genau sowas hab ich den ganzen Morgen gesucht! 
|
| |
|
|
Goaznic 
      
Beiträge: 23
Win XP, Win 7
Delphi 5, Delphi 10
|
Verfasst: 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)?
|
| |
|
|
jaenicke
      
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
|
Verfasst: 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
|
| |
|
|
Luckie
       
Beiträge: 11803
Erhaltene Danke: 146
WindowsXP Professional SP2
BDS2006, VS C++ Express, Eclipse (Java), Flex (Flash, AS)
|
Verfasst: 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
|
| |
|
|
JuniorProgrammierer86
Hält's aus hier
Beiträge: 13
|
Verfasst: Mi 01.02.12 18:37
hast du es jetzt hinbekommen?? stehe nämlich im studium vor dem selben schlamassel!! hehe
|
| |
|
|
jaenicke
      
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
|
Verfasst: Mi 01.02.12 19:35
Was hast du denn versucht? Hast du die API-Funktionen versucht?
|
| |
|
|