Ein Programm öffnen wenn sich ein anderes schliesst?



  • Hi,

    ich habe vor ein Prog alleine für mich zu schreiben, und zwar geht es darum dass wenn ich aus einem bestimmten Spiel (Call of Duty 2) rausgehe mein Headset automatisch auch ausgeschalten wird, nun es ist sehr stressig dann erst immer Creative Surround Mixer zu starten und wieder anzuschalten. Und nun wollte ich dass so haben dass wenn ich aus dem Spiel rausgeht er automatisch den Surround Mixer startet, dass ich nicht mehr soviel klicken brauch. Könnte mir jemand ein bsp. zeigen, einen link zum nachlesen für sowas geben oder mir sagen wie man sowas nennt dass ich in der MSDN Library nachschauen könnte?

    MfG,
    skY



  • Wenn du das beendete Programm selber ändern kannst, wäre ShellExecute wohl das beste. Aber bei einem Spiel dürfte das etwas schwirig sein - da empfehle ich eine Batch-Datei, die nacheinander erst dein Spiel und dann den Mixer aufruft.



  • k danke für die hilfe, werde ich nachher direkt mal testen



  • Bei mir funktioniert der folgende Code ganz gut ( ist nich ganz die feine Art, ich weiss 😉 ) Bevor der Thread gestartet wird muss nur noch m_strExecutable und m_pParent initialisiert werden.

    class CExecuter : public CWinThread
    
    //....
    
    BOOL CExecuter::InitInstance()
    {
    	if ( m_bIsValid)
    	{
    		PROCESS_INFORMATION pi = {0};
    
    		STARTUPINFO         si = {sizeof(si)};
    		si.wShowWindow         = SW_NORMAL;
    
    		CreateProcess(m_strExecutable, NULL, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
    
    		WaitForSingleObject( pi.hProcess, INFINITE);
    
    		CloseHandle(pi.hProcess);
    		CloseHandle(pi.hThread);
    		m_pParent->PostMessage(WM_QUIT); // oder was auch immer
    	}
    		return TRUE;
    }
    

Anmelden zum Antworten