#c# #user32
#c# #пользователь32
Вопрос:
Когда у меня открыто приложение, и я пытаюсь открыть его снова, я хочу восстановить запущенное приложение с фактическим размером.
Используемый код такой:
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
private static extern int ShowWindow(IntPtr hwnd, int nCmdShow);
private const int SW_SHOW = 5;
public static void SetForegroundMyWindow(IntPtr windowHandle)
{
SetForegroundWindow(windowHandle);
ShowWindow(windowHandle, SW_SHOW);
}
С помощью этого кода, когда окно развернуто, приложение отображается с размером без увеличения.
Только с SetForegroundWindow
приложение не отображается, когда оно свернуто.
Как получить мое окно с фактическим размером?
Комментарии:
1. Вы пометили это как C #. Итак, мой вопрос в том, должны ли вы использовать p / invokes здесь или вы можете использовать свойство настроек приложения и привязать размер окна к настройкам?
2. @pinkfloydx33, я использую p/invokes
3. Я вижу, что вы это делаете, но должны ли вы?
4. Вы пробовали этот
SetWindowPos
метод? pinvoke. в сети есть образцы5. У меня такая же проблема со свернутыми окнами, я их не вижу.