System - Externes Programm starten (Handle schliessen obwohl Datei noch offen sind)
-
Hallo zusammen,
bin Anfänger in Sachen Windos-Programierung
, und habe eine Anwendung erstellt,die beliebige mehrere Dateien ,durch Button-click, mit Wordpad öffnet...diese Dateien soll der Anwender selber schliessen (außerhalb meiner Anwendung)...so ähnlich wie unten angezeigt läuft mein Prog.Meine Frage ist : darf ich eigentlich die Funktionen CloseHandle() aufrufen ,obwohl Die Dateien noch offen sind ...ich weiss dass zu jedem CreatPrpcess eine
CloseHndle() erfolgen soll,sonst werden die Objekte im Systemspeicher bleiben und nicht gelöscht!!
Mit anderen Worten: ist dieser Aufruf richtig oder muss CloeHandle erst nach dem
Schliessen der Datei erfolgen? und was Passiert wenn ich mehrere Datein dann habe,die hinter einander geöffnet wurden
???
und vielen Dank im Voraus
------------
CodePROCESS_INFORMATION pi = {0};
STARTUPINFO si = {sizeof(si)};
si.wShowWindow = SW_NORMAL;CreateProcess( _T("C:\\WinNT\\notepad.exe"),"DateiPfad", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
WaitForSingleObject( pi.hProcess, 0);CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
-
Afaik ist das kein Problem - CloseHandle räumt nur die Handle's auf, die du in den anderen Prozess hast. Wordpad sollte noch eigene Handle's auf seinen Hauptprozess und Thread haben, so daß es ohne Probleme weiterlaufen kann.
(im Zweifelsfall hilft nur ausprobieren)