Überprüfen, ob ein best. Programm gestartet wurde

  • VB6

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Gast.

    Überprüfen, ob ein best. Programm gestartet wurde

    Huhu

    Ich möchte gerne, dass mein Programm darauf wartet, das z.B. Notepad gestartet wird und erst dann weitermacht.
    Ich stell mir das mit Hilfe eines timers vor, der alle x Zeiteinheiten überprüft, ob notepad.exe im Speicher ist und wenn ja, dann eine Aktion ausführt. Wenn nein, dann geht der Timer wieder auf Null und zäht erneut.

    Wie krieg ich aber raus, ob notepad.exe gestartet ist?

    Danke für die Hilfe,

    Scrapie
    Mit folgender Funktion:

    <pre><FONT SIZE=1 FACE=Courier New><FONT COLOR=#000080>Public</FONT> <FONT COLOR=#000080>Function</FONT> FindExe(ExeName <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>String</FONT>) <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Boolean</FONT>
    <FONT COLOR=#000080>Dim</FONT> hSnapShot <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    <FONT COLOR=#000080>Dim</FONT> uProcess <FONT COLOR=#000080>As</FONT> PROCESSENTRY32
    <FONT COLOR=#000080>Dim</FONT> RetVal <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>

    FindExe = <FONT COLOR=#000080>False</FONT>

    hSnapShot = CreateToolhelpSnapshot(TH32CS_SNAPPROCESS, 0&)

    uProcess.dwSize = Len(uProcess)
    RetVal = ProcessFirst(hSnapShot, uProcess)

    <FONT COLOR=#000080>Do</FONT> <FONT COLOR=#000080>While</FONT> RetVal <> 0
    uProcess.szExeFile = Left$(uProcess.szExeFile, InStr(uProcess.szExeFile, Chr$(0)) - 1)
    <FONT COLOR=#000080>If</FONT> InStr(1, uProcess.szExeFile, ExeName, vbTextCompare) <FONT COLOR=#000080>Then</FONT> FindExe = <FONT COLOR=#000080>True</FONT>
    RetVal = ProcessNext(hSnapShot, uProcess)
    <FONT COLOR=#000080>Loop</FONT>

    CloseHandle hSnapShot
    <FONT COLOR=#000080>End</FONT> <FONT COLOR=#000080>Function</FONT>

    </FONT></PRE>

    Du benötigst auch noch folgende API Deklarationen:

    <PRE><FONT SIZE=1 FACE=Courier New><FONT COLOR=#000080>Public</FONT> <FONT COLOR=#000080>Const</FONT> TH32CS_SNAPPROCESS <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT> = 2&
    <FONT COLOR=#000080>Public</FONT> <FONT COLOR=#000080>Const</FONT> MAX_PATH <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Integer</FONT> = 260

    <FONT COLOR=#000080>Public</FONT> <FONT COLOR=#000080>Type</FONT> PROCESSENTRY32
    dwSize <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    cntUsage <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    th32ProcessID <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    th32DefaultHeapID <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    th32ModuleID <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    cntThreads <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    th32ParentProcessID <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    pcPriClassBase <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    dwFlags <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    szExeFile <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>String</FONT> * MAX_PATH
    <FONT COLOR=#000080>End</FONT> <FONT COLOR=#000080>Type</FONT>

    <FONT COLOR=#000080>Public</FONT> <FONT COLOR=#000080>Declare</FONT> <FONT COLOR=#000080>Function</FONT> CreateToolhelpSnapshot <FONT COLOR=#000080>Lib</FONT> "kernel32" <FONT COLOR=#000080>Alias</FONT> _
    "CreateToolhelp32Snapshot" (<FONT COLOR=#000080>ByVal</FONT> lFlags <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>, <FONT COLOR=#000080>ByVal</FONT> lProcessID <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>) <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    <FONT COLOR=#000080>Public</FONT> <FONT COLOR=#000080>Declare</FONT> <FONT COLOR=#000080>Function</FONT> ProcessFirst <FONT COLOR=#000080>Lib</FONT> "kernel32" <FONT COLOR=#000080>Alias</FONT> "Process32First" _
    (<FONT COLOR=#000080>ByVal</FONT> hSnapShot <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>, uProcess <FONT COLOR=#000080>As</FONT> PROCESSENTRY32) <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    <FONT COLOR=#000080>Public</FONT> <FONT COLOR=#000080>Declare</FONT> <FONT COLOR=#000080>Function</FONT> ProcessNext <FONT COLOR=#000080>Lib</FONT> "kernel32" <FONT COLOR=#000080>Alias</FONT> "Process32Next" _
    (<FONT COLOR=#000080>ByVal</FONT> hSnapShot <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>, uProcess <FONT COLOR=#000080>As</FONT> PROCESSENTRY32) <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>
    <FONT COLOR=#000080>Public</FONT> <FONT COLOR=#000080>Declare</FONT> <FONT COLOR=#000080>Sub</FONT> CloseHandle <FONT COLOR=#000080>Lib</FONT> "kernel32" (<FONT COLOR=#000080>ByVal</FONT> hPass <FONT COLOR=#000080>As</FONT> <FONT COLOR=#000080>Long</FONT>)

    </FONT></pre>
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()