windowAPI--手动编写一个消息窗口
来源:互联网 发布:vs2017写c语言 编辑:程序博客网 时间:2024/04/30 23:32
注意红色部分,
1、如果缺少 #include <tchar.h> 链接不会通过,
2、wcs.lpszClassName = clsName; 和 CreateWindow(clsName, 中的 clsName一定要保持一致,否则会出错误
#include <Windows.h>
#include <tchar.h>//消息回调函数
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
{
return DefWindowProc(hWnd, uMessage, wParam, lParam);
}
//int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPreInstance, _In_ LPTSTR lpCmdLine, _In_ int nShowCmd)
int APIENTRY _tWinMain( _In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPTSTR lpCmdLine, _In_ int nShowCmd )
{
//类名
TCHAR clsName[] = TEXT("Hellp");
TCHAR winName[] = TEXT("窗口Hello");
//描述一个窗口类
WNDCLASSW wcs ;
wcs.style = CS_HREDRAW | CS_VREDRAW;
wcs.lpfnWndProc = WndProc;
wcs.cbClsExtra = 0;
wcs.cbWndExtra = 0;
wcs.hInstance = hInstance;
wcs.hIcon = NULL;
wcs.hCursor = LoadCursor(hInstance, IDC_ARROW);
wcs.hbrBackground = CreateSolidBrush(RGB(0xFF, 0xFF, 0xFF));
wcs.lpszMenuName = NULL;
wcs.lpszClassName = clsName;
//注册窗口类
if ( RegisterClass(&wcs))
{
MessageBox(NULL, TEXT("失败"), NULL, NULL);
return 0;
}
//创建窗口类
HWND hwnd = CreateWindow(clsName, winName, WS_OVERLAPPEDWINDOW, 100, 100, 200, 200, NULL, NULL, hInstance, NULL);
//显示更新窗口
ShowWindow(hwnd, nShowCmd);
UpdateWindow(hwnd);
MSG msg ;
//循环消息
//获取消息
while (GetMessage(&msg, hwnd, NULL, NULL))
{
//转换消息
TranslateMessage(&msg);
//分发消息
DispatchMessage(&msg);
}
return 0;
}
0 0
- windowAPI--手动编写一个消息窗口
- 一个使用WindowAPI函数进行编写的COM通信类
- WIndowAPI--简单理解Windows的消息(1)
- 手动编写一个Servlet程序
- Cocosd2d 手动编写一个shader
- 手动编写、编译一个servlet
- 手动编写一个弹出框
- 手动编写最简单win32窗口
- 编写一个JFrame窗口
- 编写一个JFrame窗口
- 编写一个JFrame窗口
- 手动编写一个Servlet类并运行
- 编写一个Windows窗口应用程序
- 作业: 编写一个JFrame窗口
- 编写一个脚本,对至少三个以上记事本窗口做相同操作,对任意一个窗口进行手动操作,其余窗口由脚本执行相同步骤的键鼠操作,记得是键盘操作+鼠标操作。
- WM_NCLBUTTONDOWN+HTCAPTION消息移动一个窗口
- WM_NCLBUTTONDOWN+HTCAPTION消息移动一个窗口
- 一个Pyqt编写的小窗口
- 河南第三届ACM省赛(素数)
- classPath和classPath*的区别
- iOS本地通知
- Struts2五、Struts1与Struts2的区别
- 卖火车票---java线程
- windowAPI--手动编写一个消息窗口
- TSM备份Oracle报错(rman-06012,ANR1401W)
- docker 报错:x509: certificate has expired or is not yet valid
- JavaScript高级程序设计之面向对象的程序设计之继承之寄生组合式继承第6.3.6讲笔记
- 二叉搜索树的后序遍历序列
- 项目____上传文件
- 一些支持向量机(SVM)的开源代码库的链接及其简介
- LeetCode---Maximum Subarray
- Android应用方法数查看,查看size是否超过65k