DEVCPP的托盘图标运作
发布时间:2011-06-27 19:04:21 文章来源:www.iduyao.cn 采编人员:星星草
DEVCPP的托盘图标运行
我用DEVCPP在WINDOWS下编程,然后在SOLARIS下编译\运行,现想用的托盘图标方式运行程序,不知怎样写,那位朋友给指点一下,谢谢!
------解决方案--------------------
BOOL Shell_NotifyIcon(
DWORD dwMessage,
PNOTIFYICONDATA pnid
);
第一个参数dwMessage类型为DWORD,表示要进行的动作,它可以是下面的值之一:
NIM_ADD: 添加一个图标到任务栏。
NIM_MODIFY: 修改状态栏区域的图标。
NIM_DELETE: 删除状态栏区域的图标。
NIM_SETFOCUS: 将焦点返回到任务栏通知区域。当完成用户界面操作时,任务栏图标必须用此消息。例如,如果任务栏图标正
显示上下文菜单,但用户按下"ESCAPE"键取消操作,这时就必须用此消息将焦点返回到任务栏通知区域。
NIM_SETVERSION:指示任务栏按照相应的动态库版本工作。
第二个参数pnid是NOTIFYICONDATA结构的地址,其内容视dwMessage的值而定。这个结构在SHELLAPI.H文件中定义如下:
typedef struct _NOTIFYICONDATA {
DWORD cbSize; // 结构大小(sizeof struct),必须设置
HWND hWnd; // 发送通知消息的窗口句柄
UINT uID; // 图标ID ( 由回调函数的WPARAM 指定)
UINT uFlags;
UINT uCallbackMessage; // 消息被发送到此窗口过程
HICON hIcon; // 图标句柄
CHAR szTip[64]; // 提示文本
} NOTIFYICONDATA;
uFlags的值:
#define NIF_MESSAGE 0x1 // 表示uCallbackMessage 有效
#define NIF_ICON 0x2 // 表示hIcon 有效
#define NIF_TIP 0x4 // 表示szTip 有效
有关Shell_NotifyIcon函数的详细使用细节请参考MSDN。
NOTIFYICONDATA结构中的 hWnd 是"拥有" 图标的窗口句柄。uID可以是任何标示托盘图标的ID(如果有多个图标),一般使用资源ID。HIcon可以是任何图标的句柄,包括预定义的系统图标,如 IDI_HAND、IDI_QUESTION、IDI_EXCLAMATION、或者Windows的徽标IDI_WINLOGO。
图标的显示并不难,关键是事件的处理。当用户将鼠标移到图标上或者在图标上单击鼠标时,为了得到通知消息,你可以将自己的消息ID赋给uCallbackMessage,并设置 NIF_MESSAGE标志。当用户在图标上移动或单击鼠标时,Windows将用hWnd指定的窗口句柄调用你建立的窗口过程;消息ID在 uCallbackMessage中指定,uID的值即为wParam,lParam为鼠标事件,如WM_LBUTTONDOWN等。
------解决方案--------------------
应该不可以运行吧,大家好像没看清楚LZ的意思。
SOALRIS 没用过,楼主好像不是用VC呀,是不是换个版问一问吧,
------解决方案--------------------
在unix的安装中是可以使用托盘的,比如飞鸽传书的最新版本在安装脚本中就可以使用托盘,
建议lz下载一下飞鸽传书的源码,看看他是如何实现托盘图标的,
如果找不到的话,留下邮箱我给你发一份。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
solaris 10下的多线程和solaris 5.8下多线程编译有什么区别??
我一个在solaris 10下编译通过且能正常运行的程序,为什么在solaris 5....
-
提示 read-only file system
从网上下载了一个vmware 镜相文件,用root 登陆,但用vi, mkdir 总是提示 read-only file system
这...
-
ftp的20、21端口
如果一台机器1可以ftp到另一台机器2,则需要开通机器1到机器2的20和21端口,我在机器1上用“telnet 机器1的IP 21”...
-
Solaris10如何重启inetd服务
问题描述:SunOS(Solaris 10) Unix系统下有一个具有sudo权限的非root用户修改了/etc/services文件,请问...
-
求solaris下的类似linux的top命令,谢谢!
rt
------解决方案--------------------
你可以使用prstat或者去下载包含top命令的软件包...
-
(急!)如何在UNIX中配置Microsoft SQL Server 2000 Driver for JDBC?
UNIX环境中已设置环境变量(在.bash_profile中设置,执行:echo $CLA...
-
Solaris 压缩问题
Solaris 我打了一个tar包,它的大小有6.5G,然后我用zip去压缩的时候发现不能成功,好像zip不能压缩超过2G的文件,请问...
-
急急急unix下的Xterm指的是什么?
急急急unix下的Xterm指的是什么?在哪里可以找到这个东东?原话是这样的:“do same as above with: an...
-
solaris下面,如何看支持mount哪些类型的文件系统
mount命令本身有这样的功能么?
------解决方案--------------------
没有 一...
-
请教各位高手,有没有命令是用来查看文件格式的 unix dos
查看某个文件是unix格式还是dos格式,能用vi命令来看,但是好像不能用程序来...