创建一个不显示窗口的Win32程序

有些时候在windows编程中,我们不需要显示窗口,也不想在任务栏中显示,但却需要用到消息循环,这时候我们就需要建立一个不显示窗口的Win32程序。

只需要将VS自动生成的框架中的:

   HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr);

改为

   HWND hWnd =  CreateWindowEx(WS_EX_TOOLWINDOW |
	   WS_EX_NOACTIVATE |
	   WS_EX_TRANSPARENT |
	   WS_EX_LAYERED |
	   WS_EX_TOPMOST,
	   szWindowClass,
	   szTitle,
	   WS_POPUP,
	   0, 0, 0, 0,
	   NULL,
	   NULL,
	   hInstance,
	   nullptr);

其他的代码不需要任何改变。

这样既没有了窗口,却可以注册消息循环,处理消息。

猜你喜欢

转载自blog.csdn.net/qq_20828983/article/details/75379623