Welcome

首页 / 软件开发 / C++ / WinAPI入门

WinAPI入门2008-01-05不要觉得奇怪,虽然我们拥有众多“所见即所得”的方式来开发众多界面精美的应用程序,这些可视化的编程环境提供了大量的类库和控件,但是在开发者享受方便的同时, 他们的手脚已经不知不觉的受到了限制,有很多深入到Windows内部的操作它们无法完成, 为什么?因为所用的类库不支持。

事实上这些类库与控件都是架构在Window API的基础上面的,API即 ApplicationProgramming Interface -- 应用编程接口 的缩写,它不仅为应用程序所调用,同时也是 Windows的一部分,Windows自身的运行也调用这些API函数。要了解如何使用API就必须了 解一些Windows的运行机制。

简单地说,Windows是由事件驱动的抢占式多任务操作系统。事件驱动是相对于过程驱动而言的,它改变了原来文件的顺序执行方式;Windows既然是多任务系统,就必须能同时 处理多个事件,系统为应用程序生成一个消息队列,消息在上面被张贴和发送,应用程序只 要从其消息队列中取出消息,然后一一执行就可以了。

现在,我将使用最最基本的范例程序 HelloWin 来说明WIN32 API的运行机制 首先,一个程序一定要有进入点,Win32 App的进入点函数的名称是WinMain,它的原型如下 int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow) hInstance是所谓的“实例句柄”,它是一个数值,当程序在Windows下运行的时候,它被用 来唯一的标示这个程序,虽然用户可能同时运行多个同一个程序,即运行多个“实例”,我 们可以看到,每一个实例都有不同的hInstance值。