我想用Win32 API写个类似于“考研倒计时”的桌面小程序,但是以往写的Win32应用程序都是带窗口框架的,不知道这种桌面小程序是怎么制作的,请有经验的大虾指点指点,不胜感激。
解决方案 »
- 驱动有未完成irp时的退出问题?
- 请问一个关于visual studio.net的问题
- 如何让VC由生成DLL文件转为生成.EXE文件呢
- 谁有WIN32 CONSOLE APPLICATION 下的文件传输例子
- 谁能帮我写一个关于基于二值图的区域生长算法?在线等待,分值不够,可以加。
- 关于建立哪一种工程的问题?
- VC中运行DOS下TURBOC2。0的几个问题?
- 如何得到NT/2000系统中正在运行的进程的cpu使用情况、虚拟内存使用情况?(VC6)
- 请教大侠CDaoRecordset::FindNext("PublishDate=")怎样查找日期在指定年份的记录???????
- 一个基于FormView的程序,打开文件时窗口自动变小
- 偶在写向串口WriteFile后再用ReadFile取得WriteFile写的结果,怎么会有多少的字符(乱码)
- 图像锐化
如果在桌面上显示那么你可以写一个隐藏的窗口,然后用::GetDC(NULL)取得桌面DC,然后输出就行了。
呃差不多是这样的,就是Windows默认的窗口框架不好看,我想自己定义的好看一点的
以前写程序都是直接采用Windows默认的风格,其他的就不是很清楚了,所以还是要请教
#include <windows.h>
#include "resource.h"LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam);
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{ WNDCLASS wndclass;
wndclass.lpszClassName="Win32"; // window class name
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName=NULL;
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hIcon=LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON));
wndclass.hInstance=hInstance;
wndclass.lpfnWndProc=WndProc;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
RegisterClass(&wndclass); HWND hWnd = CreateWindowEx( WS_EX_TOPMOST,
"Win32","Demo",
WS_POPUP|WS_BORDER,
225,160,100,100,NULL,NULL,hInstance,NULL) ; if (!hWnd) return FALSE;
ShowWindow(hWnd,SW_SHOWNORMAL);
UpdateWindow(hWnd); MSG msg;
while(GetMessage(&msg,NULL,0,0)) {TranslateMessage(&msg);DispatchMessage(&msg);} return msg.wParam ;
}LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
switch(message)
{
case WM_CREATE:
break;
case WM_LBUTTONDOWN:
break;
case WM_RBUTTONDOWN:
::PostMessage(hWnd,WM_CLOSE,NULL,NULL);
break;
case WM_CLOSE:
DestroyWindow(hWnd); //既关闭按钮,可以在此时询问用户是否确定要关闭,再调用DestroyWindow关闭程序
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd,message,wParam,lParam);
}
return 0;
}