windows API函数大全
- 格式:doc
- 大小:792.00 KB
- 文档页数:70
WindowsAPI常⽤函数.Net中虽然类库很强的,但还是有些时候功能有限,掌握常⽤的api函数,会给我们解决问题提供另⼀种思路,下⾯给出⾃⼰常⽤到的Api函数,以备查询。
1,SetForegroundWindow将窗⼝显⽰到最前⾯,前提是窗⼝没有最⼩化。
[DllImport("User32.dll")]public static extern bool SetForegroundWindow(IntPtr hWnd);2,ShowWindowAsync显⽰窗⼝,如最⼩化后显⽰正常,这是异步的。
[DllImport("User32.dll")]public static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);public enum ShowState : int{SW_HIDE = 0,SW_SHOWNORMAL = 1,SW_NORMAL = 1,SW_SHOWMINIMIZED = 2,SW_SHOWMAXIMIZED = 3,SW_MAXIMIZE = 3,SW_SHOWNOACTIVATE = 4,SW_SHOW = 5,SW_MINIMIZE = 6,SW_SHOWMINNOACTIVE = 7,SW_SHOWNA = 8,SW_RESTORE = 9,SW_SHOWDEFAULT = 10,SW_FORCEMINIMIZE = 11,SW_MAX = 11}3,SendMessage进程间通信,接受窗⼝要有消息循环才⾏。
WM_COPYDATApublic const int WM_COPYDATA = 0x004A;public struct COPYDATASTRUCT{public IntPtr dwData;public int cbData;[MarshalAs(UnmanagedType.LPStr)]public string lpData;}[DllImport("User32.dll", EntryPoint = "SendMessage")]public static extern int SendMessage(IntPtr hWnd, // handle to destination windowint Msg, // messageint wParam, // first message parameterref COPYDATASTRUCT lParam // second message parameter);例⼦:发送⽅:byte[] sarr = System.Text.Encoding.Default.GetBytes(args[0]);Winn32.COPYDATASTRUCT copyData = new Winn32.COPYDATASTRUCT();copyData.cbData = sarr.Length + 1;copyData.lpData = args[0];copyData.dwData = (IntPtr)100; //这⾥随便写什么数字Winn32.SendMessage(runningInstance.MainWindowHandle, Winn32.WM_COPYDATA, 0, ref copyData);接收⽅protected override void DefWndProc(ref Message m){if (m.Msg == Winn32.WM_COPYDATA){Winn32.COPYDATASTRUCT copyData = new Winn32.COPYDATASTRUCT();Type type = copyData.GetType();copyData = (Winn32.COPYDATASTRUCT)m.GetLParam(type);this.textBox1.Text = copyData.lpData;}base.DefWndProc(ref m);}4,FindWindow找到窗⼝句柄[DllImport("User32.dll", EntryPoint = "FindWindow")]private static extern int FindWindow(string lpClassName, string lpWindowName);5,SetLocalTime设定系统时间[StructLayout(LayoutKind.Sequential)]public struct SYSTEMTIME{public ushort wYear;public ushort wMonth;public ushort wDayOfWeek;public ushort wDay;public ushort wHour;public ushort wMinute;public ushort wSecond;public ushort wMilliseconds;public void FromDateTime(DateTime dateTime){wYear = (ushort)dateTime.Year;wMonth = (ushort)dateTime.Month;wDayOfWeek = (ushort)dateTime.DayOfWeek;wDay = (ushort)dateTime.Day;wHour = (ushort)dateTime.Hour;wMinute = (ushort)dateTime.Minute;wSecond = (ushort)dateTime.Second;wMilliseconds = (ushort)lisecond;}public DateTime ToDateTime(){return new DateTime(wYear, wMonth, wDay, wHour, wMinute, wSecond); }}[DllImport("kernel32.dll")]public static extern bool SetLocalTime(ref SYSTEMTIME Time);6,SHGetFileInfo获取执⾏⽂件的图标icon[Flags]enum SHGFI : int{/// <summary>get icon</summary>Icon = 0x000000100,/// <summary>get display name</summary>DisplayName = 0x000000200,/// <summary>get type name</summary>TypeName = 0x000000400,/// <summary>get attributes</summary>Attributes = 0x000000800,/// <summary>get icon location</summary>IconLocation = 0x000001000,/// <summary>return exe type</summary>ExeType = 0x000002000,/// <summary>get system icon index</summary>SysIconIndex = 0x000004000,/// <summary>put a link overlay on icon</summary>LinkOverlay = 0x000008000,/// <summary>show icon in selected state</summary>Selected = 0x000010000,/// <summary>get only specified attributes</summary>Attr_Specified = 0x000020000,/// <summary>get large icon</summary>LargeIcon = 0x000000000,/// <summary>get small icon</summary>SmallIcon = 0x000000001,/// <summary>get open icon</summary>OpenIcon = 0x000000002,/// <summary>get shell size icon</summary>ShellIconSize = 0x000000004,/// <summary>pszPath is a pidl</summary>PIDL = 0x000000008,/// <summary>use passed dwFileAttribute</summary>UseFileAttributes = 0x000000010,/// <summary>apply the appropriate overlays</summary>AddOverlays = 0x000000020,/// <summary>Get the index of the overlay in the upper 8 bits of the iIcon</summary> OverlayIndex = 0x000000040,}[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]public struct SHFILEINFO{public SHFILEINFO(bool b){hIcon = IntPtr.Zero;iIcon = 0;dwAttributes = 0;szDisplayName = "";szTypeName = "";}public IntPtr hIcon;public int iIcon;public uint dwAttributes;[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]public string szDisplayName;[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]public string szTypeName;};[DllImport("shell32.dll", CharSet = CharSet.Unicode)]//路径有中⽂字符,要⽤unicodepublic static extern int SHGetFileInfo(string pszPath,int dwFileAttributes,out SHFILEINFO psfi,uint cbfileInfo,SHGFI uFlags);例⼦:private static Icon GetIcon(string strPath, bool bSmall){SHFILEINFO info = new SHFILEINFO(true);int cbFileInfo = Marshal.SizeOf(info);SHGFI flags;if (bSmall)flags = SHGFI.Icon | SHGFI.SmallIcon | eFileAttributes;elseflags = SHGFI.Icon | rgeIcon;Win32API.SHGetFileInfo(strPath, 256, out info, (uint)cbFileInfo, flags);return Icon.FromHandle(info.hIcon);}7,GetWindowThreadProcessId得到句柄的进程和线程ID,返回的是线程ID,ref返回的是进程ID[System.Runtime.InteropServices.DllImport("User32.dll")]private static extern int GetWindowThreadProcessId(int Hwnd, ref int OutPressId);例⼦:杀死excel进程int processID = 0;int threadID;threadID = GetWindowThreadProcessId(excelApp.Hwnd, ref processID);if (processID > 0){System.Diagnostics.Process process = System.Diagnostics.Process.GetProcessById(processID); if (process != null){ process.Kill(); }}。
Windows API函数我们知道VB可以做很多事,但是有些事情,特别是涉及对Windows操作系统的访问,还需要借助Win32 API函数(Microsoft Win32 Application Programming Interface的缩写)。
API函数是一组用C语言编写的函数,总共约有一千来个。
原本是为C语言编程人员而编写的,但也可以在VB应用程序中调用。
按功能划分,Win32 API函数大致涉及以下几个方面:窗口管理、图形设备接口、系统管理和多媒体技术。
Win32 API函数以动态链接库DLL提供给用户,可以在任何语言中调用。
DLL在程序运行时装入,随时响应程序的调用,不必在设计时就将文件存放在工程中,这就是动态链接的意思。
正因为如此,一个DLL程序可以同时为多个程序所调用。
在VB中引用API函数,需要事先通过Declare函数,声明要引用的DLL文件名称以及相应函数的参量。
然后便可像使用VB函数一样使用API函数。
我们看以下类似的声明语句:Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As LongGetComputerName是API函数名,kernel32是库名。
括号中的ByVal lpBuffer As String, nSize As Long就是函数的参量。
最后面的Long表示函数返回值的数据类型。
本节通过例子说明Win32 API函数的应用。
Windows在创建每个窗体时,都会赋给它一个与众不同的编号,这就是窗体的句柄。
在Windows中,窗体与控件都被看成是窗体(窗口)。
窗体的句柄保存在自己的hwnd属性中。
一.GetComputerName二、GetCursorPos三、GetWindowsDirectoryWindows API函数四、ClipCursor五、GetProfileInt六、GetProfileString七、PolygonWindows API函数八、SendMessagePublic Enum VBWin_MsgWM_NULL = &H0WM_CREATE = &H1WM_DESTROY = &H2WM_MOVE = &H3WM_SIZE = &H5WM_ACTIVATE = &H6WM_SETFOCUS = &H7WM_KILLFOCUS = &H8WM_ENABLE = &HAWM_SETREDRAW = &HBWM_SETTEXT = &HCWM_GETTEXTLENGTH = &HEWM_PAINT = &HFWM_CLOSE = &H10WM_QUERYENDSESSION = &H11WM_QUIT = &H12WM_QUERYOPEN = &H13WM_ERASEBKGND = &H14WM_SYSCOLORCHANGE = &H15WM_ENDSESSION = &H16WM_SHOWWINDOW = &H18WM_WININICHANGE = &H1AWM_DEVMODECHANGE = &H1BWM_ACTIVATEAPP = &H1CWM_FONTCHANGE = &H1DWM_TIMECHANGE = &H1EWM_CANCELMODE = &H1FWM_SETCURSOR = &H20WM_MOUSEACTIVATE = &H21WM_CHILDACTIVATE = &H22WM_QUEUESYNC = &H23WM_GETMINMAXINFO = &H24'begin_r_winuserWM_PAINTICON = &H26WM_ICONERASEBKGND = &H27WM_NEXTDLGCTL = &H28WM_SPOOLERSTATUS = &H2AWM_DRAWITEM = &H2BWM_MEASUREITEM = &H2CWM_DELETEITEM = &H2DWM_VKEYTOITEM = &H2EWM_CHARTOITEM = &H2FWM_SETFONT = &H30WM_GETFONT = &H31WM_SETHOTKEY = &H32WM_GETHOTKEY = &H33WM_QUERYDRAGICON = &H37WM_COMPAREITEM = &H39WM_COMPACTING = &H41WM_COMMNOTIFY = &H44 '/* no longer s uported */WM_WINDOWPOSCHANGING = &H46WM_WINDOWPOSCHANGED = &H47WM_POWER = &H48WM_CANCELJOURNAL = &H4B'end_r_winuser'lParam of WM_COPYDATA message points to...'begin_r_winuser' '#if(WINVER > = 0x0400)WM_NOTIFY = &H4EWM_INPUTLANGCHANGEREQUEST = &H50WM_INPUTLANGCHANGE = &H51WM_TCARD = &H52WM_HELP = &H53WM_USERCHANGED = &H54WM_NOTIFYFORMAT = &H55WM_CONTEXTMENU = &H7BWM_STYLECHANGING = &H7CWM_STYLECHANGED = &H7DWM_DISPLAYCHANGE = &H7EWM_GETICON = &H7FWM_SETICON = &H80' '#endif /* WINVER > = 0x0400 */WM_NCCREATE = &H81WM_NCDESTROY = &H82WM_NCCALCSIZE = &H83WM_NCHITTEST = &H84WM_NCPAINT = &H85WM_NCACTIVATE = &H86WM_GETDLGCODE = &H87WM_SYNCPAINT = &H88WM_NCMOUSEMOVE = &HA0WM_NCLBUTTONDOWN = &HA1WM_NCLBUTTONUP = &HA2WM_NCLBUTTONDBLCLK = &HA3WM_NCRBUTTONDOWN = &HA4WM_NCRBUTTONUP = &HA5WM_NCRBUTTONDBLCLK = &HA6WM_NCMBUTTONDOWN = &HA7WM_NCMBUTTONUP = &HA8WM_NCMBUTTONDBLCLK = &HA9WM_KEYFIRST = &H100WM_KEYDOWN = &H100WM_KEYUP = &H101WM_CHAR = &H102WM_SYSKEYDOWN = &H104WM_SYSKEYUP = &H105WM_SYSCHAR = &H106WM_SYSDEADCHAR = &H107WM_KEYLAST = &H108' '#if(WINVER > = 0x0400)WM_IME_STARTCOMPOSITION = &H10DWM_IME_ENDCOMPOSITION = &H10EWM_IME_COMPOSITION = &H10FWM_IME_KEYLAST = &H10F' '#endif /* WINVER > = 0x0400 */WM_INITDIALOG = &H110WM_COMMAND = &H111WM_SYSCOMMAND = &H112WM_TIMER = &H113WM_HSCROLL = &H114WM_VSCROLL = &H115WM_INITMENU = &H116WM_INITMENUPOPUP = &H117WM_MENUSELECT = &H11FWM_MENUCHAR = &H120WM_ENTERIDLE = &H121'#if(WINVER > = 0x0500)WM_MENURBUTTONUP = &H122WM_MENUDRAG = &H123WM_MENUGETOBJECT = &H124WM_UNINITMENUPOPUP = &H125WM_MENUCOMMAND = &H126'#endif /* WINVER > = 0x0500 */WM_CTLCOLORMSGBOX = &H132WM_CTLCOLOREDIT = &H133WM_CTLCOLORLISTBOX = &H134WM_CTLCOLORBTN = &H135WM_CTLCOLORDLG = &H136WM_CTLCOLORSCROLLBAR = &H137WM_CTLCOLORSTATIC = &H138WM_MOUSEFIRST = &H200WM_LBUTTONDOWN = &H201WM_LBUTTONUP = &H202WM_LBUTTONDBLCLK = &H203WM_RBUTTONDOWN = &H204WM_RBUTTONUP = &H205WM_RBUTTONDBLCLK = &H206WM_MBUTTONDOWN = &H207WM_MBUTTONUP = &H208WM_MBUTTONDBLCLK = &H209'#if (_WIN32_WINNT > = 0x0400) || (_WIN32_WINDOWS > 0x0400)WM_MOUSEWHEEL = &H20AWM_MOUSELAST = &H20A'#Else' WM_MOUSELAST = &H209'#endif /* if (_WIN32_WINNT < 0x0400) */'#if(_WIN32_WINNT > = 0x0400)'#define WHEEL_DELTA 120 /* Value for rolli ng one detent */'#endif /* _WIN32_WINNT > = 0x0400 */'#if(_WIN32_WINNT > = 0x0400)'#define WHEEL_PAGESCROLL (UINT_MAX) /* Scroll one page */'#endif /* _WIN32_WINNT > = 0x0400 */WM_PARENTNOTIFY = &H210WM_ENTERMENULOOP = &H211WM_EXITMENULOOP = &H212'#if(WINVER > = 0x0400)WM_NEXTMENU = &H213'// end_r_winuserWM_DEVICECHANGE = &H219'#endif /* WINVER > = 0x0400 */WM_MDICREATE = &H220WM_MDIDESTROY = &H221WM_MDIACTIVATE = &H222WM_MDIRESTORE = &H223WM_MDINEXT = &H224WM_MDIMAXIMIZE = &H225WM_MDITILE = &H226WM_MDICASCADE = &H227WM_MDIICONARRANGE = &H228WM_MDIGETACTIVE = &H229WM_MDISETMENU = &H230WM_ENTERSIZEMOVE = &H231WM_EXITSIZEMOVE = &H232WM_DROPFILES = &H233WM_MDIREFRESHMENU = &H234'#if(WINVER > = 0x0400)WM_IME_SETCONTEXT = &H281WM_IME_NOTIFY = &H282WM_IME_CONTROL = &H283WM_IME_COMPOSITIONFULL = &H284WM_IME_SELECT = &H285WM_IME_CHAR = &H286'#endif /* WINVER > = 0x0400 */'#if(WINVER > = 0x0500)WM_IME_REQUEST = &H288'#endif /* WINVER > = 0x0500 */'#if(WINVER > = 0x0400)WM_IME_KEYDOWN = &H290WM_IME_KEYUP = &H291'#endif /* WINVER > = 0x0400 */'#if(_WIN32_WINNT > = 0x0400)WM_MOUSEHOVER = &H2A1WM_MOUSELEAVE = &H2A3'#endif /* _WIN32_WINNT > = 0x0400 */WM_CUT = &H300WM_COPY = &H301WM_PASTE = &H302WM_CLEAR = &H303WM_UNDO = &H304WM_RENDERFORMAT = &H305WM_RENDERALLFORMATS = &H306WM_DESTROYCLIPBOARD = &H307WM_DRAWCLIPBOARD = &H308WM_PAINTCLIPBOARD = &H309WM_VSCROLLCLIPBOARD = &H30AWM_SIZECLIPBOARD = &H30BWM_ASKCBFORMATNAME = &H30CWM_CHANGECBCHAIN = &H30DWM_HSCROLLCLIPBOARD = &H30EWM_QUERYNEWPALETTE = &H30FWM_PALETTEISCHANGING = &H310WM_PALETTECHANGED = &H311WM_HOTKEY = &H312'#if(WINVER > = 0x0400)WM_PRINT = &H317WM_PRINTCLIENT = &H318WM_HANDHELDFIRST = &H358WM_HANDHELDLAST = &H35FWM_AFXFIRST = &H360WM_AFXLAST = &H37F'#endif /* WINVER > = 0x0400 */WM_PENWINFIRST = &H380WM_PENWINLAST = &H38FWM_USER = &H400Public Enum eWM_MsgWM_NULL = &H0WM_CREATE = &H1WM_DESTROY = &H2WM_MOVE = &H3WM_SIZE = &H5WM_ACTIVATE = &H6WM_SETFOCUS = &H7WM_KILLFOCUS = &H8WM_USER = &H400End Enum九、GlobalMemoryStatus十、GetSystemMenu十一、GetMenuItemInfo十二、SetMenuItemInfo十三、SetCursorPos十四、SetWindowPos十五、GetUserName。
一、窗口函数(Window)= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == =AdjustWindowRect函数功能:该函数依据所需客户矩形的大小,计算需要的窗日矩形的大小。
计算出的窗口矩形随后可以传递给CreateWindow函数,用于创建一个客户区所需大小的窗口。
函数原型:BOOL AdjustWindowRect(LPRECT lpRect ,DWORDdwStyle,BOOL bMENU);参数:lpRect:指向RECT结构的指针,该结构包含所需客户区域的左上角和右下角的坐标。
函数返回时,该结构容纳所需客户区域的窗口的左上角和右下角的坐标。
dwStyle:指定将被计算尺寸的窗口的窗口风格。
bMenu:指示窗口是否有菜单。
返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。
获取错误信息,参看GetLastError。
备注:客户矩形是指完全包含一个客户区域的最小矩形;窗日矩形是指完全包含一个窗口的最小矩形,该窗口包含客户区与非客户区。
当一个菜单条下拉出两行或更多行时,AdjustWindowRect函数不增加额外的空间。
速查:Windows NT:3.1以上版本:Windows:95以上版本:Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = = = = = = = = = = = = = =AdjustWindowRectEX函数功能:该函数依据所需客户矩形大小,计算需要的窗口矩形的大小。
Windows_API函数大全及应用方法Windows API函数我们知道VB可以做很多事,但是有些事情,特别是涉及对Windows操作系统的访问,还需要借助Win32 API函数(Microsoft Win32 Application Programming Interface的缩写)。
API 函数是一组用C语言编写的函数,总共约有一千来个。
原本是为C语言编程人员而编写的,但也可以在VB应用程序中调用。
按功能划分,Win32 API函数大致涉及以下几个方面:窗口管理、图形设备接口、系统管理和多媒体技术。
Win32 API函数以动态链接库DLL提供给用户,可以在任何语言中调用。
DLL在程序运行时装入,随时响应程序的调用,不必在设计时就将文件存放在工程中,这就是动态链接的意思。
正因为如此,一个DLL程序可以同时为多个程序所调用。
在VB中引用API函数,需要事先通过Declare函数,声明要引用的DLL文件名称以及相应函数的参量。
然后便可像使用VB函数一样使用API函数。
我们看以下类似的声明语句:Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As LongGetComputerName是API函数名,kernel32是库名。
括号中的ByVal lpBuffer As String, nSize As Long就是函数的参量。
最后面的Long表示函数返回值的数据类型。
本节通过例子说明Win32 API 函数的应用。
Windows在创建每个窗体时,都会赋给它一个与众不同的编号,这就是窗体的句柄。
在Windows中,窗体与控件都被看成是窗体(窗口)。
窗体的句柄保存在自己的hwnd属性中。
1. API之网络函数WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接WNetCancelConnection2 结束一个网络连接WNetCloseEnum 结束一次枚举操作WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源WNetGetConnection 获取本地或已连接的一个资源的网络名称WNetGetLastError 获取网络错误的扩展错误信息WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称WNetGetUser 获取一个网络资源用以连接的名字WNetOpenEnum 启动对网络资源进行枚举的过程2. API之消息函数BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间PostMessage 将一条消息投递到指定窗口的消息队列PostThreadMessage 将一条消息投递给应用程序RegisterWindowMessage 获取分配给一个字串标识符的消息编号ReplyMessage 答复一个消息SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback 将一条消息发给窗口SendMessageTimeout 向窗口发送一条消息SendNotifyMessage 向窗口发送一条消息3. API之文件处理函数CloseHandle 关闭一个内核对象。
WINAPI函数大全Windows函数大全Api函数名函数说明 WIN9X可用 WINNT可用-------------------------------------------------------------------------------------------------AbortDoc 终止一项打印作业是是AbortPath 终止或取消DC中的一切路径是是AbortPrinter 删除打印机缓冲文件是是AbortSystemShutdowna 停止系统工作是是AccessCheck 检验客户访问权限是是AccessCheckAndAuditAlarm 检验访问,产生声音或警报是是ActivateKeyboardLayout 激活一个新的键盘设备是是AddAccessAllowedAce 将ACCESS_ALLOWED_ACE加入ACL 是是AddAccessDeniedAce 将ACCESS_DENIED_ACE加入ACL 是是AddAce 将ACE加入一个已存在的ACL 是是AddAtom 将一个字符串加入本地原子表是是AddAuditAccessAce 将SYSTEM_AUDIT_ACE加入ACL 是是AddFontResource 将一种字体加入字体表是是AddForm 加入一个打印机窗体是是AddJob 启动一个打印作业是是AddMonitor 加入一个打印机管理器是是AddPort 加入一个打印机端口是是AddPrintProcessor 将打印处理器复制到打印机服务器中是是AddPrintProvidor 加入一个打印机支持器是是AddPrinter 在打印机服务器上建立一个打印机是是AddPrinterConnection 为当前用户建立与打印机的联系是是AddPrinterDriver 将打印机驱动程序复制到打印机服务器中是是AdjustTokenGroups 使能/取消令牌中的群是是AdjustTokenPrivileges 使能/取消令牌特权是是AdjustWindowRect 计算所需窗口矩形的大小是是AdjustWindowRectEx 计算所需窗口矩形的大小是是AdvancedDocumentProperties 进行打印机高级设置是是AllocConsole 为当前进程建立控制台是是AllocateAndInitializeSid 分配和初始化SID 是是AllocateLocallyUniqueId 分配LUID 是是AngleArc 按指定角度画弧是是AnimatePalette 替换逻辑调色板中的项目是是AnyPopup 标识弹出式窗口是否存在是是AppendMenu 在菜单中加入新的项目是是Arc 画弧是是ArcT o 画椭圆弧是是AreAllAccessesGranted 检查所有要求的访问是是AreAnyAccessesGranted 检查任何要求的访问是是ArrangeIconicWindows 排列最小化的子窗口是是AttachThreadInput 将线索彼此相连是是auxGetDevCaps 获取附属设备容量是是auxGetNumDevs 返回附属设备数量是是auxGetVolume 获取当前卷设置是是auxOutMessage 向输出设备发送消息是是auxSetVolume 设置附属设备卷是是BackupEventLog 将事件记录保存至后备文件是是BackupRead 产生磁带备份读是是BackupSeek 产生磁带备份查寻是是BackupWrite 产生磁带备份写是是Beep 产生一个声调是是BeginDeferWindowPos 创建一个窗口位置结构是是BeginPaint 准备一个画图窗是是BeginPath 开始一个路径等级是是BeginUpdateResource 在可执行文件中开始资源文件更新是是BitBlt 在设备描述表间复制位图是是BringWindowT oTop 恢复重叠窗是是BroadcastSystemMessage 是是BuildCommDCB 向DCB中传送设备定义字符串是是BuildCommDCBAndTimeouts 建立COMMDCB并设置超时值是是CallMsgFilter 将消息传给消息过滤过程是是CallNamedPipe 多管道操作是是CallNextHookEx 调中链中的下一个挂钩过程是是CallWindowProc 将消息传答窗口函数是是CancelDC 取消指定DC上的任何悬而未决的操作是是CascadeWindows 是是ChangeClipboardChain 从剪贴板查看窗口上删除一个窗口是是ChangeMenu 是是ChangeServiceConfig 修改服务参数是是CharLower 将字符或字符串变为小写是是CharLowerBuff 将字符串变为小写是是CharNext 转到字符串的下一个字符是是CharPrev 转到字符串的上一个字符是是CharT oOem 把字符串转换成OEM字符是是CharT oOemBuff 把字符串转换成OEM字符是是CharUpper 将字符或字符串变为大写是是CharUpperBuff 将字符串变为小写是是CheckColorsInGamut 检查设备调色板中是否有色彩是是CheckDlgButton 用对话按钮修改复选标记是是CheckMenuItem 修改菜单项的复选标记属性是是CheckMenuRadioItem 是是CheckRadioButton 用单选按钮放置一个复选标记是是ChildWindowFromPoint 确定包含有点的窗口是是ChildWindowFromPointEx是是ChooseColor 建立一个色彩选择对话框是是ChooseFont 建立一个字体选择对话框是是ChoosePixelFormat 是是Chord 画一条弦是是ClearCommBreak 恢复字符传输是是ClearCommError 允许出错后进行通信是是ClearEventLog 消除事件记录是是ClientToScreen 将客户点转换成屏幕坐标是是ClipCursor 将光标限制在矩形内是是CloseClipboard 关闭剪贴板是是CloseDesktop 是是CloseDriver 光闭可装入的多媒体驱动程序是是CloseEnhMetaFile 光闭增强型图元文件DC 是是CloseEventLog 光闭事件记录句柄是是CloseFigure 光闭路径中的一个数是是CloseHandle 关闭打开的对象句柄是是CloseMetaFile 关闭WINDOWS图元文件DC 是是ClosePrinter 关闭打开的打印机是是CloseServiceHandle 关闭Service Control Manager对象是是CloseWindow 最小化窗口是是CloseWindowStation 是是ColorMatchToTarget 控件预览设备描述表是是CombineRgn 将两个区域合成一个区域是是CombineTransform 将两个变换式结合在一起是是CommConfigDialog 是是CommDlgExtendedError 返回出错数据是是CommandLineT oArgv 是是CompareFileTime 比较两个64位文件时间是是CompareString 比较两个局部指定字符串是是ConfigurePort 配置打印机端口是是ConnectNamedPipe 等待要连接的客户机是是ConnectT oPrinterDlg 显示浏览对话并连接网络打印机是是ContinueDebugEvent 使调试线索继续是是ControlService 向服务器发送控件是是ConvertDefaultLocale 将缺省局部转换为实际的局部值是是CopyAcceleratorTable 复制一个加速表是是CopyCursor 复制一个光标是是CopyEnhMetaFile 复制增强型图元文件是是CopyFile 复制文件是是CopyIcon 复制图标是是CopyImage 是是CopyLZFile 是是CopyMetaFile 复制Windows图元文件是是CopyRect 复制矩形大小是是CopySid 将SID复制到缓冲区中是是CountClipboardFormats 返回剪贴板格式的数量是是CreateAcceleratorT able 建立加速表是是CreateBitmap 建立独立于设备的内存位图是是CreateBitmapIndirect 用BITMAP结构建立位图是是CreateBrushIndirect 用指定属性建立一个刷子是是CreateCaret 为系统脱字号建立新的形状是是CreateColorSpace 建立逻辑色影区域是是CreateCompatibleBitmap 建立与DC相兼容的位图是是CreateCompatibleDC 建立与指定DC相兼容的DC 是是CreateConsoleScreenBuffer 将句柄返回给新的屏幕缓冲区是是CreateCursor 用指定的尺寸建立一个光标是是CreateDC建立设备描述表是是CreateDIBPatternBrush 从DIB中建立图案刷子是是CreateDIBPatternBrushPt 从位图中建立逻辑刷子是是CreateDIBSection 是是CreateDIBitmap 从DIB spec中建立位图句柄是是CreateDesktop 是是CreateDialogIndirectParam 从内存模块中建立非模态对话框是是CreateDialogParam 建立非模态对话框是是CreateDirectory 建立一个新目录是是CreateDirectoryEx 用模板属性建立一个目录是是CreateDiscardableBitmap 建立可放弃位图是是CreateEllipticRgn 建立椭圆区域是是CreateEllipticRgnIndirect 建立椭圆区域是是CreateEnhMetaFile 建立增强型图元文件DC 是是CreateEvent 返回新事件对象一个句柄是是CreateFile 建立、打开或截断文件是是CreateFileMapping 返回新文件映像对象一个句柄是是CreateFont 建立逻辑字体是是CreateFontIndirect 用LOGFONT结构建立字体是是CreateHalftonePalette 为设备描述表建立中间色调调色板是是CreateHatchBrush 建立影线刷子是是CreateIC 建立信息上下文是是CreateIcon 建立有指定属性的图标是是CreateIconFromResource 建立图标或光标是是CreateIconIndirect 建立图标或光标是是CreateIoCompletionPort 是是CreateMDIWindow 建立新的MDI窗口是是CreateMailslot 建立Mailsolt 是是CreateMenu 建立菜单是是CreateMetaFile 建立WINDOWS图元DC 是是CreateMutex 将句柄返回给MUTEX对象是是CreateNamedPipe 建立命名管道实例是是CreatePalette 建立逻辑色彩调色板是是CreatePatternBrush 从位图中建立图案刷子是是CreatePen 建立逻辑画笔是是CreatePenIndirect 用LOGPEN结构建立画笔是是CreatePipe 建立匿名管道是是CreatePolyPolygonRgn 建立由多边形组成的区域是是CreatePolygonRgn 建立多边形区域是是CreatePopupMenu 建立弹出式菜单是是CreatePrivateObjectSecurity 分配并初始化保护SD 是是CreateProcess 建立新的进程和线索对象是是CreateProcessAsUser 建立指定用户的新进程是是CreateRectRgn 建立矩形区域是是CreateRectRgnIndirect 用RECT结构建立一个区域是是CreateRemoteThread 在另一进程中建立线索是是CreateRoundRectRgn 建立圆角矩形是是CreateScalableFontResource 建立带字体信息的资源文件是是CreateSemaphore 将句柄返回给新的信号量是是CreateService 建立服务对象是是CreateSolidBrush 用指定颜色建立实心刷子是是CreateTapePartition 建立新的磁带分区是是CreateThread 建立新的线索是是CreateWindowEx 建立窗口是是DPtoLP 将设备坐标转换位逻辑坐标是是DdeAbandonTransaction 取消异步交互是是DdeAccessData 访问DDE数据对象是是DdeAddData向DDE数据对象中加入数据是是DdeClientTransaction 开始DDE数据事务是是DdeCmpStringHandles 比较两个DDE字符串句柄是是DdeConnect 建立与服务器的对话是是DdeConnectList 建立多个DDE对话是是DdeCreateDataHandle 建立DDE数据句柄是是DdeCreateStringHandle 建立DDE字符串句柄是是DdeDisconnect 终止DDE对话是是DdeDisconnectList 取消DDE对话表列是是DdeEnableCallback 使能或取消一个或多个DDE对话是是DdeFreeDataHandle 释放DDE数据对象是是DdeFreeStringHandle 释放DDE字符串句柄是是DdeGetData 将数据从DDE数据对象中复制到缓冲区是是DdeGetLastError 返回由DDEML函数设置的出错代码是是DdeImpersonateClient DDE服务器模拟客户机是是DdeInitialize 用DDEML登记应用程序是是DdeKeepStringHandle 为字符串句柄增加可用记录是是DdeNameService 登记取消服务器名称是是DdePostAdvise 提示服务器向客户机发送建议数据是是DdeQueryConvInfo 返回关于DDE对话的信息是是DdeQueryNextServer 在对话表列中获得下一个句柄是是DdeQueryString 将字符串句柄文本复制到缓冲区是是DdeReconnect 重建DDE对话是是DdeSetQualityOfService 指明服务的DDE质量是是DdeSetUserHandle 将用户定义句柄与事务建立关联是是DdeUnaccessData 释放DDE数据对象是是DdeUninitialize 释放应用程序的DDEML资源是是DebugActiveProcess 连接调试进程是是DebugBreak 建立断点是是DefDlgProc 提供缺省窗口消息进程是是DefDriverProc 定义缺省消息处理器是是DefFrameProc 缺省MDI框架窗口消息进程是是DefMDIChildProc 缺省MDI子窗口消息进程是是DefWindowProc 调用缺省窗口过程是是DeferWindowPos 更新窗口位置结构是是DefineDosDevice 定义、重定义或删除DOS的设备名是是DeleteAce 从已存在的ACL中删除ACE 是是DeleteAtom 删除一个原子是是DeleteColorSpace 删除指定色彩空间是是DeleteCriticalSection 删除临界部分是是DeleteDC 删除设备描述表是是DeleteEnhMetaFile 取消增强图元文件句柄是是DeleteFile 删除文件是是DeleteForm 删除打印机窗体层差是是DeleteMenu 删除菜单项是是DeleteMetaFile 取消WINDOWS图元文件句柄是是DeleteMonitor 删除打印机监视器是是DeleteObject 从内存删除一个对象是是DeletePort 删除打印机端口是是DeletePrintProcessor 删除打印机处理器是是DeletePrintProvidor 删除打印机提供者是是DeletePrinter 删除打印机服务器上的打印机是是DeletePrinterConnection 删除与打印机的连接是是DeletePrinterDriver 删除打印机驱动程序是是DeleteService 从SC MANAGER数据库中删除服务是是DeregisterEventSource 光闭事件句柄是是DescribePixelFormat是是DestroyAcceleratorTable 取消加速表是是DestroyCaret 取消当前脱字号是是DestroyCursor 取消CREATECURSOR建立的光标是是DestroyIcon 取消由CREATEICON建立的图标是是DestroyMenu 取消菜单并释放内存是是DestroyPrivateObjectSecurity 删除被保护的服务器对象的SD 是是DestroyWindow 取消窗口是是DeviceCapabilities 返回设备驱动程序的功能是是DeviceIoControl 直接调用驱动程序是是DialogBoxIndirectParam 从内存模块中建立对话框是是DisableThreadLibraryCalls 是是DisconnectNamedPipe 切断命名管道的服务器终端是是DispatchMessage 向窗口发送消息是是DlgDirList 填充目录列表框是是DlgDirListComboBox 填充目录列表框是是DlgDirSelectComboBoxEx 从目录列表框中返回用户选择是是DlgDirSelectEx 从目录列表框中返回用户选择是是DoEnvironmentSubst 是是DocumentProperties 配置打印机设置是是DosDateTimeT oFileTime 将MS-DOS日期时间转换为64位格式是是DragAcceptFiles 登记窗口是否接受托动文件的内容是是DragDetect 是是DragFinish 释放分配用于托动文件的内容是是DragObject 是是DragQueryFile 返回托动的文件名是是DragQueryPoint 返回鼠标位置是是DrawAnimatedRects 是是DrawCaption 是是DrawEdge是是DrawEscape 实现非GDI可画图设备方法是是DrawFocusRect 用焦点风格画矩形是是DrawFrameControl 是是DrawIcon 在指定设备描述表中画一个图标是是DrawIconEx 是是DrawMenuBar 重显示菜单栏是是DrawState 是是DrawText 在矩形中画出已格式化文本是是DrawTextEx 是是DrvGetModuleHandle 获得可安装驱动程序的例子句柄是是DuplicateHandle 复制对象句柄是是DuplicateIcon 是是DuplicateToken 复制访问令牌是是Ellipse 画椭圆是是EmptyClipboard 清空剪贴板并释放数据句柄是是EnableMenuItem 使能、取消或使菜单项不可激活是是EnableScrollBar 使能、取消滚动条是是EnableWindow 设备窗口使能状态是是EndDeferWindowPos 更新窗口的位置及大小是是EndDialog 隐藏对话框是是EndDoc 结束打印作业是是EndDocPrinter 结束打印作业是是EndPage 结束一页是是EndPagePrinter 结束打印页是是EndPaint 在指定窗口中标记图画结尾标志是是EndPath 结束路径是是EndUpdateResource 在可执行文件中结束资源更新是是EnterCriticalSection 加入临界部分是是EnumCalendarInfo 是是EnumChildWindows 将子窗口句柄传给回调函数是是EnumClipboardFormats 返回CLIPBOARD格式是是EnumDateFormats 枚举局部指定数据格式是是EnumDependentServices 枚举依赖于设备的服务是是EnumDesktopWindows 是是EnumDesktops 是是EnumEnhMetaFile 用增强图元文件返回GDI调用是是EnumFontFamilies 返回指定家族的字体是是EnumFontFamiliesEx 返回指定家族的字体是是EnumFonts 枚举指定设备上的字体是是EnumForms 枚举所支持的打印机窗体是是EnumICMProfiles 枚举可用的颜色分布是是EnumJobs 获取打印作业信息是是EnumMetaFile 用WINDOWS图元文件返回GDI调用是是EnumMonitors 枚举可用监视器是是EnumObjects 枚举设备描述表中的画笔和刷子是是EnumPorts 枚举可用打印机端口是是EnumPrintProcessorDatatypes 枚举打印机所支持的数据类型是是EnumPrintProcessors 枚举已安装的打印机处理器是是EnumPrinterDrivers 枚举已安装的打印机驱动程序是是EnumPrinterPropertySheets 是是EnumPrinters 是是EnumProps 返回窗口属性表列是是EnumPropsEx 返回窗口属性表列是是EnumResourceLanguages 列出语言资源是是EnumResourceNames 列出资源名称是是EnumResourceTypes 列出资源类型是是EnumServicesStatus 枚举SC管理器数据库中的服务是是EnumSystemCodePages 枚举已安装的可用系统代码页是是EnumSystemLocales 枚举已安装的系统局部是是EnumThreadWindows 返回线索窗口是是EnumTimeFormats 枚举本地指定时间格式是是EnumWindowStations 是是EqualPrefixSid 检查两个SLD前缀是否相等是是EqualRect 确定两矩形是否相等待是是EqualRgn 比较两区域是否相等是是EqualSid 检查两SLD安全ID是否相等是是EraseTape 删除磁带的指定段是是Escape 允许访问设备是是EscapeCommFunction 发送扩展COMM函数是是ExcludeClipRect 改变剪裁区是是ExcludeUpdateRgn 从剪裁区中排斥更新区域是是ExitProcess 退出当前进程是是ExitThread 退出当前线索是是ExitWindows 关闭WINDOWS 是是ExitWindowsEx 关闭WINDOWS 是是ExpandEnvironmentStrings 扩充环境变量字符串是是ExtCreatePen 建立逻辑画笔是是ExtCreateRegion 从区域数据中建立一个区域是是ExtEscape 允许访问私有设备是是ExtFloodFill 用当前刷子填充区域是是ExtSelectClipRgn 选择一块区域作为剪裁区是是ExtTextOut 在矩形区域中输出一个字符串是是ExtractAssociatedIcon 从文件或相关EXE中获取图标句柄是是ExtractIcon 从可执行文件中返回图标句柄是是ExtractIconEx是是FatalAppExit 结束一个应用程序是是FatalExit 向调试者返回控件是是FileTimeToDosDateTime 将文件时间转换为MS-DOS日期是是FileTimeToLocalFileTime 将UTC文件时间转换成本地文件时间是是FileTimeToSystemTime 将64位时间转换为系统时间是是FillConsoleOutputAttribute 将属性写入屏幕缓冲区是是FillConsoleOutputCharacter 将字符写入屏幕缓冲区是是FillPath 填充当前路径是是FillRect 用指定刷子填充矩形区域是是FillRgn 用刷子填充区域是是FindAtom 从本地原子表中返回字符串原子是是FindClose 关闭查找文件描述表是是FindCloseChangeNotification 光闭文件或目录修改等待是是FindClosePrinterChangeNotification 是是FindEnvironmentString 是是FindExecutable 返回可执行文件名及句柄是是FindFirstChangeNotification 设置文件或目录修改等待是是FindFirstFile 查找第一个匹配文件是是FindFirstFreeAce 返回指向第一个空闲ACL字节的指针是是FindFirstPrinterChangeNotification 是是FindNextChangeNotification 请求对下一个文件或目录变化的通知是是FindNextFile 查找下一个匹配文件是是FindNextPrinterChangeNotification 是是FindResource 在模块中寻找资源是是FindResourceEx 在模块中寻找资源是是FindText 建立查找文本对话框是是FindWindow 返回一个与类和窗口名相关的窗口句柄是是FindWindowEx 是是FixBrushOrgEx 是是FlashWindow 使窗口闪烁一次是是FlattenPath 将弧变为线是是FloodFill 用当前刷子填充区域是是FlushConsoleInputBuffer 清除控制台输入缓冲区是是FlushFileBuffers 清除文件缓冲区是是FlushInstructionCache 填满指令缓冲区是是FlushViewOfFile 用映像视图填充文件是是FoldString 变换字符串是是FormatMessage 格式化消息字符串是是FrameRect 用指定刷子画一个窗口边框是是FrameRgn 在区域四周画出边框是是FreeConsole 释放控制台是是FreeDDElParam 释放DDE消息IPARAM 是是FreeEnvironmentStrings 是是FreeLibrary 卸载库模块是是FreeLibraryAndExitThread 是是FreeResource 是是FreeSid 释放SID 是是GdiComment 向增强型图元文件中加入注释是是GdiFlush 使当前GDI闪烁是是GdiGetBatchLimit 返回缓冲GDI函数数量是是GdiSetBatchLimit 设置缓冲GDI函数数量是是GenerateConsoleCtrlEvent 向控制台进程组发送信号是是GetACP 获取ANSI系统代码页是是GetAce 返回指向ACL中的ACE的指针是是GetAclInformation 返回访问控件表信息是是GetActiveWindow 返回活动窗口句柄是是GetArcDirection 返回弧和矩形的绘画方向是是GetAspectRatioFilterEx 返回当前ASPECT-RATIO过滤器是是GetAsyncKeyState 确定键的状态是是GetAtomName 返回本地原子字符串是是GetBinaryType 确定二进制可执行文件类型是是GetBitmapBits 将位图复制到缓冲区是是GetBitmapDimensionEx 返回位图宽和高是是GetBkColor 返回当前背景色是是GetBkMode 返回背景模式是是GetBoundsRect 返回当前相邻矩形是是GetBrushOrgEx 是是GetCPInfo 获取代码页信息是是GetCapture 是是GetCaretBlinkTime 返回脱字号闪烁时间是是GetCaretPos 返回当前脱字号位置是是GetCharABCWidths 返回字符宽度是是GetCharABCWidthsFloat 返回字符宽度是是GetCharWidth 返回字符宽度是是GetCharWidth32 返回字符宽度是是GetCharWidthFloat 返回部分字符宽度是是GetCharacterPlacement 获取字符串属性数据是是GetClassInfo 返回窗口类信息是是GetClassLong 返回窗口类数据是是GetClassName 返回窗口类名称是是GetClassWord 返回窗口类内存字是是GetClientRect 返回窗口客户区坐标是是GetClipBox 取剪裁区域框是是GetClipCursor 返回限制光标的矩形的坐标是是GetClipRgn 返回当前剪辑域是是GetClipboardData返回剪贴板数据的句柄是是GetClipboardFormatName 返回登录的剪贴板格式名是是GetClipboardOwner 返回剪贴板所有者窗口句柄是是GetClipboardViewer 返回第一个剪贴板浏览窗口句柄是是GetColorAdjustment 获取设备描述表调整值是是GetColorSpace 获取指定色彩空间是是GetCommConfig 是是GetCommMask 返回COMM事件屏蔽是是GetCommModemStatus 返回调制解调器控制登录值是是GetCommProperties 返回COMM设备属性是是GetCommState 返回COMM设备控制块是是GetCommTimeouts 返回COMM设备超时特性值是是GetCommandLine 返回指向命令行的指针是是GetCompressedFileSize 是是GetComputerName 取回当前计算机名是是GetConsoleCP 为控制台输入获取代码页是是GetConsoleCursorInfo 返回光标大小是是GetConsoleMode 返回控制台输入输出模式是是GetConsoleOutputCP 为控制台输出获取代码页是是GetConsoleScreenBufferInfo 返回屏幕缓冲区信息是是GetConsoleTitle 返回控制台窗口标题是是GetCurrencyFormat 是是GetCurrentDirectory 返回当前目录是是GetCurrentObject 返回当前对象是是GetCurrentPositionEx 返回逻辑单元位置是是GetCurrentProcess 返回当前进程的句柄是是GetCurrentProcessId 返回当前进程ID值是是GetCurrentThread 返回当前线索的句柄是是GetCurrentThreadId 返回当前线索ID值是是GetCursor 返回当前光标的句柄是是GetCursorPos 返回当前光标的位置是是GetDC 返回窗口描述表句柄是是GetDCEx 返回显示描述表的句柄是是GetDCOrgEx 返回设备描述表的转换起点是是GetDIBColorTable 是是GetDIBits 将DIB位复制到缓冲区中是是GetDateFormat 获取本地日期格式是是GetDefaultCommConfig 是是GetDesktopWindow 返回桌面窗口句柄是是GetDeviceCaps 返回设备性能是是GetDeviceGammaRamp 获取显示器的辉度系数是是GetDialogBaseUnits 返回对话基础单元是是GetDiskFreeSpace 返回空闲磁盘空间是是GetDlgCtrlID 返回儿子窗口的ID值是是GetDlgItem 返回对话框控件句柄是是GetDlgItemInt 将对话框文本转换为整数是是GetDlgItemText 返回对话框控件文本是是GetDoubleClickTime 返回鼠标双击时间是是GetDriveType 返回指定驱动器类型是是GetDriverModuleHandle 返回驱动程序模块例子句柄是是GetEnhMetaFile 建立增强图元文件是是GetEnhMetaFileBits 将增强图元文件值复制到缓冲区是是GetEnhMetaFileDescription 返回增强图元文件的标题及建立者是是GetEnhMetaFileHeader 返回增强图元文件头是是GetEnhMetaFilePaletteEntries 返回增强图元文件调色板入口是是GetEnvironmentStrings 返回指向环境块的指针是是GetEnvironmentVariable 返回过程环境变量是是GetExitCodeProcess 返回过程中断代码是是GetExitCodeThread 返回线索中断代码是是GetExpandedName 取压缩文件的原文件名是是GetFileAttributes 返回文件属性是是GetFileInformationByHandle 返回文件信息是是GetFileSecurity 获取文件或目录安全信息是是GetFileSize 返回指定文件大小是是GetFileTime 返回文件64位时间是是GetFileTitle 返回文件名是是GetFileType 返回文件类型是是GetFileVersionInfo 返回文件的版本信息是是GetFileVersionInfoSize 返回可用版本信息大小是是GetFocus 返回当前焦点窗口句柄是是GetFontData 返回字体数据是是GetFontLanguageInfo 获取字体显示描述表的信息是是GetForegroundWindow 返回前景窗口句柄是是GetForm 获取打印机窗口信息是是GetFullPathName 返回文件的路径名是是GetGlyphOutline 取回轮廓数据是是GetGraphicsMode 取回指定DC的图形模式是是GetHandleInformation 是是GetICMProfile 返回设备场景的色彩映像是是GetIconInfo 返回图标或光标信息是是GetInputState 确定鼠标、键盘、定时器状态是是GetJob 获取打印作业信息是是GetKBCodePage 获取OEM系统代码页是是GetKernelObjectSecurity 返回内核对象SD 是是GetKerningPairs 返回当前字体内核对是是GetK。
WindowsAPI函数大全(API之进程和线程函数)API之进程和线程函数CancelWaitableTimer 这个函数用于取消一个可以等待下去的计时器操作CallNamedPipe 这个函数由一个希望通过管道通信的一个客户进程调用ConnectNamedPipe 指示一台服务器等待下去,直至客户机同一个命名管道连接CreateEvent 创建一个事件对象CreateMailslot 创建一个邮路。
返回的句柄由邮路服务器使用(收件人)CreateMutex 创建一个互斥体(MUTEX)CreateNamedPipe 创建一个命名管道。
返回的句柄由管道的服务器端使用CreatePipe 创建一个匿名管道CreateProcess 创建一个新进程(比如执行一个程序)CreateSemaphore 创建一个新的信号机CreateWaitableTimer 创建一个可等待的计时器对象DisconnectNamedPipe 断开一个客户与一个命名管道的连接DuplicateHandle 在指出一个现有系统对象当前句柄的情况下,为那个对象创建一个新句柄ExitProcess 中止一个进程FindCloseChangeNotification 关闭一个改动通知对象FindExecutable 查找与一个指定文件关联在一起的程序的文件名FindFirstChangeNotification 创建一个文件通知对象。
该对象用于监视文件系统发生的变化FindNextChangeNotification 重设一个文件改变通知对象,令其继续监视下一次变化FreeLibrary 释放指定的动态链接库GetCurrentProcess 获取当前进程的一个伪句柄GetCurrentProcessId 获取当前进程一个唯一的标识符GetCurrentThread 获取当前线程的一个伪句柄GetCurrentThreadId 获取当前线程一个唯一的线程标识符GetExitCodeProces 获取一个已中断进程的退出代码GetExitCodeThread 获取一个已中止线程的退出代码GetHandleInformation 获取与一个系统对象句柄有关的信息GetMailslotInfo 获取与一个邮路有关的信息GetModuleFileName 获取一个已装载模板的完整路径名称GetModuleHandle 获取一个应用程序或动态链接库的模块句柄GetPriorityClass 获取特定进程的优先级别GetProcessShutdownParameters 调查系统关闭时一个指定的进程相对于其它进程的关闭早迟情况GetProcessTimes 获取与一个进程的经过时间有关的信息GetProcessWorkingSetSize 了解一个应用程序在运行过程中实际向它交付了多大容量的内存GetSartupInfo 获取一个进程的启动信息GetThreadPriority 获取特定线程的优先级别GetTheardTimes 获取与一个线程的经过时间有关的信息GetWindowThreadProcessId 获取与指定窗口关联在一起的一个进程和线程标识符LoadLibrary 载入指定的动态链接库,并将它映射到当前进程使用的地址空间LoadLibraryEx 装载指定的动态链接库,并为当前进程把它映射到地址空间LoadModule 载入一个Windows应用程序,并在指定的环境中运行MsgWaitForMultipleObjects 等侯单个对象或一系列对象发出信号。
WindowsAPI函数⼤全(完整)Windows API函数⼤全,从事软件开发的朋友可以参考下1. API之⽹络函数WNetAddConnection 创建同⼀个⽹络资源的永久性连接WNetAddConnection2 创建同⼀个⽹络资源的连接WNetAddConnection3 创建同⼀个⽹络资源的连接WNetCancelConnection 结束⼀个⽹络连接WNetCancelConnection2 结束⼀个⽹络连接WNetCloseEnum 结束⼀次枚举操作WNetConnectionDialog 启动⼀个标准对话框,以便建⽴同⽹络资源的连接WNetDisconnectDialog 启动⼀个标准对话框,以便断开同⽹络资源的连接WNetEnumResource 枚举⽹络资源WNetGetConnection 获取本地或已连接的⼀个资源的⽹络名称WNetGetLastError 获取⽹络错误的扩展错误信息WNetGetUniversalName 获取⽹络中⼀个⽂件的远程名称以及/或者UNC(统⼀命名规范)名称WNetGetUser 获取⼀个⽹络资源⽤以连接的名字WNetOpenEnum 启动对⽹络资源进⾏枚举的过程2. API之消息函数BroadcastSystemMessage 将⼀条系统消息⼴播给系统中所有的顶级窗⼝GetMessagePos 取得消息队列中上⼀条消息处理完毕时的⿏标指针屏幕位置GetMessageTime 取得消息队列中上⼀条消息处理完毕时的时间PostMessage 将⼀条消息投递到指定窗⼝的消息队列PostThreadMessage 将⼀条消息投递给应⽤程序RegisterWindowMessage 获取分配给⼀个字串标识符的消息编号ReplyMessage 答复⼀个消息SendMessage 调⽤⼀个窗⼝的窗⼝函数,将⼀条消息发给那个窗⼝SendMessageCallback 将⼀条消息发给窗⼝SendMessageTimeout 向窗⼝发送⼀条消息SendNotifyMessage 向窗⼝发送⼀条消息3. API之⽂件处理函数CloseHandle 关闭⼀个内核对象。
一、窗口函数(Window)AdjustWindowRect函数功能:该函数依据所需客户矩形的大小,计算需要的窗日矩形的大小。
计算出的窗口矩形随后可以传递给CreateWindow函数,用于创建一个客户区所需大小的窗口。
函数原型:BOOL AdjustWindowRect(LPRECT lpRect ,DWORD dwStyle,BOOL bMENU);参数:lpRect:指向RECT结构的指针,该结构包含所需客户区域的左上角和右下角的坐标。
函数返回时,该结构容纳所需客户区域的窗口的左上角和右下角的坐标。
dwStyle:指定将被计算尺寸的窗口的窗口风格。
bMenu:指示窗口是否有菜单。
返回值:如果函数成功,返回值为非零;如果函数失败,返回值为零。
获取错误信息,参看GetLastError。
备注:客户矩形是指完全包含一个客户区域的最小矩形;窗日矩形是指完全包含一个窗口的最小矩形,该窗口包含客户区与非客户区。
当一个菜单条下拉出两行或更多行时,AdjustWindowRect函数不增加额外的空间。
速查:Windows NT:3.1以上版本:Windows:95以上版本:Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = == = = = = = = = = = = = = = = = = = = = = = = = = = = = = =AdjustWindowRectEX函数功能:该函数依据所需客户矩形大小,计算需要的窗口矩形的大小。
计算出的窗口矩形随后可以传送给CreateWindowEx函数,用于创建一个客户区所需大小的窗口。
函数原型:BOOL AdjustWindowRectEX(LPRECT lpRect,DWORD dwStyte;BOOL bMenu;DWORD dwExStyle);参数:lpRect:指向RECT结构的指针,该结构包含所需客户区域的左上角和右下角的坐标。
史上最强---win32API函数大全文档Win32 API函数大全1. API之网络函数WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接WNetCancelConnection2 结束一个网络连接WNetCloseEnum 结束一次枚举操作WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDisconnectDialog 启动一个标准对话框,以便断开同网络资源的连接WNetEnumResource 枚举网络资源WNetGetConnection 获取本地或已连接的一个资源的网络名称WNetGetLastError 获取网络错误的扩展错误信息WNetGetUniversalName 获取网络中一个文件的远程名称以及/或者UNC(统一命名规范)名称WNetGetUser 获取一个网络资源用以连接的名字WNetOpenEnum 启动对网络资源进行枚举的过程2. API之消息函数BroadcastSystemMessage 将一条系统消息广播给系统中所有的顶级窗口GetMessagePos 取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime 取得消息队列中上一条消息处理完毕时的时间PostMessage 将一条消息投递到指定窗口的消息队列PostThreadMessage 将一条消息投递给应用程序RegisterWindowMessage 获取分配给一个字串标识符的消息编号ReplyMessage 答复一个消息SendMessage 调用一个窗口的窗口函数,将一条消息发给那个窗口SendMessageCallback 将一条消息发给窗口SendMessageTimeout 向窗口发送一条消息SendNotifyMessage 向窗口发送一条消息3. API之文件处理函数CloseHandle 关闭一个内核对象。
VC API常用函数简单例子大全第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄函数的定义:HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCSTR lpWindowName);第一个参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时填两个参数的,也就是说,你只要知道窗口的类名或窗口的标题就可以了,没有的那个就用NULL代替。
比如现在有一个窗口名为"无标题.txt - 记事本"的记事本程序。
那么我就可以用上面的函数获得这个窗口的句柄,那获得了这个窗口的句柄我可以干什么呢?作用可大了,因为很多操作窗口的函数,都需要窗口句柄作参数,如移动、改变窗口大小的MoveWindow函数,在这里举个例子,大家就更能体会到这个FindWindow的用法、用处。
FindWindow例子:已知一个窗口名称,写一个程序关闭该窗口,假设当前电脑正有一个窗口名为"无标题.txt - 记事本"的记事本程序运行1 #include<windows.h> //API函数的头文件2int main()3 {4 HWND wnd; //定义一个窗口句柄变量,用以存储找到的窗口句柄5 wnd=FindWindow(NULL,"无标题.txt - 记事本"); //获得窗口名为"无标题.txt - 记事本"的窗口句柄67 SendMessage(wnd,WM_CLOSE,0,0); //调用SendMessage函数,发送一个WM_CLOSE(关闭)消息给wnd窗口句柄。
89return0;10 }如果要根据窗口类名来获得窗口句柄话,只要给函数的第一个参数填类名,第二个参数窗口名填NULL,即可,用Spy++可查看窗口类名。
第二个:SendMessage根据窗口句柄发送一个消息给窗口函数定义:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam);第一个参数是窗口句柄,第二参数个是消息类型,下面的消息表列举了所有消息,第三,四个参数是消息附带信息,解释依赖于消息类型,比如一个字符消息(WM_CHAR),那么第三个参数就储存有一个字符的ASCII码。
消息机制大家都应该知道吧,Windows是基于消息的系统,鼠标移动键盘按键都会产生消息。
接下来举一个例子,发送一个WM_CHAR消息给窗口,也就是模仿键盘按键,接收消息的窗口依旧以"无标题.txt - 记事本"为例:SendMessage例子:模仿键盘按键1 #include<windows.h>23int main()45 {67 HWND wnd;8 wnd=FindWindow(NULL,"无标题.txt - 记事本");910while(1)1112 {1314 SendMessage(wnd,WM_CHAR,WPARAM('a'),0);1516 Sleep(300);1718 }1920return0;2122 }呵呵上面的例子是不是没用,这是为什么呢,哪里出错了吗?错倒是没有错,只是窗口句柄有问题,消息发送给了主窗口。
接收消息的窗口不对。
记事本窗口界面有些有什么东西呢?菜单,编辑框,状态栏等控件,控件也是窗口,既然是窗口,那当然它们也有窗口句柄,而在记事本里是在哪里打字的?编辑框控件里打字的嘛!所以消息应该发送编辑框控件,那如何获得记事本里编辑框控件的窗口句柄呢?用FindWindow吗?不知道编辑框窗口标题名,类名也不知道,当然也有其它方法获取编辑框窗口标题名和窗口类名,如Spy++。
关于如何获得编辑框句柄,将在以后的函数中会有介绍,这里我们就用WindowFromPoint这个函数来获取,这个函数获取窗口句柄的方法比较笨,(相对于我这个例子来说),这个函数是根据什么来获取窗口句柄的呢?根据屏幕坐标点,如屏幕坐标点20,20,当前是哪个窗口占有,就返回哪个窗口的句柄。
有了这个函数,我们还需要一个函数GetCursorPos获取鼠标当前位置(针对于屏幕);可行的例子:模仿键盘按键:1 #include<windows.h>23int main()4 {5 POINT curpos; //一个可储存坐标点的结构体变量,x横坐标,y,纵坐标,如curpos.x curpos.y67while(1)8 {9 GetCursorPos(&curpos); //获取当前鼠标的位置,位置将储存在curpos里。
10 HWND hWnd = WindowFromPoint(curpos); //根据curpos所指的坐标点获取窗口句柄11 SendMessage(hWnd,WM_CHAR,WPARAM('g'),0); //发送一个字符(按键)消息g给当前鼠标所指向的窗口句柄12 Sleep(300); //睡眠三百毫秒,相当于等待三分之一秒13 }16 }这个程序一运行后,只要把鼠标指向要输入字符的窗口句柄,那么就相当于键盘每三分之一秒按了一个g键,试试吧!如果这样觉得模仿键盘按键太麻烦的话,那么就用keybd_event这个函数,这个专门用于模仿键盘按键的,关于怎么用,自己百度一搜,就知道了。
既然SendMessage能模仿键盘按键的话,那也能模仿鼠标左击,右击。
而此时SendMessage函数第三,四个参数的解释就是储存有鼠标左击,右击时的位置。
如模仿鼠标右击,想一想,一次鼠标右击有哪几步,分别是鼠标右键按下,鼠标右键松开,如果你按下鼠标右键不松开,那它是不是鼠标右击,不是的,直到你松开鼠标右键,才能算是一次完整的鼠标右击.鼠标右键按下的消息类型是“WM_RBUTTONDOWN”,右键松开的消息是“WM_RBUTTONUP”,那么一次完整的鼠标右击应该是:1 SendMessage(wnd,WM_RBUTTONDOWN,0,0); //鼠标右键按下,第三,四个参数说明了鼠标按下时的位置2 Sleep(100); //间隔100毫秒3 SendMessage(wnd,WM_RBUTTONUP,0,0); //鼠标右键松开同样,也有一个专门模仿鼠标动作的函数,mouse_event这个函数,可以模仿鼠标的移动,单击,双击等。
以后会有专门介绍。
第三个:GetCursorPos获取鼠标当前位置(屏幕)这个函数在SendMessage函数有介绍,这里仅举一个例子,在界面里不停的输出鼠标当前位置。
1 #include<windows.h>23 #include<stdio.h>45int main()67 {8 POINT curpos;910while(1)1112 {1314 GetCursorPos(&curpos);1516 printf("x:%d,y:%d",curpos.x,curpos.y);1718 Sleep(300);1920 printf("\n");2122 }23 }第四个:WindowFromPoint根据坐标点获得对应的窗口句柄在SendMessage有解释,这里仅举一个例子,鼠标指向哪个窗口,就关闭哪个窗口。
1 #include<windows.h>23int main()45 {67 Sleep(2500); //等待一会儿,用于把鼠标移到其它窗口上去,避免指向本身进程的窗口,关掉自己的窗口。
89 POINT curpos;1011while(1)1213 {1415 GetCursorPos(&curpos);1617 HWND wnd=WindowFromPoint(curpos);1819 SendMessage(wnd,WM_CLOSE,0,0);2021 Sleep(300);2223 }2425 }第五个MoveWindow根据窗口句柄移动窗口,改变窗口大小函数定义:BOOL MoveWindow( HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint );hWnd是要改变大小的窗口的句柄,x,y相对于屏幕的坐标,窗口左上角的位置与之相对应,nWidth和nHeight 是窗口新的宽高,bRepaint指定窗口是否重画。
这里依旧以"无标题.txt - 记事本"为例子,改变这个窗口大小,并把窗口移到左上角去。
1 #include<windows.h>2int main()3 {4 HWND wnd;5 wnd=FindWindow(NULL,"无标题.txt - 记事本");6 MoveWindow(wnd,0,0,220,120,NULL);7return0;8 }第六个ShowWindow设置窗口显示状态,如隐藏,最大化,最小化函数定义BOOL ShowWinow(HWND hWnd,int nCmdShow);SW_HIDE:隐藏窗口并激活其他窗口。
第一个参数hWnd指明了窗口句柄,第二个参数指明了窗口的状态,现在给出第二个参数常用取值范围:SW_MAXIMIZE:最大化指定的窗口。
SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。
SW_RESTORE:激活并显示窗口。
如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。
在恢复最小化窗口时,应用程序应该指定这个标志。
SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。
ShowWindow例子:程序运行后,在桌面上隐藏一个指定的窗口,并在4秒后再将其显示1 #include<windows.h>2int main()3 {4 HWND wnd;5 wnd=FindWindow(NULL,"无标题.txt - 记事本");6 ShowWindow(wnd,SW_HIDE);7 Sleep(5000);8 ShowWindow(wnd,SW_SHOW);9return0;10 }第七个SetCursorPos设置鼠标的位置、把鼠标移动到指定的位置函数定义:BOOL SetCursorPos(int x,int y);这个函数的两个参数我想大家应该知道是什么意思吧,屏幕的坐标点。
直接看例子:1 #include<windows.h>2int main()3 {4int sec=0;5while(sec<200)6 {7 SetCursorPos(rand()%1024,rand()%768); //随机设置鼠标的位置8 Sleep(20);9 sec++;10 }11return0;12 }第八个CopyFile复制一个文件如何复制一个文件,比如,我要把E盘的abb.txt的文本文件复制到d盘的zhengyong.txt,则调用语句1 CopyFile("e:\\abb.txt","d:\\zhengyong.txt",FALSE);第三个参数有以下说明:如果设为TRUE(非零),那么一旦目标文件已经存在,则函数调用会失败。