api详细解释.doc_第1页
api详细解释.doc_第2页
api详细解释.doc_第3页
api详细解释.doc_第4页
api详细解释.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

当我们使用着漂亮的界面,方便快捷的应用程序的时候。我们才会发现,以前曾编写的程序是多么的粗糙(TC编写的程序)。简单的界面,16色的显示系统,大大的落后于计算机的发展。简单的说就是杀鸡用牛刀。如何该改变这种情况呢?Microsoft公司在推出windows操作系统的时候给出了简单易行的解决方案。这就是WINDOWS平台API应用程序接口。当然API也是发展的,它从WIN 16 API发展到了现在普遍使用的WIN 32 API。只有充分理解API函数功能和用法,才能深入到WINDOWS系统的内部,才能充分挖掘出操作系统给我们提供的强大功能。现在就让我们放弃那DOS应用程序,进入WINDOWS编程的海洋之中吧。要想了解WINDOWS API那么我们必须先了解WINDOWS下的程序是如何进行驱动的。同学们可以很清楚的发现到,当你在使用WINDOWS记事本的时候,当键盘输入字符的时候字就会出现在屏幕上。当你移动鼠标的时候,光标就会在屏幕上移动。双击鼠标、单击鼠标就会有相应的事件发生。这些都是由于WINDOWS具有的事件驱动的属性造成的。比如说当你按下键盘的字符键的时候,消息队列就会向程序发送WM_CHAR的消息,如果你所写的程序中含有处理这个消息的函数,程序就会执行它。为了更好的了解WINDOWS编程,这里我必须介绍几个基本的概念:1,句柄:它是WINDOWS编程的基础。一个句柄是指WINDOWS在内存中使用的一个唯一的整数质,是一个4个字节长的数值,用于标识应用程序中不同对象和相同对象的不同实例。这里我列出几种WINDOWS常用的句柄:HWND: 标示窗口句柄HINSTANCE:标示当前实例句柄HCOURSOR:标示光标句柄HFONT: 标示字体句柄HPEN:标示画笔句柄HBRUSH:标示画刷句柄HDC:标示设备环境句柄HBITMP:标示位图句柄HICON:标示图标句柄HMENU:标示菜单句柄HFILE:标示文件句柄由于WINDOWS应用程序利用WINDOWS消息来与其它的WINDOWS应用程序及WINDOWS系统进行消息交换。所以消息是一个十分重要的对象它的结构如下。typedef structHWND hwnd;/检索消息的窗口句柄UNIT message;/代表一个消息的消息质WPARAM wParam; /消息附加信息的字参数LPARAM lParam; /消息附加信息的长字参数DWORD time;/消息入队时间POINT pt;/消息发送时鼠标的位置 point.x;point.y; tagMSG; 2,消息:VC+中消息都用前缀标示消息所属的分类,下面我来介绍一下这些前缀BM表示按钮控制消息CB表示组合框控制消息DM表示默认下压式按钮控制消息EM表示编辑控制消息LB表示列表框控制消息SBM表示滚动条控制消息WM表示窗口消息现在我来对系统常用的一些消息进行说明:1,WM_LBUTTONDOWN: 单击鼠标左键时产生2,WM_LBUTTONUP: 放开鼠标左键时产生 3,WM_RBUTTONUP: 放开鼠标右键时产生4,WM_LBUTTONBLCLK: 双击鼠标左键时产生5,WM_RBUTTONBLCLK: 双击鼠标右键时产生6,WM_KEYDOWN: 按下了一个非系统键时产生的消息7,WM_CHAR: 同上8,WM_CREATE: 由CreateWindow函数发出的消息9,WM_DESTROY: 消除窗口时发出的消息10,WM_QUIT: 退出程序时发送的消息11,WM_PAINT: 做任何移动操作时发出的消息介绍了以上的这些基础入门知识,我们就可以简单的了解一下WINDOWS API 程序的组成基本结构。它是由入口函数WinMain和窗口函数基本框架,并包含各种数据类型、数据结构与函数等应用组建组成的。其中入口函数WinMain和窗口函数是WINDOWS应用程序的主体。一个基本的WinMain函数应该具有以下的功能:1,注册窗口类,建立窗口及执行其他必要的初始化工作2,进入消息循环,根据从应用程序消息队列接受的消息,调用相应的处理过程。3,当消息循环检索到WM_QUIT消息时中止程序运行WinMain函数有三个基本组成部分:函数说明、初始化和消息循环。(1)函数说明int WINAPI WinMain(HINSTANCE hThisInst, /应用程序当前实例句柄HINSTANCE hPrevInst, /应用程序其它实例句柄LPSTR lpszCmdLine,/指向程序命令行参数的指针int nCmdShow/应用程序开始执行时窗口显示方式的整数值标示) (2)初始化初始化包括窗口类的定义、注册、创建窗口实例和显示窗口四部分。(在以后的程序中我将详细的介绍它们具体的实现方法)(3)消息循环WINDOWS应用程序的运行是以消息为核心的。WINDOWS将产生的消息放入应用程序的消息队列中,而应用程序的WinMain函数从消息循环提取队列中的消息,并将其传递给窗口函数的相应过程处理。它的基本写法如下:MSG Meg;/定义消息/(.)省略了一些内容while (GetMessage(&Meg,NULL,0,0)TranslanteMessage(&Meg);DispatchMessage(&Meg);在上一篇中我着重介绍了WINDOWS API32程序的基本结构框架,您一定想完成自己的第一个WINDOWS程序吧?别忙我先向您介绍一下API的窗口函数,只有了解它您才能进行编程。什么是窗口函数呢?它又定义了什么呢?窗口函数定义了应用程序对接受到的不同消息的响应,其中包含了应用程序对各种可能接受到的消息的处理过程,是消息处理分支控制语句的集合。一般来说,窗口函数由一个或多个switch语句组成。每一个case语句对应一种消息,当应用程序接受到一个消息时,在窗口函数内的相应的case语句就会被激活并执行相应的响应程序模块。简单的说窗口函数就是应用程序处理接受到的消息的函数,其中包含了应用程序对各种可能接受到的有用的消息的处理过程。窗口函数的一般格式是这样的:LRESULT CALLBACK WndProc( HWND hwnd,/窗口句柄UNIT message,/代表所处理消息的消息值WPARAM wParam, /消息的附加参数(1)LPARAM lParam/消息的附加参数(2). /省略switch(message) /message为标识消息的消息值case.break;.case WM_DESTROY:PostQuitMessage(0);default:return DefWindowProc(hwnd,message,wParam,lParam);return(0); 窗口函数主体内容是消息处理语句,它由多个case语句组成。您只需要将窗口可能接收到的消息在case语句中编写相应的处理程序段就可以了。在case语句的消息处理程序段中一般都有对消息WM_DESTROY的处理。这个消息是关闭窗口时发出的。一般情况下,应用程序调用函数PostQuitMessage响应这条消息。PostQuitMessage函数的定义如下:void PostQuitMessage(int nExitCode); /nExitCode为应用程序退出代码 在处理case语句中不包含的信息时我们用这个默认处理:return DefWindowProc(hwnd,message,wParam,lParam); 来保证所有发送到窗口的消息都得到了应有的处理。除了了解窗口函数的基本结构,我们还要掌握一些基本WINDOWS程序的数据结构(1)MSG,前文已介绍过了(2)WNDCLASS结构WNDCLASS包含一个窗口类的全部信息。应用程序通过定义一个窗口类来确定窗口的属性。它的定义如下:typedef struct tagWNDCLASSUNIT style;/窗口的样式,一般为0WNDPROC lpfWndProc;/指向窗口函数的指针int cbClsExtra;/分配在窗口类结构后的字节数int cbWndExtra;/分配在窗口实例后的字节数HINSTANCE hInstance;/定义窗口类的应用程序的实例句柄HICON hIcon;/窗口类的图标HCURSOR hCursor;/窗口类的光标HBRUSH hbrBackground; /窗口类的背景刷LPCSTR lpszMenuName;/窗口类的菜单资源名LPCSTR lpszClassName; /窗口类名 WNDCLASS; 现在我就可以教您写出自己的第一个WINDOWS程序(点击此处下载)#include /窗口函数说明LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);/初始化窗口类/WinMain函数说明int WINAPI WinMain( HINSTANCE hInstance,HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow)HWND hwnd ;MSG Msg ;WNDCLASS wndclass ;char lpszClassName = 窗口;/窗口类名char lpszTitle= My_Windows; /窗口标题名/窗口类的定义wndclass.style = 0;/窗口类型为缺省类型wndclass.lpfnWndProc = WndProc ; /窗口处理函数为WndProcwndclass.cbClsExtra = 0 ;/窗口类无扩展wndclass.cbWndExtra = 0 ;/窗口实例无扩展wndclass.hInstance = hInstance ; /当前实例句柄wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION) ;/窗口的最小化图标为缺省图标wndclass.hCursor = LoadCursor( NULL, IDC_ARROW) ;/窗口采用箭头光标wndclass.hbrBackground = GetStockObject( WHITE_BRUSH) ;/窗口背景为白色wndclass.lpszMenuName = NULL ;/窗口中无菜单wndclass.lpszClassName = lpszClassName ; /窗口类名为窗口示例/窗口类注册if( !RegisterClass( &wndclass)/如果注册失败则发出警告声音MessageBeep(0) ;return FALSE ;/创建窗口hwnd=CreateWindow(lpszClassName, /窗口类名lpszTitle,/窗口实例的标题名WS_OVERLAPPEDWINDOW,/窗口的风格CW_USEDEFAULT,CW_USEDEFAULT,/窗口左上角坐标为缺省值CW_USEDEFAULT,CW_USEDEFAULT,/窗口的高和宽为缺省值NULL,/此窗口无父窗口NULL,/此窗口无主菜单hInstance,/创建此窗口的应用程序的当前句柄NULL) ;/不使用该值/显示窗口ShowWindow( hwnd, nCmdShow) ;/绘制用户区UpdateWindow(hwnd);/消息循环 while(GetMessage(&Msg, NULL, 0, 0)TranslateMessage(&Msg);DispatchMessage(&Msg);return Msg.wParam; /消息循环结束即程序终止时将信息返回系统/窗口函数LRESULT CALLBACK WndProc(HWND hwnd,UINT message,WPARAM wParam, LPARAM lParam)switch(message)case WM_DESTROY:PostQuitMessage(0); /调用PostQuitMessage发出WM_QUIT消息default: /默认时采用系统消息默认处理函数return DefWindowProc(hwnd,message,wParam,lParam);return 0;由于上一章的文章中我没有向大家介绍清楚初试化的具体实现,造成很多的读者无法很好的理解,这是我的失误。本人现在补上,请大家原谅。 一个Windows API程序的初始化主要分为为四个部分。1、窗口类的定义2、窗口类的注册3、创建窗口实例4、显示窗口窗口类定义在Windows应用程序中,窗口类定义了窗口的形式与功能。它的定义过程通过给窗口类数据结构WNDCLASS赋值来完成,这个数据结构包含窗口类的各个属性。窗口类的定义常用到以下几个函数,在这里一一介绍。1、LoadIcon函数LoadIcon函数的作用是在应用程序中加载一个窗口图标。它的原型为:HICON LoadIcon(HINSTANCE hInstance, /图标资源所在的模块句柄;/如果使用NULL,就会使用系统预定义的图标LPCTSTR lpIconName /图标资源名或系统预定义的图标标识名)2、LoadCursor函数LoadCursor函数作用是在应用程序中加载一个窗口光标。它的原型为:HCURSOR LoadCursor (HINSTANCE hInstance,/光标资源所在的模块句柄; /如果使用NULL,它就会使用系统预定义的光标LPCTSTR lpCursorName/图标资源名或系统预定义的光标标识名)3、GetStockObject函数应用程序通过调用GetStockObject函数来获取系统提供的背景刷,它的原型为:HBRUSH GetStockObject(int nBrush);/nBrush 为系统提供的背景刷标示名注册窗口类Windows系统本身提供部分预定义的窗口类,我们也可以自己定义窗口类,窗口类必须先注册后使用。窗口类注册使用的函数是RegisterClass()实现。它的原型为:RegisterClass(&wndclass);/wndclass为窗口的类结构(前面第二篇文章已经介绍过了)创建窗口窗口注册之后就要把它实例化,简单的说就是创建一个窗口的实例。它是由函数CreateWindow()实现,函数的原型为:HWND CreateWindow(LPCTSTR lpszClassName,/窗口实例的类的名字LPCTSTR lpszTitle, /窗口标题名DWORD dwStyle,/新创建的窗口的样式(后面将会详细介绍)int x,/窗口左上角的横坐标int y,/窗口左上角的纵坐标int nWidth, /窗口的宽度int nHeight, /窗口的高度HWND hwndParent, /该窗口的父窗口的句柄 HMENU hMenu,/窗口主菜单句柄HINSTANCE hInstance,/创建窗口的应用程序当前句柄LPVOID lpParam /指向一个传递给窗口的参数值的指针)那么窗口的样式有哪些呢?标识 说明 WS_BORDER 创建一般带边框的窗口 WS_CAPTION 创建一个带标题栏的窗口 WS_HSCROLL 创建一个带水平滚动条的窗口 WS_MAXIMIZEBOX 创建一个带最大化按钮的窗口 WS_MINIMIZEBOX 创建一个带最小化按钮的窗口 WS_OVERLAPPED 创建一个带边框和标题栏的窗口 WS_OVERLAPPEDWINDOW 创建一个带边框、标题栏、系统菜单及最大化、最小化按钮的窗口 WS_POPUP 创建一弹出式窗口 WS_POPUPWINDOW 创建一带边框和系统菜单的弹出式窗口 WS_SYSMENU 创建一带系统菜单的窗口 WS_VSCROLL 创建一带垂直滚动条的窗口 当然为了实现具有多种风格的窗口,WINAPI提供了“|”来表示并()的意思。例如我们要实现一个即具有垂直滚动条又具有水平滚动条的弹出式窗口时可以输入:WS_BSCOLL|WS_VSCROLL|WM_POPUP显示窗口以上的操作均由函数实现,显示窗口当然也不例外。窗口类的显示由ShowWindow和UpdateWindow函数实现。应用程序调用ShowWindow函数在屏幕上显示窗口,其形式为:BOOL ShowWindow(hwnd,nCmdShow)/其中hwnd为窗口句柄,nCmdShow为窗口显示形式标识nCmdShow共有六个可选值标识 说明 SW_HIDE 隐藏窗口 SW_SHOWNORMAL 显示并激活窗口 SW_SHOWMINIMIZE 显示并最小化窗口 SW_SHOWMAXIMIZE 显示并最大化窗口 SW_SHOWNOACTIVE 显示但不激活窗口 SW_RESTORE 恢复窗口原来的位置及尺寸 在窗口显示之后,应用程序应使用UpdateWindow函数更新并绘制用户区,并发出WM_PAINT消息。它的形式为:BOOL UpdataWindow(hwnd);/hwnd为窗口句柄不要觉得奇怪,虽然我们拥有众多“所见即所得”的编程方式来开发众多界面精美的应用程序,这些可视化的编程环境提供了大量的类库和控件,但是在开发者享受方便的同时,他们的手脚已经不知不觉的受到了限制,有很多深入到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值。hPrevInstance,简单地说就是没用它是存在于16位Windows程序中的,在编写Windows 9x/NT/2000 程序的时候,总应该是NULL。szCmdLine是一个指针,指向一个以0为终结的字串,里面包含传给该程序的命令行参数,如果想要让程序处理命令行,那么这个参数就有用了。iCmdShow参数是一个数值,指示窗口将如何被显示,这个数值由在Windows下运行该程序的程序所决定,通常是SW_SHOWNORMAL。接下来是注册一个窗口类,窗口总是从窗口类的基础上创建的,窗口类用以标示处理窗口消息的窗口过程,注册窗口类时使用 RegisterClassEx() 函数,它只需要一个参数,一个指向类型为 WNDCLASSEX 的结构指针。具体注册初始是这样的:WNDCLASSEX wcex;wcex.cbSize = sizeof(WNDCLASSEX); /结构的大小wcex.style = CS_HREDRAW | CS_VREDRAW; /类风格wcex.lpfnWndProc = (WNDPROC)WndProc; /窗口类的窗口过程wcex.cbClsExtra = 0;/在类结构中预留的空间wcex.cbWndExtra = 0;/在Windows内部保存的窗口结构中预留的空间wcex.hInstance = hInstance; /程序的实例句柄wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_EXAMPLE);/程序图标wcex.hCursor = LoadCursor(NULL, IDC_ARROW); /结构的大小wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);/指定窗口的背景颜色wcex.lpszMenuName = (LPCSTR)IDC_EXAMPLE;/菜单wcex.lpszClassName = szWindowClass;/类名,和程序名相同wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); /也是程序图标return RegisterClassEx(&wcex);接下来,定义一个HWND,然后使用 CreateWindow() 函数,原型如下:HWND CreateWindow(LPCTSTR lpClassName, / 窗口类名LPCTSTR lpWindowName,/ 窗口标题DWORD dwStyle, / 窗口风格int x, / 初始x int y, / 初始yint nWidth, / 窗口宽 int nHeight,/ 窗口高 HWND hWndParent,/ 父窗口句柄 HMENU hMenu,/ 菜单句柄HINSTANCE hInstance,/ 实例句柄LPVOID lpParam / 创建参数);在 CreateWindow() 调用返回之后,Windows内部已经创建了这窗口。但是窗口并为显示,还需要两个调用,一个是 ShowWindow(hwnd, iCmdShow):第一个参数是刚刚创建的窗口句柄,第二个参数是传递给WinMain的nCmdShow;另一个是 UpdateWindow(hwnd) ,导致客户区域被绘制。接下来,程序通过执行一块被称为“消息循环”的代码从消息队列中取出消息while (GetMessage(&msg, NULL, 0, 0) if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg) TranslateMessage(&msg);DispatchMessage(&msg);消息循环以 GetMessage 开始,它从消息队列中取出一条消息,只要从消息队列中取出消息的 Message 域不为 WM_QUIT,GetMessage 就返回一个非零值,否则将导致程序退出消息循环,然后程序中止,返回 msg 结构的 wParam 参数。在循环中,TranslateMessage将 msg 结构的内容进行修改,而 DispatchMessage 找出准备调用的窗口过程。上面进行的仅仅是准备性工作:注册窗口类、创建窗口、显示窗口、进入消息循环取出消息而实际的动作都发生在窗口过程中。LRESULT CALLBACK WndProc(HWND hWnd, /刚刚创建的窗口句柄UINT message, /得到的消息WPARAM wParam, LPARAM lParam /消息的进一步详细的参数)在程序中窗口过程通常是命名为 WndProc 的函数,其实窗口过程可以任意的命名,一个Windows程序可以包含多个窗口过程,一个窗口过程总是与调用了 RegisterClassEx 注册的窗口类相关联,CreateWindow 函数根据窗口类来创建窗口,但是一个窗口类可以被用来创建多个窗口。消息收到之后,接下来应该根据消息的不同来进行处理switch(message)case :HelloWin程序只需要处理两条消息,即 WM_PAINT 和 WM_DESTROY。WM_PAINT 消息在Windows程序中的地位极其重要,当窗口客户区的一部分或者全部变为“无效”,必须进行刷新的时候,将由这条消息通知程序。为什么客户区域会变得无效呢?在创建窗口的时候,整个客户区都是无效的,因为还没有画任何的东西。第一条 WM_PAINT 消息指示窗口过程在窗口上面画一些东西;还有在用户改变了窗口的大小之后,客户区域重新变得无效,除此之外最小化窗口之后再还原、窗口的一部分被覆盖,都会引发这条消息。WM_DESTROY消息则是当用户按下“关闭”按钮的时候被触发,标准的处理方法是调用PostQuitMessage 将一条 WM_QUIT 消息插入消息队列,这将使得 GetMessage 函数调用返回0,从而退出消息循环,结束整个程序。其实,从上面可以看出,Windows程序的这种运行机制并不是很难理解,真正困难的是不知道调用什么函数去完成想要的操作,以及怎样调用那些函数,从而灵活的进行底层API程序开发,这是一个循序渐进的积累过程,没有捷径可走的。请各位一定要记住。 ActivateKeyboardLayout 激活一个新的键盘布局。键盘布局定义了按键在一种物理性键盘上的位置与含义 Beep 用于生成简单的声音 CharToOem 将一个字串从ANSI字符集转换到OEM字符集 ClipCursor 将指针限制到指定区域 ConvertDefaultLocale 将一个特殊的地方标识符转换成真实的地方ID CreateCaret 根据指定的信息创建一个插入符(光标),并将它选定为指定窗口的默认插入符 DestroyCaret 清除(破坏)一个插入符 EnumCalendarInfo 枚举在指定“地方”环境中可用的日历信息 EnumDateFormats 列举指定的“当地”设置中可用的长、短日期格式 EnumSystemCodePages 枚举系统中已安装或支持的代码页 EnumSystemLocales 枚举系统已经安装或提供支持的“地方”设置 EnumTimeFormats 枚举一个指定的地方适用的时间格式 ExitWindowsEx 退出windows,并用特定的选项重新启动 ExpandEnvironmentStrings 扩充环境字串 FreeEnvironmentStrings 翻译指定的环境字串块 GetACP 判断目前正在生效的ANSI代码页 GetAsyncKeyState 判断函数调用时指定虚拟键的状态 GetCaretBlinkTime 判断插入符光标的闪烁频率 GetCaretPos 判断插入符的当前位置 GetClipCursor 取得一个矩形,用于描述目前为鼠标指针规定的剪切区域 GetCommandLine 获得指向当前命令行缓冲区的一个指针 GetComputerName 取得这台计算机的名称 GetCPInfo 取得与指定代码页有关的信息 GetCurrencyFormat 针对指定的“地方”设置,根据货币格式格式化一个数字 GetCursor 获取目前选择的鼠标指针的句柄 GetCursorPos 获取鼠标指针的当前位置 GetDateFormat 针对指定的“当地”格式,对一个系统日期进行格式化 GetDoubleClickTime 判断连续两次鼠标单击之间会被处理成双击事件的间隔时间 GetEnvironmentStrings 为包含了当前环境字串设置的一个内存块分配和返回一个句柄 GetEnvironmentVariable 取得一个环境变量的值 GetInputState 判断是否存在任何待决(等待处理)的鼠标或键盘事件 GetKBCodePage 由GetOEMCP取代,两者功能完全相同 GetKeyboardLayout 取得一个句柄,描述指定应用程序的键盘布局 GetKeyboardLayoutList 获得系统适用的所有键盘布局的一个列表 GetKeyboardLayoutName 取得当前活动键盘布局的名称 GetKeyboardState 取得键盘上每个虚拟键当前的状态 GetKeyboardType 了解与正在使用的键盘有关的信息 GetKeyNameText 在给出扫描码的前提下,判断键名 GetKeyState 针对已处理过的按键,在最近一次输入信息时,判断指定虚拟键的状态 GetLastError 针对之前调用的api函数,用这个函数取得扩展错误信息 GetLocaleInfo 取得与指定“地方”有关的信息 GetLocalTime 取得本地日期和时间 GetNumberFormat 针对指定的“地方”,按特定的格式格式化一个数字 GetOEMCP 判断在OEM和ANSI字符集间转换的windows代码页 GetQueueStatus 判断应用程序消息队列中待决(等待处理)的消息类型 GetSysColor 判断指定windows显示对象的颜色 GetSystemDefaultLangID 取得系统的默认语言ID GetSystemDefaultLCID 取得当前的默认系统“地方” GetSystemInfo 取得与底层硬件平台有关的信息 GetSystemMetrics 返回与windows环境有关的信息 GetSystemPowerStatus 获得与当前系统电源状态有关的信息 GetSystemTime 取得当前系统时间,这个时间采用的是“协同世界时间”(即UTC,也叫做GMT)格式 GetSystemTimeAdjustment 使内部系统时钟与一个外部的时钟信号源同步 GetThreadLocale 取得当前线程的地方ID GetTickCount 用于获取自windows启动以来经历的时间长度(毫秒) GetTimeFormat 针对当前指定的“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论