GetWindowPlacement在Debug中行为正确,但在Release

时间:2018-12-11 08:51:06

标签: c# .net uwp desktop-bridge

我正在尝试确定特定窗口是否已最大化。我是在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);

0 个答案:

没有答案