Dieses Problem hat mich wütend gemacht.Win C# Subprozess startet nicht von Autologin
Ich habe eine C# Windows Forms-Anwendung (nennen wir es App), die eine C++ - Hochleistungs-ausführbare Datei startet und verwaltet (nennen wir es Compute).
So ist der Prozessbaum in dem Task-Manager sieht aus wie
_App.exe | CPU | Mem | Disk | Network |
|_Compute.exe | CPU | Mem | Disk | Network |
ich die App soll automatisch beim Systemstart ausgeführt. Bisher habe ich versucht, es in das Shell-Startup-Verzeichnis zu bringen (kann durch win + R search 'shell: startup' gefunden werden) oder es dem Start-Teil von HKeyLocalUser der Registry hinzuzufügen. Ich habe diese Lösungen unter Stackoverflow here gefunden.
Beim Testen startet die App genau wie erwartet, wenn Sie sich anmelden oder den Computer starten. Aber Compute.exe wird nicht ordnungsgemäß gestartet. Der Prozessbaum wie folgt aussieht:
_App.exe | CPU | Mem | Disk | Network |
|_App.exe | - | - | - | - |
Es sieht aus wie die App als subProzess von selbst gestartet werden kann, und ohne Ressourcen. Wiederum - die Benutzeroberfläche der übergeordneten App startet gut, ist interaktiv, etc. Aber es ist nie in der Lage den Compute-Prozess neu zu starten - auch wenn er vom App-Prozess gezwungen wird.
Ich glaube, es hat damit zu tun, wer die App startet, und dass dieser Besitz auf den Kindprozess überträgt. Es versteht sich von selbst, dass das manuelle Klicken auf die Startverknüpfung den App- und untergeordneten Compute-Prozess ohne Probleme startet.
Irgendwelche Gedanken darüber, was ich hier vermisse? Danke für den Hinweis!
Wenn Sie mit der Berechnung beginnen, verwenden Sie einen relativen oder vollständigen Pfad? –
Ich benutze den vollständigen Pfad über: Directory.GetCurrentDirectory() + Mypath –
Überprüfen Sie den Rückgabewert von 'GetCurrentDirectory'. Ist es das ... NM. Du hast geantwortet, während ich das getan habe. –