0
我正在開發Windows Mobile應用程序。我創建了一個使用模式窗口的嚮導,以便隱藏窗口欄。其中一個巫師階段需要拍照。啓動CaptureCameraDialog後,窗口欄即使在CaptureCameraDialog關閉後也會出現並保留。有沒有什麼辦法讓我的對話框窗體回到窗口欄前面?精簡框架 - 關閉CaptureCameraDialog後,在窗口欄前保持模態窗口
我正在開發Windows Mobile應用程序。我創建了一個使用模式窗口的嚮導,以便隱藏窗口欄。其中一個巫師階段需要拍照。啓動CaptureCameraDialog後,窗口欄即使在CaptureCameraDialog關閉後也會出現並保留。有沒有什麼辦法讓我的對話框窗體回到窗口欄前面?精簡框架 - 關閉CaptureCameraDialog後,在窗口欄前保持模態窗口
我最終設法在網上找到了一些我想要的代碼。這裏是:
public partial class myForm : Form
{
public myForm()
{
InitializeComponent();
this.GotFocus += delegate(object sender, EventArgs args)
{
//var intPtr = FindWindow("CaptureReturnForm", "");
SetForegroundWindow(GetFocus());
bool result = SHFullScreen(GetFocus(), SHFS_HIDESTARTICON |
SHFS_HIDETASKBAR | SHFS_HIDESIPBUTTON); // 0x0020);
};
}
[DllImport("coredll.dll")]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("coredll.dll", EntryPoint = "SetForegroundWindow")]
private static extern int SetForegroundWindow(IntPtr hWnd);
[DllImport("coredll.dll")]
internal static extern IntPtr GetFocus();
[DllImport("aygshell.dll")]
internal static extern bool SHFullScreen(IntPtr hWnd, uint dwState);
const uint SHFS_SHOWTASKBAR = 0x1;
const uint SHFS_HIDETASKBAR = 0x2;
const uint SHFS_SHOWSIPBUTTON = 0x4;
const uint SHFS_HIDESIPBUTTON = 0x8;
const uint SHFS_SHOWSTARTICON = 0x10;
const uint SHFS_HIDESTARTICON = 0x20;
const int HWND_TOPMOST = -1;
const int HWND_NOTOPMOST = -2;
const uint SWP_SHOWWINDOW = 0x40;
const uint SM_CXSCREEN = 0x0;
const uint SM_CYSCREEN = 0x1;
private const int HHTASKBARHEIGHT = 26;
}