Windows api 学习

一直想学习Windows  api可是很多东西都不会,所以一直都没有痛下狠心学习,现在从零学习。我感觉很多东西都是不懂的时候感觉很神奇,等懂了之后就没有那种感觉了。所以绝对打破这种神秘感。

其他的不多说从最简单的说起吧。下面给一下源码。。。

#include "stdafx.h"
#include <Windows.h>
#include <iostream>
#pragma comment (lib,"User32.lib")
 int _tmain(int argc, _TCHAR* argv[])
{
    MessageBox(NULL,TEXT("开始学习Windows编程"),TEXT("消息对话框"),MB_OK);
    char c;
    std::cin>>c;
    return 0;
}

这段代码就是调用window api最简单的一个例子。

首先要在开头引入文件头Windos.h,和c++最常用的输入输出类库iostream.

在这里我们调用MessgeBox这个函数,就需要在在_tmain函数上面加入#pragma comment (lib,"User32.lib")这句话,它表示链接User32这个库。

那我们该怎么理解那句话呢!下面请看引用动态链接库的基本格式和解说:

#pragma comment( comment-type [,"commentstring"] ) 

comment -type是一个预定义的表示,指定注释的类型,应该是compiler,exestr,lib,linker之一。

commentstring 是一个为comment -type提供附加信息的字符串。

下面解释下上面几种注释类型的含义:

1、compiler:

  将编译器的版本号和名称放入目录文件中,本条注释记录将被编译器忽略。如果你为该记录类型提供了commentstring参数,编译器将会产生一个警告.例如:#pragma comment(compiler).

2、exestr:

将commentstring参数放入目标文件中,在链接的时候这个字符将被放入到可执行文件中。

当操作系统加载可执行文件的时候,该参数字符串不会被加载到内存中,但是,该字符串可以被dumpbin之类的程序查找出并打印出来,你可以用这个标示符将版本号码之类的信息嵌入到可执行文件中!

3、lib:

这是一个非常常用的关键字,用来将一个库文件链接到目标文件中。常用的lib关键字,可以帮我们连入一个库文件。

例如:#pragma comment (lib,"User32.lib").

4、linker:

  将一个链接选项放入目标文件中,你可以使用这个指令来代替由命令行传入的或者在开发环境中设置的链接选项,你可以指定/include选项来强制包含某个对象。

 例如:#pragma comment(linker,"/include:_mySysmtem");

 

 

 

 

posted on 2014-02-14 17:17  aisle  阅读(1125)  评论(0)    收藏  举报

导航