社区
C语言
帖子详情
关于Shell_NotifyIcon函数的问题!!!!
wxlfh
2003-01-06 04:29:55
我知道这个函数的作用是在任务栏里添加 修改 或者删除图标的。
我的问题是,添加一个图标后,怎么与用户交互??
即,这个图标怎样接受用户的动作。譬如,在图标上鼠标的一个右击动作。
请各位高手指教。越详细越好。
...全文
199
12
打赏
收藏
关于Shell_NotifyIcon函数的问题!!!!
我知道这个函数的作用是在任务栏里添加 修改 或者删除图标的。 我的问题是,添加一个图标后,怎么与用户交互?? 即,这个图标怎样接受用户的动作。譬如,在图标上鼠标的一个右击动作。 请各位高手指教。越详细越好。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wxlfh
2003-04-15
打赏
举报
回复
我的E-MAIL是: wxlfh@163.com
fireseed
2003-03-10
打赏
举报
回复
给我发短信告诉我你的邮箱,我给你发一个例子
本人制作
QiHY
2003-03-10
打赏
举报
回复
NotifyIconData 后面应该是 . 不是 -> ,sorry
QiHY
2003-03-10
打赏
举报
回复
#define UM_NOTIFY 888 //可随便取一个用户消息id值
//产生icon
NOTIFYICONDATA NotifyIconData;
NotifyIconData->cbSize = sizeof(NOTIFYICONDATA);
NotifyIconData->hWnd = hWnd;
NotifyIconData->uID = 1;
NotifyIconData->uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
//点击icon时对应的消息id
NotifyIconData->uCallbackMessage = UM_NOTIFY;
NotifyIconData->hIcon = LoadIcon(hInst,(LPCTSTR)IDI_HIDEWINDOW);
sprintf(pNotifyIconData->szTip,"HideWindow ^_^");
NotifyIconData->uVersion = NOTIFYICON_VERSION;
Shell_NotifyIcon(NIM_ADD,pNotifyIconData);
Shell_NotifyIcon(NIM_SETVERSION,pNotifyIconData);
//处理UM_NOTIFY消息
case UM_NOTIFY:
switch(lParam)
{
case WM_CONTEXTMENU: //右键单击
DisplayContextMenu(hWnd);
break;
}
//显示菜单
VOID DisplayContextMenu(HWND hwnd)
{
HMENU hmenu; // top-level menu
HMENU hmenuTrackPopup; // shortcut menu
POINT pt;
int nMouse[3]={0};
//pt.x=100; pt.y=100;
GetCursorPos(&pt);
if ((hmenu = LoadMenu(hInst, (LPCTSTR)IDC_HIDEWINDOW)) == NULL)
return;
hmenuTrackPopup = GetSubMenu(hmenu, 0);
SetForegroundWindow(hwnd);
TrackPopupMenu(hmenuTrackPopup,
TPM_LEFTALIGN | TPM_RIGHTBUTTON,
pt.x, pt.y, 0, hwnd, NULL);
PostMessage(hwnd,WM_NULL,0,0);
DestroyMenu(hmenu);
}
wxlfh
2003-01-07
打赏
举报
回复
我现在的理解是:在图标上操作(譬如,单击等)后,该函数通过NOTIFYICONDATA
结构中的句柄向窗口发一个消息,现在请问,这个消息中有鼠标的坐标吗?
如果有,那坐标是基于屏幕的,还是基于窗口客户区的?
我想在[[用右键]]单击图标后,弹出一个弹出式菜单。
wangweicai
2003-01-07
打赏
举报
回复
tnd.uCallbackMessage= MYWM_NOTIFYICON;//指定图标的回调消息
.
.
.
case MYWM_NOTIFYICON:
{
.
.
.
}
qing_li73
2003-01-07
打赏
举报
回复
See the sample below, FYI:
http://codeproject.com/shell/systemtray.asp
qfknet
2003-01-06
打赏
举报
回复
水一个!
step_by_step
2003-01-06
打赏
举报
回复
nId.cbSize = sizeof(NOTIFYICONDATA);
nId.hWnd = hWnd;
nId.uID = IDI_SERVERICON;
nId.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP;
nId.uCallbackMessage = UM_NOTIFYICON;
nId.hIcon = LoadIcon(GobalInfo.hInst, LPCTSTR(IDI_SERVERICON));
strcpy(nId.szTip, "Server");
//添加图标
Shell_NotifyIcon(NIM_ADD, &nId);
.
.
.
.
//删除图标
Shell_NotifyIcon(NIM_DELETE, &nId);
wxlfh
2003-01-06
打赏
举报
回复
to predomination:
我要的是WIN32 API编程的代码,不是MFC,不好意思,我没说清。
predomination
2003-01-06
打赏
举报
回复
以下这段代码是在任务栏中添加一个图
NOTIFYICONDATA tnd;
tnd.cbSize=sizeof(NOTIFYICONDATA);
tnd.hWnd=this->m_hWnd;
tnd.uID=MYWM_NOTIFYID01;
tnd.uFlags= NIF_MESSAGE|NIF_ICON|NIF_TIP;
tnd.uCallbackMessage= MYWM_NOTIFYICON;//指定图标的回调消息
tnd.hIcon = m_hIcon;
CString c;
c.LoadString(IDS_SHELLICON);
接下来需要响应MYWM_NOTIFYICON消息
如ON_MESSAGE( MYWM_NOTIFYICON, OnShellIconNotify );
接下来在函数OnShellIconNotify(WPARAM wParam, LPARAM lParam)中进
行相应处理
lstrcpy(tnd.szTip,c);
Shell_NotifyIcon(NIM_ADD,&tnd);
如:
if(lParam==WM_RBUTTONDOWN)
{
...
}
kmcyz
2003-01-06
打赏
举报
回复
图标是通过窗口消息响应用户动作的。
参见
http://expert.csdn.net/Expert/topic/1273/1273103.xml?temp=8.344668E-02
Shell
_
Notify
Icon
_practice.rar
`
Shell
_
Notify
Icon
()`
函数
是Windows API的一部分,用于管理和更新这些图标,提供与用户交互的方式。在这个`
Shell
_
Notify
Icon
_practice.rar`压缩包中,包含了一个基于VS2017编写的C++窗口程序示例,用于演示如何使用...
系统托盘
Shell
_
Notify
Icon
####
Shell
_
Notify
Icon
函数
`
Shell
_
Notify
Icon
`
函数
用于向任务栏或系统托盘添加、修改或删除一个图标。该
函数
的原型如下: ```c++ BOOL
Shell
_
Notify
Icon
(DWORD dwAction, P
NOTIFY
ICON
DATA pnid); ``` 其中: - `...
系统托盘例子
Shell
_
Notify
Icon
系统托盘的例子"
Shell
_
Notify
Icon
"是一个编程示例,它演示了如何利用Windows API中的`
Shell
_
Notify
Icon
`
函数
来实现程序图标在系统托盘区的显示、交互功能,如最小化窗口到托盘以及通过点击托盘图标恢复窗口。...
利用API
函数
Shell
_
Notify
Icon
在任务栏上放置图标。并且可以相应任务栏图标消息(5KB)
在本示例中,重点在于`
Shell
_
Notify
Icon
` API
函数
,这是一个非常关键的组件,它允许程序员在任务栏上创建并管理通知区域(又称为系统托盘)的图标。这个API
函数
广泛应用于桌面应用,例如,为了显示后台运行程序的...
Audio Change0.03 1021.rar_Audio change_
notify
icon
_tif
在"Audio Change0.03 1021.rar_Audio change_
notify
icon
_tif"这个项目中,开发者正是利用了`
Shell
_
Notify
Icon
()`
函数
来实现在Windows状态栏显示自定义的小图标,并实现音频变化的提示功能。 `
Shell
_
Notify
Icon
()`是...
C语言
70,018
社区成员
243,266
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章