GetWindowPlacement работает правильно в Debug, но неправильно в Release - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь выяснить, развернуто ли конкретное окно.Я делаю это с помощью hWID.Когда я делаю это после компиляции для отладки, я получаю сообщение «3», когда окно действительно развернуто.Тем не менее, если я скомпилирую для выпуска, я получаю сообщение «-1», независимо от состояния окна.

Следующий код находится в проекте WPF, который упакован в пакет UWP и запущенкак FullTrustProcess:

private unsafe void IsMaxed(IntPtr hWID)
{
WINDOWPLACEMENT plc = new WINDOWPLACEMENT();
plc.length = (UIntPtr)sizeof(WINDOWPLACEMENT);
WINDOWPLACEMENT* pplc = &plc;
GetWindowPlacement(hWID, pplc);
MessageBox.Show(((int) plc.showCmd).ToString());
}

[DllImport("user32.dll", CharSet = CharSet.Ansi)]
private static unsafe extern bool GetWindowPlacement(IntPtr hWnd, WINDOWPLACEMENT* lpwndpl);
...