windows编程——简述2
来源:互联网 发布:优化新闻源的排名 编辑:程序博客网 时间:2024/05/19 14:35
//windows.h头文件,包含windows函数#include <windows.h>//函数声明BOOL InitWindow( HINSTANCE hInstance, int nCmdShow );LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam );//变量定义HWND hWnd; //窗口句柄//************************************************************//函数:WinMain( )//功能:Windows程序入口函数。创建主窗口,处理消息循环//************************************************************int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){if ( !InitWindow( hInstance, nCmdShow ) ) return FALSE; //创建主窗口//如果创建不成功则返回FALSE并同时退出程序MSG msg;//进入消息循环:for(;;){if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)){if ( msg.message==WM_QUIT) break;TranslateMessage(&msg); DispatchMessage(&msg);}}return (int)(msg.wParam);}//************************************************************//函数:InitWindow( )//功能:创建窗口//************************************************************static BOOL InitWindow( HINSTANCE hInstance, int nCmdShow ){//定义窗口风格:WNDCLASS wc; wc.style = NULL;wc.lpfnWndProc = (WNDPROC)WndProc;wc.cbClsExtra = 0;wc.cbWndExtra = 0;wc.hInstance = hInstance;wc.hIcon = NULL;wc.hCursor = NULL;wc.hbrBackground = CreateSolidBrush (RGB(0, 255, 0)); //浅绿色的背景wc.lpszMenuName = NULL;wc.lpszClassName = "My_Test";RegisterClass(&wc);//注册窗口类//按所给参数创造窗口hWnd = CreateWindow("My_Test","My first program",WS_POPUP|WS_MAXIMIZE,0,0,GetSystemMetrics( SM_CXSCREEN ), //此函数返回屏幕宽度GetSystemMetrics( SM_CYSCREEN ), //此函数返回屏幕高度NULL, NULL, hInstance, NULL);if( !hWnd ) return FALSE;ShowWindow(hWnd, nCmdShow);//显示窗口UpdateWindow(hWnd);//刷新窗口return TRUE;}//************************************************************//函数:WndProc( )//功能:处理窗口消息//************************************************************LRESULT CALLBACK WndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ){switch( message ){case WM_KEYDOWN://击键消息switch( wParam ){case VK_ESCAPE:MessageBox(hwnd, "您按下了ESC! 点击确定后退出!", "键盘", MB_OK);PostMessage(hwnd, WM_CLOSE, 0, 0);//给窗口发送WM_CLOSE消息break;}return 0; //处理完一个消息后返回0case WM_CLOSE: //窗口关闭DestroyWindow( hwnd ); //释放窗口return 0;case WM_LBUTTONDOWN:MessageBox(hwnd, "您按下了鼠标左键!", "鼠标", MB_OK);return 0;case WM_RBUTTONDOWN:MessageBox(hwnd, "您按下了鼠标右键!", "鼠标", MB_OK);return 0;case WM_DESTROY: //程序退出PostQuitMessage( 0 ); //给窗口发送WM_QUIT消息return 0;}//调用缺省消息处理过程return DefWindowProc(hwnd, message, wParam, lParam);}上面就是一个简单windows程序的代码了。用VC++6.0编译过程参考<windows编程——编译>。
运行,就会出现一个浅绿色的“窗口”。然后你可以试试按按鼠标右键或Esc键看看效果
0 0
- windows编程——简述2
- windows编程——简述1
- windows上Socket编程简述
- 老文章——TWebBrowser编程简述
- 老文章——TWebBrowser编程简述
- Windows编程(5)-简述va_list, va_start, va_end
- Java编程那些事儿80——集合框架简述
- Java编程那些事儿80——集合框架简述
- C++ 并发编程的一种思维 — Theron 库简述
- 简述——angular
- GET,POST — 简述
- Windows管道技术简述
- Windows管道技术简述
- Windows管道技术简述
- Windows管道技术简述
- Windows管道技术简述
- Windows可执行文件简述
- Windows管道技术简述
- censtos6.2 DNS 服务器搭建
- 一个项目的大体架构及想法。
- HDU 1230 火星A+B
- 游戏服务器之事件注册
- 混淆的艺术-(苍井空变凤姐)Proguard源码分析(一)前言和计划
- windows编程——简述2
- Windows Server2008 禁止关闭防火强
- FFMPEG中关于ts流的时长估计的实现
- 收藏网址
- 股票EPS
- 内联定位
- 了解oracle表空间操作详解
- strlen和strcpy_s引发的堆破坏
- [三分]ZOJ3203Light Bulb