代码改变世界

win32初窥

2012-07-30 14:54  java线程例子  阅读(250)  评论(0编辑  收藏  举报

今天来窥视一下win32的窗体程序,学习windows32到底有没有必要呢,到底windows32有没有过时,其实这个答案我已经告诉你了,要不然我也不会窥视windows32.

不会c++,不会windows32编程的人,不要说自己是一名程序员。windows32学好了,MFC学好了,那你就牛逼了。

那么学习windows32必要的条件是什么呢:

1扎实的C++基础

2visual C++6.0或visual studioXXX

3很重要的一个工具MSDN(网上可以找到,最新是2001,10月的,(微软没再更新了))

 

平时我们在console编程的时候是这样的:

#include<iostream>
using namespace std;
int main(){
   cout<<"HELLO  Win"<<endl;
   return 0;
}

那么对应的windows32程序怎么写呢?

不用恐惧,没有想象中的那么难:

#include<windows.h>
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow){
	MessageBox(NULL,TEXT("hello,windows 98!"),TEXT("HelloMsg"),0);
	return 0;
}

截个效果图给大伙看看:

再给大伙截个图,是从CSDN截的,看看winmain是怎么定义的:

解释一下参数的意义:

#include<windows.h>这是必须的,几乎包含了windows编程中的所有预处理器指令。windows.h是一个最重要的包含文件,它囊括了若干其他windows头文件,其中某些另外的头文件也很重要,下面几个是最基本的:

WINDEF.H   基本数据类型定义

WINNT.H    支持Unicode的类型定义

WINBASH.H  内核函数

WINUSER.H  用户界面函数

WINGDI.H   图形设备接口函数

WinMain的参数介绍:

第一个参数是:实例句柄,在程序里标识某样东西,在这里当让就标识这个主程序啦。

第二个参数是:是否有他的其它实例在运行,现在一般不用了,直接NULL

第三个参数是:命令行

第四个参数是:指明程序是如何显示的。

MessageBox参数:

第一个参数是:窗口句柄

第二个参数是:MessageBox的内容

第三个参数是:MessageBox标题的内容

第四个参数是:MB_常量,用来表示图标,按钮等。

下面看看第四个参数的一些常量:



 

这些value都可以作为第四个参数传进去,两个参数之间用“|”隔开(OR)

如下:

#include<windows.h>
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdLine,int iCmdShow){
	MessageBox(NULL,TEXT("hello,windows32!"),TEXT("HelloMsg"),MB_OK|MB_ICONERROR);
	return 0;
}


现在对windows32有一点了解了,我会继续发博客,跟大家一起学习win32的