最简单的Windows窗口程序,使用main函数,隐藏控制台等,适合window编程入门
来源:互联网 发布:centos 6删除防火墙 编辑:程序博客网 时间:2024/06/06 06:59
#include <Windows.h>#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" ) //隐藏控制台用,注掉后控制台和窗口一起出现LRESULT WINAPI WndProc(HWND,UINT,WPARAM,LPARAM);int main(){HINSTANCE hInstance = GetModuleHandle(NULL);//获取实例句柄WNDCLASSEX wc;MSG msg;HWND hwnd;//填充窗口属性wc.cbSize = sizeof(WNDCLASSEX);wc.style = CS_HREDRAW | CS_VREDRAW;wc.lpfnWndProc = WndProc;wc.cbClsExtra = wc.cbWndExtra = NULL;wc.hInstance = hInstance;wc.hbrBackground = (HBRUSH)GetStockObject(COLOR_WINDOW+1);wc.lpszMenuName = NULL;wc.lpszClassName = TEXT("MyWindow");wc.hIcon = wc.hIconSm = LoadIcon(NULL,IDI_APPLICATION); wc.hCursor = LoadCursor(NULL,IDC_ARROW); RegisterClassEx(&wc);//注册窗口类hwnd = CreateWindowEx(NULL,wc.lpszClassName,wc.lpszClassName,WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL );//创建窗口ShowWindow(hwnd, SW_SHOW);//显示窗口UpdateWindow(hwnd);//更新窗口
//进入消息循环while(true){if(!GetMessage(&msg,0,0,0))break;TranslateMessage(&msg);DispatchMessage(&msg);}return 0;}//窗口过程回调函数,在这里处理窗口消息LRESULT WINAPI WndProc( HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam){switch(uMsg){case WM_DESTROY:PostQuitMessage(NULL);break;}return DefWindowProc(hWnd, uMsg, wParam, lParam);}
vs2008 下面编译通过
比起自动创建的window窗口精简不少,而且是用新手熟悉的main函数。虽然是这么说,但是要理解这里面的过程,果然还是要看看windows编程相关基础才行。想我以前就是不理解什么叫回调,为什么窗口过程会“自己执行了”,感觉不按程序的套路来,呵呵。
其实什么回调不回调,不过是函数指针的知识罢了,注册的时候就把函数指针给了一个结构体,窗口程序在接受到窗口消息后调用了这个函数指针而已,没什么特别的,只是它是在windows内部完成的,看不到而已,如果自己写过DLL就会理解多一点。
- 最简单的Windows窗口程序,使用main函数,隐藏控制台等,适合window编程入门
- Windows编程之最简单窗口程序
- 隐藏控制台程序的窗口
- 怎么隐藏控制台程序的控制台窗口
- 控制台程序窗口隐藏
- 如何隐藏控制台程序的窗口
- 隐藏控制台程序的窗口(转)
- 隐藏win32控制台程序的窗口
- 隐藏控制台程序的dos窗口
- VC隐藏控制台程序窗口的实现
- 将Window窗口程序改成Windows 控制台程序
- cmd控制台程序窗口隐藏
- 隐藏控制台程序dos窗口
- cmd控制台程序窗口隐藏
- VC++ 隐藏控制台程序窗口
- [VC++]控制台程序窗口隐藏
- console控制台程序隐藏窗口
- [VC++]控制台程序窗口隐藏
- LeetCode(4) MedianOfTwoSortedArray
- Recover Binary Search Tree BST找乱序的两个元素 @LeetCode
- [Leetcode 141 & 142, medium] Linked List Cycle (I and II)
- Django 学习笔记(八)
- Django 学习笔记(九)
- 最简单的Windows窗口程序,使用main函数,隐藏控制台等,适合window编程入门
- Spiral Matrix 输出旋转矩阵@LeetCode
- 数组和指针(c专家编程学习笔记)
- 如何压缩vbox磁盘 vdi
- 图片按比例缩放
- PHPMailer发送邮件实例
- PHPMailer邮件发送的代码分享
- phpmailer发送gmail邮件实例详解
- EE转CS女生,接了Oracle的offer,附赠Google, Oracle,Amazon,Yahoo,Microsoft今年给硕士生工资数目