đây là mã của tôi:C# Process.MainWindowHandle luôn trả IntPtr Zero,
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();
}
}
Vấn đề là, rằng game.MainWindowHandle luôn là IntPtr.Zero. Tôi cần phải tìm IntPtr của quá trình chạy để xác nhận rằng trò chơi đã được khởi động bởi các phóng, vì vậy tôi làm cho trò chơi gửi nó IntPtr và để cho các phóng trả lời nếu nó không sao. Nhưng đối với điều đó, tôi phải biết IntPtr của quá trình chạy cụ thể.
Cảm ơn trước!
Sẽ cố gắng mà khi tôi về nhà. Cảm ơn – Kfirprods
Cảm ơn, nó đã hoạt động. – Kfirprods
Lưu ý rằng trên 4.5 này không còn cần thiết (giai thoại - mã của tôi làm việc trên 4.5 và thất bại khi tôi giảm xuống còn 3.5 cho đến khi tôi thêm '.Refresh()') – Basic