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;
}