从启动应用程序

时间:2018-03-15 11:30:06

标签: c# wpf exe

我有一个启动应用程序,它使用Process.Start("MyExe")打开我的另一个应用程序,它存储在一个可执行文件中,并显示一个WPF窗口。

但是我也希望能够在启动程序中设置WPF在屏幕上的位置。我尝试过使用MoveWindow,但它无效。

Process flash = new Process();

flash.StartInfo.FileName = appDirectoryPath + "\\" + OnScreenKeyboardExe;
flash.Start();
Thread.Sleep(100);

IntPtr id = flash.MainWindowHandle;
File.WriteAllText("D://errorlog.txt", id.ToString());
OperatingSystemBase.MoveWindow(flash.MainWindowHandle, 1000, 1000, 500, 500, true);
错误日志文件中的

我得到了ID 0.所以可能是我无法获得进程或其他东西。

1 个答案:

答案 0 :(得分:0)

您的问题是,在尝试移动程序之前,您没有等待程序启动。

我将Thread.Sleep(100)更改为Thread.Sleep(1000)并且工作正常!