seaman писал(а):System.Diagnostics.Process.GetProcessesByName("unity");
Эх, беда беда
Используется csharp
Process p = Process.GetCurrentProcess();
string gameName = p.ProcessName;
Debug.Log("== Process Name = " + gameName);
Process[] processes = Process.GetProcessesByName(gameName);
if (processes.Length > 0)
{
Debug.Log("== Processes not empty");
foreach (Process process in processes)
{
Debug.Log("== executed ==" + process.ProcessName);
}
}
else
{
Debug.Log("== Nothing ===");
}
Имя ехе показывается верно.
А вот найти процесс по имени не могу. В логах ошибка
И вот тут Process[] processes = Process.GetProcessesByName(gameName);
или Process[] processes = Process.GetProcesses();
processes[0].ProcessName будет ошибка. а если processes[0].Id вызвать то всел будет ок.
Используется csharp
== Process Name = MyGame
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:Log(Object)
Util:CheckToPreventMultipleExecutionOfTheGame()
LogoManager:Awake()
(Filename: C:/BuildAgent/work/842f9557127e852/Runtime/ExportGenerated/StandalonePlayer/UnityEngineDebug.cpp Line: 34)
InvalidOperationException: Process has exited, so the requested information is not available.
at System.Diagnostics.Process.get_ProcessName () [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) System.Diagnostics.Process:get_ProcessName ()
at System.Diagnostics.Process.GetProcessesByName (System.String processName) [0x00000] in <filename unknown>:0
at CheckToPreventMultipleExecutionOfTheGame () [0x00000] in <filename unknown>:0
at LogoManager.Awake () [0x00000] in <filename unknown>:0
(Filename: Line: -1)
Последний раз редактировалось
gameshadow 20 окт 2012, 10:08, всего редактировалось 2 раз(а).