如何使C#程序可以一直在任务栏中运行?
我想创建一个键盘程序。
我需要的是,当我打开设备时,程序将会打开并显示在任务栏中。
另一个问题是,当我有一个具有文本框的外部程序时,如何
当我在我的C#键盘上按下任何键时,它会在这个外部文本框中吗?
提前道谢
发布于 2010-10-04 21:23:33
它不是在CF中实现的,但是NotifyIcon类是您想要的。The SDF执行implement it。它的用法如下:
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应用程序接口开始。您需要将句柄传递给MessageWindow class并处理WM_NOTIFY消息。
发布于 2010-10-04 18:37:05
要在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;
}有关此信息和更多信息,请访问:
http://www.developer.com/net/net/article.php/3336751/C-Tip-Placing-Your-C-Application-in-the-System-Tray.htm
https://stackoverflow.com/questions/3853746
复制相似问题