分类: 嵌入式
2009-07-30 21:50:49
wince下如何做程序的开机自动启动?这个问题在vc下是个容易的问题,但是ce下,要尝试一下。
实现的功能如下 :开机自动启动;收到托盘区;托盘区双击程序托盘,程序主界面出现;托盘图标的右键菜单;
主体思想:1 开机自动启动。修改注册表,具体键值忘了,改天加上。
2 收到托盘区。这个分为两种情况,一种是点击最小化收到托盘区,一种是开机自动收到托盘区。其中收到托盘区的方法都一样。
NOTIFYICONDATA nid;
nid.cbSize=(DWORD)sizeof(NOTIFYICONDATA);
nid.hWnd=this->m_hWnd;
nid.uID=IDR_MAINFRAME;
nid.uFlags=NIF_ICON|NIF_MESSAGE|NIF_TIP ;
nid.uCallbackMessage=WM_SHOWTASK;//自定义的消息名称
nid.hIcon=LoadIcon(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MAINFRAME));
CString szToolTip=_T("VMAX Connection Manager");
wcscpy(nid.szTip,szToolTip);
if(Shell_NotifyIcon(NIM_ADD,&nid) !=0 ) //在托盘区添加图标
ShowWindow(SW_HIDE); //隐藏主窗口
利用这个Shell_NotifyIcon函数。nid可以设置托盘的一些信息,比如图标是nid.uID,回调消息是nid.uCallbackMessage,这个可以设置回调的消息,也就是对托盘图标操作之后的响应。这个操作可以使双击,可以使右键。所以可以在这里处理,托盘右键菜单的问题。
3 ,设置自定义消息的响应函数,在函数中区分对图标的操作类型,分别响应。
下面是onShowMain函数,主要作用是弹出主界面。OnShowTast函数的作用是对图标操作消息的响应,这个映射关系要自己去定义,它的主要功能是对右键弹出相应的操作菜单,其中菜单又可以自定义响应消息和响应函数。双击弹出主界面,调用onShowMain函数。当然你也可以再这里添加其它的操作也可以。
|
|