window游戏编程1

WinMain函数

int WINAPI WinMain (
_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPSTR lpCmdLine,
_In_ int nShowCmd
);

winMain函数是windows函数的入口点函数,WINAPI _stdcall,表示一种调用的约定,让编译器知道以windows兼容的方式下产生机器指令.

#include <Windows.h>
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{ 
	MessageBox( NULL, L"First blood! 你好,Visual Studio!", L" 消息窗口", 0 );
	return 0; 
} 

确保WinMain函数具有WINAP的前缀;

WinMain的参数,第一个参数:HINSTANCE hInstance 表示该程序当前运行的实列句柄,hInstance 其实就是一个数值,第二个参数HINSTANCE hPrevInstance:表示当前实例的前一个实例的句柄,第三个参数LPSTR lpCmdLine:以空终止的字符串,指定传递给运用程序的命令行参数,第四个参数int nCmdShow:指定程序窗口应该如何显示,最大化,最小化,还是隐藏等;

MessageBox 函数

MessageBoxA(
    _In_opt_ HWND hWnd,
    _In_opt_ LPCSTR lpText,
    _In_opt_ LPCSTR lpCaption,
    _In_ UINT uType);
    
	MessageBox( NULL, L"First blood! 你好,Visual Studio!", L" 消息窗口", 0 );

MessageBox它用于显示应该消息框,通过一些参数来设置这个消息框的样式。

第一个参数_In_opt_ HWND hWnd:显示消息框所属的窗口和句柄;

第二个参数_In_opt_ LPCSTR lpText:是以NULL结尾的字符串,表示所要显示消息的内容

第三个参数_In_opt_ LPCSTR lpCaption:是以NULL结尾的字符串,在其中填充消息框的标题的内容;

第四个参数 In UINT uType:显示窗口需要的样式;

playsound函数

PlaySoundW(
    _In_opt_ LPCWSTR pszSound,
    _In_opt_ HMODULE hmod,
    _In_ DWORD fdwSound
    );
	
PlaySound(L"FirstBlood.wav", NULL, SND_FILENAME | SND_ASYNC);   //播放音效

第一个参数 LPCWSTR pszSound:指定要播放的声音文件,若是NULL,会把当前播放的声音停掉;

第二个参数 HMODULE hmod:包含第一个参数中指定的声音文件作为资源的可执行文件的句柄

第三个参数 DWORD fdwSound:控制声音播放的标志;

句柄

在windows应用程序中,窗口是通过窗口句柄(HWND)标识的,对某个窗口进行操作,就要得到该句柄,在windows程序中,有各种资源,窗口,图标等,系统创建这些资源会为分配内存,返回标识这些资源的标识号,这些标识号就是句柄。

消息与消息队列

消息的表示形式 MSG结构体

typedef struct tagMSG {
    HWND        hwnd;			//指定消息所属的窗口
    UINT        message;		//指定消息的标识符
    WPARAM      wParam;			//指定此msg的附加信息
    LPARAM      lParam;			//指定此msg的附加信息
    DWORD       time;			//指定投递到消息队列的时间
    POINT       pt;				//指定投递到消息队列中时鼠标的当前位置
#ifdef _MAC
    DWORD       lPrivate;
#endif
} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;

第一个参数 HWND hwnd:指定消息所属的窗口,一个消息都是与某个窗口相关联的;

第二个参数 UINT message:指定消息的标识符&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值