2016-12-08 3 views
1

Ich versuche, tpmvscmgr.exe in C: \ Windows \ System32 aus meiner C# -Anwendung aufrufen. Ich fand diesen Code:C# Eingabeaufforderung Befehle nicht gefunden

 string strCmdText; 
     strCmdText = @"/C Robocopy C:\Users\Johannes\test1 C:\Users\Johannes\test2";   
     System.Diagnostics.Process.Start("CMD.exe", strCmdText); 

hier Run Command Prompt Commands und es funktioniert gut.

Jedoch, wenn ich versuche, es zu ändern, um

strCmdText = "/C Tpmvscmgr.exe create /name tpmvsc /pin default /adminkey random /generate "; 

Dies funktioniert nicht. In der Tat, wenn ich debuggen und in der Eingabeaufforderung, die durch den Code geöffnet wird, sehe ich nicht die tpmvscmgr.exe in Windows/System32. Ich denke, es ist als ein anderer Benutzer oder mit anderen Privilegien oder etwas geöffnet, aber kann dies behoben werden? Ich müsste wirklich einen tpmvscmgr.exe Befehl aus dem Code ausführen.

+1

Welche Version von Windows laufen Sie? aufwärts von Sieg 8? https://technet.microsoft.com/en-us/library/dn593707(v=ws.11).aspx – Fuzzybear

+0

Windows 10. Wenn ich eine Eingabeaufforderung öffne, ist normalerweise die exe dort. Nur nicht in der Eingabeaufforderung geöffnet von meinem Code – Johannes

+1

In der Eingabeaufforderung öffnen Sie normal, ist es als Administrator oder normaler Benutzer? – TheLethalCoder

Antwort

0

OK Ich habe etwas herausgefunden. In meinem Visual Studio C# Projekt hatte ich "Any CPU" für das Projekt markiert. Anscheinend bedeutet dies, dass die Konsole als win32 geöffnet wird. Als ich das C# -Projekt zu x86 änderte, konnte ich tpmvscmgr.exe ziemlich knifflige Sachen laufen lassen.

C# cmd prompt cannot see telnet.exe

Verwandte Themen