dies ist mein Code:C# Process.MainWindowHandle gibt immer IntPtr Null
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();
}
}
Problem ist, dass game.MainWindowHandle ist immer IntPtr.Zero. Ich muss den IntPtr des ran-Prozesses finden, um zu bestätigen, dass das Spiel vom Launcher gestartet wurde, also habe ich das Spiel dazu veranlasst, es IntPtr zu senden und den Launcher reagieren zu lassen, wenn es in Ordnung ist. Aber dazu muss ich den IntPtr des ran-Prozesses genau kennen.
Vielen Dank im Voraus!
Werden versuchen, dass, wenn ich zu Hause bin. Danke – Kfirprods
Danke, es hat funktioniert. – Kfirprods
Beachten Sie, dass unter 4.5 dies nicht mehr erforderlich ist (anecdotal - mein Code arbeitete auf 4.5 und fehlgeschlagen, wenn ich auf 3.5 sank, bis ich '.Refresh()') – Basic