这是我的代码:
using (Process game = Process.Start(new ProcessStartInfo() {
FileName="DatabaseCheck.exe",
RedirectStandardOutput = true,
CreateNoWindow = true,
UseShellExecute = false }))
{
lblLoad.Text = "Loading";
int Switch = 0;
while (game.MainWindowHandle == IntPtr.Zero)
{
Switch++;
if (Switch % 1000 == 0)
{
lblLoad.Text += ".";
if (lblLoad.Text.Contains("...."))
lblLoad.Text = "Loading.";
lblLoad.Update();
game.Refresh();
}
}
问题是游戏的 game.MainWindowHandle 总是 IntPtr.Zero。我需要找到运行进程的 IntPtr 以确认游戏是否由启动器启动,因此我让游戏发送它的 IntPtr,然后启动器响应是否可行。但为此,我必须特别知道运行进程的 IntPtr。
提前致谢!