wpf - 将wpf App带到后台运行的前台?
问题描述
我创建了一个 WPF 应用程序。在关闭窗口时(通过单击标题栏上的 X),我正在隐藏应用程序,我们可以从托盘图标重新启动或退出应用程序。
NotifyIcon notifyIcon = new NotifyIcon();
string a = Properties.Resources.SuccessTitle;
notifyIcon.Icon = Properties.Resources.pencil;
notifyIcon.ContextMenu = new ContextMenu(new MenuItem[]
{ exitMenuItem });
notifyIcon.Visible = true;
notifyIcon.Text = "My App Name";
notifyIcon.DoubleClick += notifyIcon_DoubleClick;
通知图标对我来说很好,即当我双击托盘图标时,应用程序即将落地。下面是双击事件的代码
if (window.IsVisible)
{
if (window.WindowState == WindowState.Minimized)
{
window.WindowState = WindowState.Normal;
window.Activate();
}
else
{
window.Activate();
}
}
else
{
window.Visibility = Visibility.Visible;
}
当应用程序处于最大化或最小化状态时,单击 exe 也可以正常工作。
Process current = Process.GetCurrentProcess();
// Enumerate through all the process resources on the share
// local computer that the specified process name.
foreach (Process process in
Process.GetProcessesByName(current.ProcessName))
{
if (process.Id != current.Id)
{
NativeMethods.SetForegroundWindow( process.MainWindowHandle);
NativeMethods.ShowWindow(process.MainWindowHandle,
WindowShowStyle.Restore);
break;
}
}
现在,在隐藏窗口时单击 exe 时,我想要相同的效果。我怎样才能实现它。我试图调试代码,发现当应用程序被隐藏时
主窗口句柄 = 0X00000000
当它可见时,即最小化或最大化,则 MainWindowHandle 具有一些有效值。
解决方案
推荐阅读
- javascript - 我需要访问当前所在函数之外的变量。(JavaScript 和 NodeJS)
- excel - Excel simplex LP solver MOQ
- c++ - 在泛型函数中使用仿函数
- python - 如何对数据框中每一列的所有行求和
- jquery - jquery如何计算数组的元素?
- c# - 如何在不损坏视频内存的情况下创建 Texture2D?
- sql - 用于确定作业是否为“仅限内部”的 SQL
- php - PHP选择longblob内存问题
- javascript - 在 typescript/javascript 中使用 express 请求对象访问对象
- python - Tkinter 中的动态侧边菜单