WinFuture-Forum.de: Shutdown Ereignisabhängigmachen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Shutdown Ereignisabhängigmachen überhaupt möglich?wenn ja wie?

#16 Mitglied ist offline   Fabi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.958
  • Beigetreten: 30. August 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 10. Mai 2006 - 09:03

@MNG: muss man sich da kostenpflichtig anmelden, um die lösung einsehen zu können?

@MagicAndre1981: ich kannte diese funktion garnicht, also wusste ich ja net was ich damit anfangen sollte.
das tool hat folgenden sinn, wenn ich z.b was runterlade, das lange geht und ich net daheim bin , will ich z.b das der pc nach 4 h stunden runterfährt. das mit dem ereignis brauch ich , wenn ich mit dem pc fernshe schaue und dann per fernbedining das Pinnacle Media Center beende, glich der pc runterfährt!

mfg
F$KiNg
0

Anzeige



#17 Mitglied ist offline   MNG 

  • Gruppe: aktive Mitglieder
  • Beiträge: 293
  • Beigetreten: 29. März 06
  • Reputation: 0

geschrieben 10. Mai 2006 - 11:49

Nee, nix anmelden. Du musst nur runterscrollen :imao: ;D

Unter Windows kann man ja mit "Process" arbeiten, das macht den Code erträglicher. Hab's da mal rauskopiert:
#include <windows.h>
#include <iostream>

using namespace std;

bool finished;

// This is a thread function that just displays a " . " every second until
// the finished flag is set
DWORD WINAPI monitor_function(LPVOID parameter)
{
  while(! finished)
  {
	std::cout << " . ";
	Sleep(1000);
  }

  return 0;
}

int main()

{
  // Set the startup information
  STARTUPINFO startup_info = {0};
  startup_info.cb = sizeof startup_info;
  PROCESS_INFORMATION pi = {0};
  finished = false; // Set a flag for the thread

  // Create the process
  DWORD result = CreateProcess("c:\\winnt\\system32\\notepad.exe", "c:\\winnt\\system32\\notepad.exe c:\\test.txt", NULL, NULL, FALSE, 0, NULL, NULL, &startup_info, &pi);
  if(result == 0)
  {
	// Error
	return 0;
  }

  // Create the thread that will wait for it to return
  DWORD thread_id;
  CreateThread(NULL, 0, monitor_function, NULL, 0, &thread_id);
  
  // This function in this thread will wait for notepad to go away
  ::WaitForSingleObject(pi.hProcess, -1);
  finished = true; // Let the thread know

  return 0;
}

0

#18 Mitglied ist offline   DarkMole 

  • Gruppe: aktive Mitglieder
  • Beiträge: 425
  • Beigetreten: 28. August 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Freudenstadt
  • Interessen:PC

geschrieben 10. Mai 2006 - 12:21

Das lässt sich doch einfach mit einer bat lösen:
"C:\Programme\Mozilla Firefox\firefox.exe"
shutdown -s -f -t 00

das cmd-Fenster wartet nach dem Starten von Firefox, bis ff wieder beendet wird und führt dann den Shutdown aus.

Man muss Firefox (bzw das gewünschte Programm) dann eben über diese bat starten. Wenn schon ein Fenster der Anwendung offen ist funktioniert es nicht.

Dieser Beitrag wurde von DarkMole bearbeitet: 10. Mai 2006 - 12:24

Live for nothing or die for something

Silverstone Sugo-SG05 - ZOTAC GeForce 9300-ITX WiFi - Core 2 Quad Q8400 - Radeon HD 4850 Silent
OCZ Vista Performance Platinum 4Gb Kit - Samsung EcoGreen F2 1TB - Win 7 Pro
0

#19 Mitglied ist offline   Fabi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.958
  • Beigetreten: 30. August 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 18. Mai 2006 - 19:42

@DarkMole: ich würde diese *.bat datei gerne über ein OnKlick in meinem hauptprogram aufrufen, leider funktioniert das nicht, geht das vielleidcht auch irgendwie über den befehl
system("//anweisung");
?

mfg
F$KiNg

Dieser Beitrag wurde von F$KiNg bearbeitet: 18. Mai 2006 - 19:43

0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0