
我们在Windows上进行一些开发的时候,能善于利用Windows开放出来的应用程序编程接口(Windows API)往往能使我们事半功倍。而且往往有些操作不可避免的需要使用Windows的内部函数。
Microsoft在MSDN上将每个Windows函数的原型和使用方法(基于C++)都公布出来了。
(小技巧:在已知函数名的情况下可以百度或Google“函数名 function (Windows)”获得其在MSDN中的页面。)
怎样阅读并使用Windows API?
以ShellExecute函数为例:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153%28v=vs.85%29.aspx
函数原型句法(Syntax):
1 2 3 4 5 6 7 8 |
HINSTANCE ShellExecute( _In_opt_ HWND hwnd, _In_opt_ LPCTSTR lpOperation, _In_ LPCTSTR lpFile, _In_opt_ LPCTSTR lpParameters, _In_opt_ LPCTSTR lpDirectory, _In_ INT nShowCmd ); |
1 2 3 |
类型 函数名( _微软源代码注释语言_ 参数类型 参数名 ); |
微软源代码注释语言(SAL)
Microsoft source code annotation language(SAL),是微软VC++ 2010及后续版本开始推出的一种是用宏定义语言,用来注释函数的参数和返回值,由于这些宏最终都被预处理器处理掉了,所以不会对源代码有任何影响。这种注释可以一方面让使用者更加清楚API的使用方法,另一方面VS中的C++ 代码分析器也会依靠这种宏注释来分析代码。
1 2 3 4 |
_In 输入参数 _Out 输出参数 _Opt 参数是可选的,就是可以为NULL _Ecount 所指向的缓存的元素个素 也就是括号里的数字 |
函数参数(Parameters):
在句法(Syntax)下则是各个参数(Parameters)的详解。
函数备注(Remarks):
使用示例和注意问题。
函数要求(Requirements):
使用该函数的最低环境要求
1 2 3 4 5 6 7 8 9 10 11 12 |
最低支持客户端系统(Minimum supported client) Windows XP 最低支持服务器(Minimum supported server) Windows 2000 Server 头文件(Header) Shellapi.h 库(Library) Shell32.lib 动态链接库(DLL) Shell32.dll (version 3.51 or later) Unicode和ANSI函数名(Unicode and ANSI names) ShellExecuteW (Unicode) and ShellExecuteA (ANSI) |
函数示例(Sample):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
/* OS: Windows 7 SP1 64bit Compiler: mingw32-g++.exe IDE: Code::Blocks 12.11 Tony Su in SHOU 2014-04-14 */ #include<windows.h> HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd ); int main(){ ShellExecute(NULL, LPCTSTR("open"), LPCTSTR("cmd.exe"), NULL, NULL, SW_SHOW); return 0; } |
如无注明,均为原创。转载请注明: 转载自MITGAI`S THINKING
本文链接地址: 理解并使用 Windows 函数
本文链接地址: 理解并使用 Windows 函数
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
如果本文对您生活或工作产生了积极影响,那我非常高兴。
如果您愿意为文章的内容或想法提供支持,欢迎点击下边的捐赠按钮,资助作者创作更多高价值高品质的内容。
如果您愿意为文章的内容或想法提供支持,欢迎点击下边的捐赠按钮,资助作者创作更多高价值高品质的内容。