如何调用API实现WINDOWS编程

 

 我们目前经常说的调用API编程中的API,全称是Application Programming Interface . Windows给我们提供的API可以分为两种,16位的API和32位的API,经常写为Win16 API和Win32 API。主要是针对CPU的位数才有的16位和32位,现在的系统基本上全是32位的了。所以现在主要是Win32 API。

     API其实是系统留给我们调用的函数接口,当然系统本身也调用这些函数去做一些事情。有些我们需要操作系统去做的事情,可以直接通过调用API函数来实现,而不用自己去实现。

     在Windows下面编程经常会需要调用Win32 API来实现一些功能,特别是涉及到底层的一些操作。调用Win32 API的方法主要有以下几种:

1、使用汇编语言调用Win32 API。该方法比较复杂,难以理解,应用不是太广。

2、使用C直接调用。这里的C语言跟标准C语言是有区别的,加入了一些跟操作系统有关的一些限制,可以直接调用系统的API实现自己功能。

3、通过MFC调用。MFC为Microsoft Foundation Class Library的缩写,即为微软基本类库。该类库封装了大部分的Win32 API函数,使其表现为类库中类的成员函数,这样用户就可以通过使用Visual C++来调用MFC中的类的成员函数,也就是Win32 API了。MFC在Visual Studio6.0中就存在,后来微软推出.NET平台后,MFC依然被包含在平台内。最新的.NET平台 VS2010.NET测试版中,MFC依然存在。

     所以如果想编写Windows程序,都要调用Windows的API,如果想使用C语言,可以直接调用,如果想使用C++可以通过使用MFC来间接的调用系统API。当然很多编程语言也可以实现对WINDOWS系统的API调用,并能实现WINDOWS系统的编程,这里只是对C/C++的使用进行了简单的介绍。

时间: 2024-10-28 20:21:51

如何调用API实现WINDOWS编程的相关文章

C#中调用API

介绍 API(Application Programming Interface),我想大家不会陌生,它是我们Windows编程的常客,虽然基于.Net平台的C#有了强大的类库,但是,我们还是不能否认API在Windows编程中的重要性.大多数的编程语言都支持API编程,而.Net平台中的MFC(Microsoft Foundation Class Library)构架本身就封装了大部分的API. 做为程序员,我们需要了解API从字面上了解便是编程接口,因此,做为开发者,需要了解的只是API的使

windows编程-windows的API中有没有能够更改文件名字的函数?菜鸟求助!!!

问题描述 windows的API中有没有能够更改文件名字的函数?菜鸟求助!!! 有的话请高手说明一下用法.没有的话请高手介绍一下在windows编程中(我用的是c++)怎样实现更改一个文件的名字?谢谢了 解决方案 int rename ( const char * oldname, const char * newname ); 解决方案二: 使用脚本类东西很方便的, 解决方案三: 你可以在windowsAPI函数的外面套一层函数,比如 int 信息框( HWND hWnd,LPCTSTR lp

qt下调用win32 api 对串口编程,怎么弄?主要是怎么调用api

问题描述 qt下调用win32 api 对串口编程,怎么弄?主要是怎么调用api 解决方案 解决方案二: 我用MessageBox测试,出了问题.添加了lib文件,把dll文件放在工程文件夹下了,也还是不行 解决方案三: 我用MessageBox测试,出了问题.添加了lib文件,把dll文件放在工程文件夹下了,也还是不行 解决方案四: user32.lib和kernel32.lib是Windows的标准库,可以直接链接,是不是..libs目录下的库文件与你开发机的Windows版本不一致?去掉"

windows phone异步调用api

问题描述 windows phone异步调用api 直接上代码 private void chaxunbutton1_Click(object sender, RoutedEventArgs e) { string s =textBox1.Text; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://300report.jumpw.com/api/getrole?name=" + HttpUti

vc++编程问题-关于VC调用API如何打印字符串

问题描述 关于VC调用API如何打印字符串 最近在写一个记事本的程序,我想实现它的打印功能,跟windows下的记事本一样,不知道是如何实现的呢? 解决方案 http://wenku.baidu.com/link?url=xu3hMtICSp0Wb8KxhINuLYwLrE_8yBY67d3hB3webdH3-57zXkkIGtXW_xtAnUPh_ekRci5vwc3oDgfDk-Q-84HDdYudjq4ZYMJaAO4rMEW 关键点在于像往屏幕输出那样调用TextOut 如果超出一张纸,

Delphi编程调用指定的Windows程序

本实例介绍如何在自己的程序中调用指定的Windows程序. 首先启动一个新的项目,在空白的窗体上添加4个TButton组件.添加组件后的窗体如图1所示. 图1 添加组件后的窗体 其中WinExec按钮用于以WinExec函数来调用指定的Windows程序.ShellExecute按钮用于以ShellExecute函数来调用指定的Windows程序.CreateProcess按钮和TerminateProcess按钮用于实现对被调用程序更全面的操作,前者用于调用指定的Windows程序,而后者则用

windows installer-怎么在installshield调用api

问题描述 怎么在installshield调用api 是installscript工程,想在setup.rul中调用GetCommandLine这个api,怎么调用呢 解决方案 http://www.cnblogs.com/installshield/archive/2010/09/06/1819401.html

c++-VC++与VC#的windows编程有区别吗??使用的类库一样吗??

问题描述 VC++与VC#的windows编程有区别吗??使用的类库一样吗?? VC++与VC#的windows编程有区别吗??使用的类库一样吗?? 比如这个里面的一些框架函数如Button等的使用相同吗? 解决方案 微软为C++做了一些扩展,搞出一种向下兼容C++,但是又有自己的语法以兼容.net的语言,叫C++/CLI(以前叫C++ ME,托管扩展) VC++/CLI可以同时支持MFC和.NET.但是事实上几乎没有人用,是很冷僻的技术. 相比较MFC,WinForms和WPF要好太多,C#也

设备上下文-请问各位大神,Windows编程里边的DC(device context)到底是什么啊?

问题描述 请问各位大神,Windows编程里边的DC(device context)到底是什么啊? 请教各位大神,设备上下文(device context)到底是个什么东西?它仅仅是一个抽象概念还是一个实体概念(即有对应的代码)?它是一个结构体吗?如果它有对应的源码的话,怎么能找到?在下在网上找了很多资料,包括MSDN上的,但越看越糊涂.在下想了解关于它最本质的东西,在下怎么才能"看到它"?这个问题给在下带来很大困惑,希望大家为在下指点迷津,拜托大家了!在下先行谢过! 解决方案 DC实