Hello, windows XP

来源:互联网 发布:淘宝网订单号查询 编辑:程序博客网 时间:2024/05/17 02:46
 
       学习windows programming这么久,也做过一些小的程序。但是总感觉到自己没有经过系统的学习,要用到什么才学什么。这样虽然解决了问题,自己的知识还是杂乱的。从现在开始,我把自己放在0的位置,重新学习,期望能对windows编程有系统的认识。
       还是从最简单的开始,“Hello, windows XP”。
 
#include <windows.h>

int  WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, 
             LPSTR lpCmdLine, 
int nShowCmd)
{
    MessageBox(NULL, TEXT(
"Hello, windows XP!"), TEXT("go"), MB_OK);
    
return 0;
}
#define WINAPI __stdcall
Windows程序的入口函数已经不是原来的main了,应该是WinMain。在前面加上WINAPI只是函数调用习惯的问题(calling convention)。如果不加就会弹出一条警告。
: warning C4007: 'WinMain' : must be '__stdcall'
WinMain的第一个参数hInstance是一个实例句柄。在windows编程中,句柄就是用来对某个对象进行唯一标识的数字。注意这里所说的对象可不是面向对象里谈到的对象哦。在这里,hInstance 就是唯一标识程序对象的。第二个参数hPreInstance也是一个实例句柄。它是win16时期遗留下来的产物,在win32中都是NULL。第三个参数lpCmdLine是在命令行里启动程序时用来传递参数的。最后一个是nShowCmd,它指示了程序启动时窗口的状态。例如:最大化。
       函数体中掉用了MessageBox。掉用该函数会弹出一个窗口。这也是windows编程中最简单,也是最直接显示窗口的方式。在参数中,没个字符串都被包含在一个TEXT宏中,主要是考虑到UNICODE的问题。
 
原创粉丝点击