我有我的应用程序,正在其中启动一个新过程.但是我需要在过程中调整窗口大小以适合我的需求.但是首先,该过程将以正常大小打开窗口,然后将其调整为适合的大小.这看起来很奇怪.那么我可以在不可见模式下以winodw开始该过程,然后调整大小然后使其可见吗?
ProcessStartInfo startInfo = new ProcessStartInfo("myApp.exe");
MyApp = Process.Start(startInfo);
Thread.Sleep(2000);
MoveWindow(MyApp.MainWindowHandle, 0, 380, 2040, 1150, true);
解决方法:
尝试startInfo.WindowStyle = ProcessWindowStyle.Hidden;在.Start()调用之前隐藏它吗?然后使用您的代码进行显示?
像这样:
ProcessStartInfo startInfo = new ProcessStartInfo("myApp.exe");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
MyApp = Process.Start(startInfo);
Thread.Sleep(2000);
MoveWindow(MyApp.MainWindowHandle, 0, 380, 2040, 1150, true);
要显示窗口,请导入此方法:
[DllImport("user32.dll")]
private static extern bool ShowWindow(IntPtr hwnd, int nCmdShow);
然后在MoveWindow函数之后调用它:
ShowWindow(MyApp.MainWindowHandle, 5);