当前位置:  技术问答>linux和unix

DEVCPP的托盘图标运行

    来源: 互联网  发布时间:2016-05-18

    本文导语:  我用DEVCPP在WINDOWS下编程,然后在SOLARIS下编译运行,现想用的托盘图标方式运行程序,不知怎样写,那位朋友给指点一下,谢谢! | 在unix的安装中是可以使用托盘的,比如飞鸽传书的最新版本在安装脚...

我用DEVCPP在WINDOWS下编程,然后在SOLARIS下编译运行,现想用的托盘图标方式运行程序,不知怎样写,那位朋友给指点一下,谢谢!

|
在unix的安装中是可以使用托盘的,比如飞鸽传书的最新版本在安装脚本中就可以使用托盘,
建议lz下载一下飞鸽传书的源码,看看他是如何实现托盘图标的,
如果找不到的话,留下邮箱我给你发一份。

|
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呀,是不是换个版问一问吧,

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3