如何制作任务栏windows-CE中的程序
如何使C#程序一直在任务栏中?
我想构建一个键盘程序。
我需要当我打开设备时程序将打开并进入任务栏。
另一个问题是,当我有一个具有文本框的外部程序时,如何
当我按下我的C#键盘中的任何键时,它将在这个外部文本框中?
提前致谢
它没有在CF中实现,但是NotifyIcon类就是你所追求的。 SDF确实实现了它 。 它将使用这样的东西:
m_notifyIcon = new NotifyIcon(); m_notifyIcon.Icon = this.Icon; m_notifyIcon.Visible = true; m_notifyIcon.Click += new EventHandler(m_notifyIcon_Click); m_notifyIcon.DoubleClick += new EventHandler(m_notifyIcon_DoubleClick);
编辑
如果您想自己实现,请从Shell_NotifyIcon API开始。 您需要将句柄传递给MessageWindow类并处理WM_NOTIFY消息。
要在Windows-CE中创建系统托盘应用程序,请输入以下代码:
CSystemTray m_TrayIcon; // Member variable of some class ... // in some member function maybe... m_TrayIcon.Create(pParentWnd, WM_MY_NOTIFY, "Click here", hIcon, nTrayIconID);
例如。 对于非MFC托盘图标,请执行以下操作:
Collapse CSystemTray m_TrayIcon; // Member variable of some class ... // in some member function maybe... m_TrayIcon.Create(hInstance, NULL, WM_MY_NOTIFY, "Click here", hIcon, nID); // Send all menu messages to hMyMainWindow m_TrayIcon.SetTargetWnd(hMyMainWindow);
在这里找到:
http://www.codeproject.com/KB/shell/systemtray.aspx
要在Windows XP或Windows 7 / Vista中创建系统托盘应用程序,请在项目中添加以下代码:
private void Form1_Resize(object sender, System.EventArgs e) { if (FormWindowState.Minimized == WindowState) Hide(); }
这就是处理系统托盘点击
private void notifyIcon1_DoubleClick(object sender, System.EventArgs e) { Show(); WindowState = FormWindowState.Normal; }
这个以及更多信息在: