C++,如何不创建窗口,只创建托盘图标。
#include<windows.h>#include<tchar.h>#include"ShellAPI.h"NOTIFYICONDATAnid;HINSTANCEg_...
#include <windows.h>
#include <tchar.h>
#include "ShellAPI.h"
NOTIFYICONDATA nid;
HINSTANCE g_hInst;
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int cmdShow)
{
g_hInst = hInstance;
nid.cbSize=sizeof(NOTIFYICONDATA); //因为没有窗口句柄,不能对nid.hWnd赋值
nid.uID=IDABORT;
nid.uFlags=NIF_ICON;
nid.hIcon=LoadIcon(g_hInst, MAKEINTRESOURCE(IDABORT));
Shell_NotifyIcon(NIM_ADD,&nid);
Sleep(10000);
return 0;
}
我用这个代码发现,
如果不创建窗口,就没有窗口句柄,不能对nid.hWnd赋值,
托盘图标能成功创建,但鼠标指上去就会消失。
创建窗口之后隐藏窗口这办法我知道,
我想知道有没有什么办法,不创建窗口,只创建托盘图标的? 展开
#include <tchar.h>
#include "ShellAPI.h"
NOTIFYICONDATA nid;
HINSTANCE g_hInst;
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int cmdShow)
{
g_hInst = hInstance;
nid.cbSize=sizeof(NOTIFYICONDATA); //因为没有窗口句柄,不能对nid.hWnd赋值
nid.uID=IDABORT;
nid.uFlags=NIF_ICON;
nid.hIcon=LoadIcon(g_hInst, MAKEINTRESOURCE(IDABORT));
Shell_NotifyIcon(NIM_ADD,&nid);
Sleep(10000);
return 0;
}
我用这个代码发现,
如果不创建窗口,就没有窗口句柄,不能对nid.hWnd赋值,
托盘图标能成功创建,但鼠标指上去就会消失。
创建窗口之后隐藏窗口这办法我知道,
我想知道有没有什么办法,不创建窗口,只创建托盘图标的? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询