CreateProcess überträgt alle geöffneten Dateien :/
Übersicht

![]() |
klinBetreff: CreateProcess überträgt alle geöffneten Dateien :/ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi leute,
Ich habe ein dummes Problem seit langem entdeckt... Doch zuerst dachte ich es lag an mir, doch dann war dieses Problem bei anderen auch aufgetreten! Undzwar, Wenn ich bei meinem Projekt (z.B. "Projekt1.exe") eine Datei öffne und danach CreateProcess("Projekt2.exe") mache, überträgt es alle geöffneten Dateien! Also sobald ja die Projekt1.exe abstürtzt (Process Terminated oder so) dann wird ja (wiederum dummerweise) das 2te Projekt nicht beendet. Und da ist mir aufgefallen, das ich die Dateien, die ich mit Projekt1.exe geöffnet hatte, nicht beenden konnte!(Dies geht nur solange, bis Projekt2 beendet wurde) Und das ist doch schon nervig :/ Also kann man das i-wie verhindern oder besser gesagt, wenn Projekt1 abgestürtzt ist, das autom. alle CreateProcesse mitbeendet werden? Weil beim normalen beenden gehts, doch beim Absturtzt nicht :/ Also wäre doch schon dankbar =) THX MFG Klin |
||
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Am einfachsten wäre es doch, wenn du verhindern würdest, dass das Projekt1 abstürzen kann. ![]() ![]() |
||
![]() |
klinBetreff: Re: CreateProcess überträgt alle geöffneten Dateien :/ |
![]() Antworten mit Zitat ![]() |
---|---|---|
klin hat Folgendes geschrieben: Hi leute,
... Also sobald ja die Projekt1.exe abstürtzt (Process Terminated oder so) dann wird ja (wiederum dummerweise) das 2te Projekt nicht beendet. ... Klin Also sobald jemand das Programm über Taskmanager beendet meine ich... Das nenne ich immer abstürtzten^^ THX MFG Klin |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab da so ne wage/grobe Idee im Kopf rumschwiren .
Beide exes sollen mit einander komunizieren und wen die eine nicht mehr antwortet , dan soll sich das 2te beenden. Vlt kanst du ja in ne datei schreiben , die 2 liest es und schreibt wieder etwas anderes rein und wenn die datei gleich ist , kanst du draufgehn das die andere Exe nicht mehr da ist ![]() ooooder es gibt sicher ne dll die die aktiven Tasks rausliest, und wen der Task nicht mehr drinne ist , END ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
klin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habs so gemacht, das projekt1.exe eine Datei schreibt und offen lässt. Sobald das Programm abstürtzten sollte, SOLLTE ja auch NORMAL die datei geschlossen werden. Dabei löscht projekt2.exe die ganze Zeit die Datei. Sobald die Datei gelscht worden ist (Wenn sie geschlossen wurde) dann soll Projekt2.exe beenden.
Doch da CreateProcess alle geöffneten Dateien überträgt, kann die Datei nicht geschlossen werden!!! Aber das mit der Dll würde mich mal Ineressieren... THX MFG Klin P.S. Wie kann man eig. ein Prozess per BMAX beenden? ^^ |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Lass die beiden Dateien besser anders kommunizieren. Zum Beispiel mit Sockets, oder wenn es nur für Windows sein soll,
mit Named Pipes ( http://msdn.microsoft.com/en-u...65590.aspx ). |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erstell einfach einen TCP-Server auf localhost auf einem fixen port. Wenn der port wieder frei ist, weist du, dass das Programm dass den Server erstellt, weg vom Fenster ist.
Oder noch besser: Mutexes |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group