要建立一个窗口的过程
1,编写WNDCLASS结构
WNDCLASS wnd; wnd.lpszClassName="Window1"; wnd.hInstance=hInstance; wnd.cbClsExtra=0; wnd.cbWndExtra=0; wnd.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);//黑色画面 wnd.hCursor=::LoadCursor(0,IDC_ARROW); wnd.hIcon=::LoadIcon(0,IDI_APPLICATION); wnd.lpfnWndProc=WindowProc; wnd.lpszMenuName=0; wnd.style=CS_VREDRAW|CS_HREDRAW;
2.注册WNDCLASS,调用RegistorClass
if(!::RegisterClass(&wnd)){ MessageBox(0,"注册窗口出错!","error",0); return 0; }
3.创建窗口,CreateWindow
HWND hwnd=::CreateWindow(
"Window1",
"第一个游戏",
WS_OVERLAPPEDWINDOW,
100,
100,
800,
600,
0,
0,
hInstance,
0);
4.显示窗口,ShowWindow()
::ShowWindow(hwnd,SW_SHOW);
5.while循环,处理消息
MSG msg; while(::GetMessage(&msg,0,0,0)) { ::TranslateMessage(&msg); ::DispatchMessage(&msg); }
全部代码:
#include "windows.h" //回调函数,处理消息 LRESULT CALLBACK WindowProc( HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ) { switch(uMsg) { case WM_DESTROY: ::PostQuitMessage(0); break; default: return ::DefWindowProc(hwnd,uMsg,wParam,lParam); } return 0; } int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // command line int nCmdShow // show state ) { WNDCLASS wnd; wnd.lpszClassName="Window1"; wnd.hInstance=hInstance; wnd.cbClsExtra=0; wnd.cbWndExtra=0; wnd.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH); wnd.hCursor=::LoadCursor(0,IDC_ARROW); wnd.hIcon=::LoadIcon(0,IDI_APPLICATION); wnd.lpfnWndProc=WindowProc; wnd.lpszMenuName=0; wnd.style=CS_VREDRAW|CS_HREDRAW; if(!::RegisterClass(&wnd)){ MessageBox(0,"注册窗口出错!","error",0); return 0; } HWND hwnd=::CreateWindow( "Window1", "第一个游戏", WS_OVERLAPPEDWINDOW, 100, 100, 800, 600, 0, 0, hInstance, 0); ::ShowWindow(hwnd,SW_SHOW); MSG msg; while(::GetMessage(&msg,0,0,0)) { ::TranslateMessage(&msg); ::DispatchMessage(&msg); } return 0; }
发表评论
-
游戏工作资料
2014-02-17 10:34 0c -
游戏 压力测试工具
2014-02-14 18:16 0公司让我为游戏做个 压力测试工具 ... -
java游戏 地图编辑器
2014-01-08 15:52 0无聊之余,做了个地图编辑器,根据一张地图图片,生成它的 ... -
java游戏小框架学习笔记
2014-01-08 10:45 01.AVGScript类中怎么触发 ... -
游戏编程中的寻路算法
2013-12-26 17:40 0在游戏关卡中常常会放置一些怪物(即NPC),这些怪物通常在一 ... -
UDK自定义角色(二)
2013-03-11 15:31 0对比UTFamilyInfo_Liandri_Male.u ... -
在udk中整合动画组的两种方式
2013-03-11 12:35 01.使用udk原始psk文件格式 前提,udk的坐标轴要 ... -
在udk中测试动画
2013-03-11 10:42 0在内容浏览器中选中animSet 在地图 ... -
udk开发工具
2013-01-29 11:13 0notepad++插件 UnrealScript.xml ... -
第14节 udk学习之坦克前进声音与背景音乐
2013-01-15 15:50 0在udk中建立cue资源,导入wav声音,再到代码中修改 ... -
java俄罗斯方块
2013-01-02 11:50 862做个俄罗斯方块游戏 packag ... -
udk学习之武器准心
2012-12-05 12:16 0给武器瞄准点加上准心,如图 准心资源 ... -
udk相关软件、插件下载
2012-11-26 09:32 0photoshop的dds插件:http://dl.ite ... -
第13节 UDK载具之炮弹
2012-11-16 21:54 0继承UTProjectile类 class Tan ... -
第12节 UDK学习 载具之炮筒(2)
2012-11-13 18:05 0这节学习炮塔随像机的转动而转动。 首先要取得像机的角度 ... -
第12节 UDK载具之炮筒
2012-11-11 11:41 0这节学习如何给车装上武器(已经提供了武器模型) 1.添加放 ... -
第11节 UDK学习之第三人称视角
2012-11-10 23:33 0这节做一个第三人称视角,鼠标左右前后移动与第一人称无差别,通 ... -
第10节 udk学习之自定义载具(2)
2012-11-10 21:23 01.骨骼风格物体与动画 ... -
第九节 UDK学习之自定义角色之 (三)
2012-10-17 16:30 0高手都盾世了吗,udk社区太不厚道了,看篇文章要钱,下个资源要 ... -
第八节 udk学习之自定义角色 二
2012-10-14 18:49 0首先墨迹一下: 要 ...
相关推荐
一个最简单的Win32程序,作为学习d3d11的开始。
教你创建你的第一个可运行的win32程序
Sample code for < Win32ASM Programming 2nd Edition> ; by 罗云彬, http://asm.yeah.net ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ; Test.asm ; 编程环境测试代码 ;>>>>>>>>>>>>>...
一个最简单的WIN32程序框架,windows程序运行机制,学习WIN32的第一个例子
一个最简单的用win32调用OPENGL例子,学习openGL的WIN32框架。
一个基于win32下的最简单的socket通信小程序
程序开发流程(文字描述): 1、简单实现基本的显示功能,界面功能,使用了RichEdit控件 2、添加打开文件,显示文件,保存文件,以及常见的复制、粘贴等功能! 3、实现显示行号功能!这里使用了子类化功能! 4、逐步...
最简单,适用初学者的基于控制台的Win32程序
最简单的动态链接库例子 - 在VC++中使用汇编编写的DLL Chapter11\KeyHook ;Windows 钩子的例子 - 监听键盘动作 Chapter11\RecHook ;Windows 日志记录钩子的例子 - 监听键盘动作 Chapter12\Counter ;有问题的程序 ...
简单的win32控制台程序。最主要学习如何使用socket编程,学会如何建立连接。
VC 所以大受欢迎,是由于开发平台与操作系统属于同一家公司的产品,从而使得利用 VC 开发的 Windows 应用程序编码简洁,运行效率高。但需要说明的是:有时,方便反而会带来一些限制,即灵活性将受到影响。 VC6 的...
对于Win32汇编也是如此,从最简单的例子开始总是没错的,笔者建议读者跟随本书中从简到繁的例子,努力做到理解并灵活引用这些例子中的各种功能,正如“熟读唐诗三百首,不会写诗也会吟”,最后能够熟练地使用Win32...
《Windows环境下32位汇编语言程序设计》从编写应用程序的角度,从“HelloWorld"这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过60多个实例逐渐深入Win32汇编语言的方方面面。Windows环境下32位...
ModifyCall()利用进程的HINSTANCE(也即HMODULE,对于Win32而言它们是一回事,即装载基址)找到DOS文件头结构IMAGE_DOS_HEADER,再利用IMAGE_DOS_HEADER中的e_lfanew成员找到Win32的IMAGE_NT_HEADERS结构,该结构...
Windows程序分为“程序代码”和“UI”(User Interface 用户接口)资源”两大部分,两部分最后以RC编译器整合为一个完整的EXE文件。
汇编语言编程是作者的一大爱好,作者自1990年开始即使用汇编语言编写程序,是Windows操作系统流行后国内最早研究Win32汇编编程的程序员之一,在1998年创建了专门探讨汇编编程的网站——htlp://asm.yeah.net,曾...
最简单的动态链接库例子 - 在VC++中使用汇编编写的DLL Chapter11\KeyHook ;Windows 钩子的例子 - 监听键盘动作 Chapter11\RecHook ;Windows 日志记录钩子的例子 - 监听键盘动作 Chapter12\Counter ;有问题的程序 - ...
WIN10+VS2017+WDK开发的一个最简单的驱动程序实例,详见我的博客【https://blog.csdn.net/LEON1741/article/details/87291839】