1
0
Fork 0
mirror of https://github.com/hawkeye-stan/msfs-popout-panel-manager.git synced 2024-12-04 11:40:10 +00:00
msfs-popout-panel-manager/WindowsAgent/WindowProcessManager.cs
2023-07-12 18:47:24 -04:00

57 lines
1.7 KiB
C#

using System;
using System.Diagnostics;
namespace MSFSPopoutPanelManager.WindowsAgent
{
public class WindowProcessManager
{
public static string GetApplicationVersion()
{
var systemAssemblyVersion = System.Reflection.Assembly.GetEntryAssembly().GetName().Version;
var appVersion = $"{systemAssemblyVersion.Major}.{systemAssemblyVersion.Minor}.{systemAssemblyVersion.Build}";
if (systemAssemblyVersion.Revision > 0)
appVersion += "." + systemAssemblyVersion.Revision.ToString("D4");
return appVersion;
}
public static WindowProcess SimulatorProcess { get; private set; }
public static void GetSimulatorProcess()
{
SimulatorProcess = GetWindowProcess("FlightSimulator");
}
public static WindowProcess GetApplicationProcess()
{
return GetWindowProcess("MSFSPopoutPanelManager");
}
private static WindowProcess GetWindowProcess(string processName)
{
foreach (var process in Process.GetProcesses())
{
if (process.ProcessName == processName)
{
return new WindowProcess()
{
ProcessId = process.Id,
ProcessName = process.ProcessName,
Handle = process.MainWindowHandle
};
}
}
return null;
}
}
public class WindowProcess
{
public int ProcessId { get; set; }
public string ProcessName { get; set; }
public IntPtr Handle { get; set; }
}
}