Windows API函数大全

发布时间:

WindowsAPI函数
我们知道VB可以做很多事,但是有些事情,特别是涉及对Windows操作系统的访问,还需要借助Win32API函数(MicrosoftWin32ApplicationProgrammingInterface的缩写API函数是一组用C语言编写的函数,总共约有一千来个。原本是为C语言编程人员而编写的,但也可以在VB应用程序中调用。
按功能划分,Win32API函数大致涉及以下几个方面:窗口管理、图形设备接口、系统管理和多媒体技术Win32API函数以动态链接库DLL提供给用户,可以在任何语言中调用。DLL在程序运行时装入,随时响应程序的调用,不必在设计时就将文件存放在工程中,这就是动态链接的意思。正因为如此,一个DLL程序可以同时为多个程序所调用。
VB中引用API函数,需要事先通过Declare函数,声明要引用的DLL文件名称以及相应函数的参量。然后便可像使用VB函数一样使用API函数。
我们看以下类似的声明语句:
DeclareFunctionGetComputerNameLib"kernel32"Alias"GetComputerNameA"(ByVallpBufferAsString,nSizeAsLongAsLong
GetComputerNameAPI函数名,kernel32是库名。括号中的ByVallpBufferAsString,nSizeAsLong就是函数的参量。最后面的Long表示函数返回值的数据类型。本节通过例子说明Win32API函数的应用。
Windows在创建每个窗体时,都会赋给它一个与众不同的编号,这就是窗体的句柄Windows中,窗体与控件都被看成是窗体(窗口。窗体的句柄保存在自己的hwnd属性中。
一.GetComputerName
【功能说明】
函数用于获得计算机的名称【函数声明】
DeclareFunctionGetComputerNameLib"kernel32"Alias"GetComputerNameA"(ByVallpBufferAsString,nSizeAsLongAsLong【返回值】
LongTRUE(非零)表示成功,否则返回零。会设置GetLastError【参数表】参数lpBuffer
类型及说明
String,参数返回计算机的名称

nSize【示例】
Long,参数返回lpBuffer参数的字符长度
PrivateSubCommand1_Click(
DimnameAsString,lengthAsLonglength=255
name=String(length,0
ZYJMod1.GetComputerNamename,length'通过函数测得的电脑名称存放在变量Namename=Left(name,lengthLabel1.Caption=nameEndSub

二、GetCursorPos【功能说明】
函数返回鼠标指针的当前位置【函数声明】
DeclareFunctionGetCursorPosLib"user32"(lpPointAsPOINTAPIAsLong【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError【参数表】参数lpPoint【示例】
PrivateSubCommand1_Click(DimpointAsPOINTAPI
GetCursorPospoint'通过函数获得鼠标的x,y位置坐标存放在变量pointMsgBox"(x,y=("&point.x&","&point.y&"",,"鼠标位置"EndSub
三、GetWindowsDirectory【功能说明】
函数能获取Windows目录的完整路径名。【函数声明】
DeclareFunctionGetWindowsDirectoryLib"kernel32"Alias"GetWindowsDirectoryA"(ByVallpBufferAsString,ByValnSizeAsLongAsLong【返回值】
Long实际存入lpBuffer缓冲区的字符数目,lpBuffer不够大,不能容下文件名,则返回值为实际要求的缓冲区长度。零表示失败。
类型及说明
POINTAPI,参数返回鼠标的x,y位置坐标。

【参数表】参数lpBuffernSize【示例】
Subgetwindowsdirectory_test(
DimsAsString,lengthAsLongs=String(MAX_PATH,0
length=GetWindowsDirectory(s,MAX_PATHs=Left(s,InStr(s,Chr(0-1
MsgBox"Windows路径="&s,,"GetWindowsDirectory"EndSub
类型及说明
String,指定一个缓冲存储器,用于存放Windows目录名。Long,参数是这个缓冲存储器的大小
WindowsAPI函数
四、ClipCursor【功能说明】
将指针限制到指定区域。【函数声明】
PublicDeclareFunctionClipCursorLib"user32"Alias"ClipCursor"(lpRectAsAnyAsLong【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError【参数表】参数lpRect【示例】
PrivateSubCommand1_Click(DimrAsRECT
r.Left=0:r.Top=0
r.Right=320:r.Bottom=200ClipCursorr
EndSub
PrivateSubCommand2_Click(ClipCursor0EndSub
五、GetProfileInt
类型及说明
指定一个矩形,用像素屏幕坐标系统表示。鼠标指针必须在这个区域内运动。可用它传递一个0,禁止指针剪切,恢复常规运作状态

【功能说明】
取得win.ini初始化文件中指定条目的一个整数值【函数声明】
PublicDeclareFunctionGetProfileIntLib"kernel32"Alias"GetProfileIntA"(ByVallpAppNameAsString,ByVallpKeyNameAsString,ByValnDefaultAsLongAsLong【返回值】
Long找到条目的值;如指定的条目未找到,就返回默认值。如找到的数字不是一个合法的整数,函数就会返回其中合法的一部分。例如,对于“xyz=55zz”这个条目,函数会返回55。这个函数也能理解采用标准C语言格式的十六进制数字:用0x作为一个十六进制数字的前缀——所以0x55ab等价于vb&H55AB【参数表】参数lpAppNamelpKeyNamenDefault【示例】
PrivateSubCommand1_Click(
DimspeedAsLong
speed=GetProfileInt("Windows","DoubleClickSpeed",0
MsgBox"[windows]"&vbCrLf&"DoubleClickSpeed="&speed,,"GetProfileInt"EndSub
六、GetProfileString【功能说明】
取得win.ini初始化文件中指定条目的一个字符串值【函数声明】
DeclareFunctionGetProfileStringLib"kernel32"Alias"GetProfileStringA"(ByVallpAppNameAsString,ByVallpKeyNameAsString,ByVallpDefaultAsString,ByVallpReturnedStringAsString,ByValnSizeAsLongAsLong【返回值】
Long,复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpAppNamelpKeyNameNULL,则返回nSize-2【参数表】参数lpAppNamelpKeyName
类型及说明
String,要在其中查找条目的小节名。这个字串不区分大小写。如果vbNullString,则在lpReturnedString缓冲区装载这个.ini文件的所有小节的一个列表
String,欲获取的项名或条目名。这个字串不区分大小写。如果为类型及说明
String,欲在其中搜索条目的小节名。这个字串不区分大小写String,欲获取的项名或条目名。这个字串不区分大小写Long,指定在条目未找到时返回的默认值

vbNullString,则在lpReturnedString缓冲区装载指定小节内所有项的一个列表
lpDefaultlpReturnedStringnSize【示例】
PrivateSubCommand1_Click(
DimSAsString,lengthAsLongS=String(1024,0
length=GetProfileString("windows","programs","",S,Len(SS=Left(S,lengthList1.Clear
List1.AddItem"programs="&SEndSub
七、Polygon【功能说明】
描绘一个多边形,由两点或三点的任意系列构成。【函数声明】
DeclareFunctionPolygonLib"gdi32"Alias"Polygon"(ByValhdcAsLong,lpPointAsPOINTAPI,ByValnCountAsLongAsLong【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError【参数表】参数hdclpPointnCount【示例】
PrivateSubCommand1_Click(
Dimpoint(0To10AsPOINTAPIpoint(0.x=0:point(0.y=100point(1.x=200:point(1.y=100point(2.x=66:point(2.y=200point(3.x=100:point(3.y=0point(4.x=133:point(4.y=200PolygonMe.hdc,point(0,5EndSub
类型及说明
Long,用于描绘的设备场景
nCountPOINTAPI结构数组中的第一个POINTAPI结构Long,多边形的总点数(顶点数)
String,指定条目未找到时返回的默认值。可设为空(""String,指定一个预先初始化好的字串缓冲区,长度至少为nSize字符
Long,装载到lpReturnedString缓冲区的最大字符数

WindowsAPI函数
八、SendMessage【功能说明】
函数可以以多种方法来影响控件的操作特性,其方法取决于发送给程序的一个特定参数【函数声明】
DeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAnyAsLong【返回值】
Long,由具体的消息决定【参数表】参数hwndwMsgwParamlParam【示例】
PublicConstEM_SCROLL=&HB5PublicConstSB_PAGEUP=2PublicConstSB_PAGEDOWN=3PrivateSubCommand1_Click(
SendMessageText1.hwnd,EM_SCROLL,SB_PAGEUP,0EndSub
PrivateSubCommand2_Click(
SendMessageText1.hwnd,EM_SCROLL,SB_PAGEDOWN,0EndSub
PublicEnumVBWin_MsgWM_NULL=&H0WM_CREATE=&H1WM_DESTROY=&H2WM_MOVE=&H3WM_SIZE=&H5WM_ACTIVATE=&H6WM_SETFOCUS=&H7WM_KILLFOCUS=&H8WM_ENABLE=&HAWM_SETREDRAW=&HBWM_SETTEXT=&HC
类型及说明
Long,指定要接收消息的对象的句柄Long,消息的标识符
Long,与消息同时发送的附加信息Any,与消息同时发送的附加信息

WM_GETTEXT=&HD
WM_GETTEXTLENGTH=&HEWM_PAINT=&HFWM_CLOSE=&H10
WM_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_winuser
WM_PAINTICON=&H26
WM_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=&H41
WM_COMMNOTIFY=&H44suported*/
WM_WINDOWPOSCHANGING=&H46WM_WINDOWPOSCHANGED=&H47WM_POWER=&H48
'/*nolonger
WM_COPYDATA=&H4AWM_CANCELJOURNAL=&H4B'end_r_winuser
'lParamofWM_COPYDATAmessagepointsto...'begin_r_winuser''#if(WINVER>=0x0400WM_NOTIFY=&H4E
WM_INPUTLANGCHANGEREQUEST=&H50WM_INPUTLANGCHANGE=&H51WM_TCARD=&H52WM_HELP=&H53
WM_USERCHANGED=&H54WM_NOTIFYFORMAT=&H55
WM_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=&HA9
WM_KEYFIRST=&H100WM_KEYDOWN=&H100WM_KEYUP=&H101WM_CHAR=&H102

WM_DEADCHAR=&H103WM_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=&H138
WM_MOUSEFIRST=&H200

WM_MOUSEMOVE=&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>WM_MOUSEWHEEL=&H20AWM_MOUSELAST=&H20A'#Else
'WM_MOUSELAST=&H209
'#endif/*if(_WIN32_WINNT<0x0400*/
'#if(_WIN32_WINNT>=0x0400
'#defineWHEEL_DELTA120rollingonedetent*/
'#endif/*_WIN32_WINNT>=0x0400*/'#if(_WIN32_WINNT>=0x0400
'#defineWHEEL_PAGESCROLL(UINT_MAXepage*/
'#endif/*_WIN32_WINNT>=0x0400*/WM_PARENTNOTIFY=&H210WM_ENTERMENULOOP=&H211WM_EXITMENULOOP=&H212'#if(WINVER>=0x0400WM_NEXTMENU=&H213'//end_r_winuser
WM_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=&H229
0x0400/*Value/*Scrollforon

WM_MDISETMENU=&H230WM_ENTERSIZEMOVE=&H231WM_EXITSIZEMOVE=&H232WM_DROPFILES=&H233WM_MDIREFRESHMENU=&H234'#if(WINVER>=0x0400
WM_IME_SETCONTEXT=&H281WM_IME_NOTIFY=&H282WM_IME_CONTROL=&H283
WM_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>=0x0400WM_MOUSEHOVER=&H2A1WM_MOUSELEAVE=&H2A3
'#endif/*_WIN32_WINNT>=0x0400*/
WM_CUT=&H300WM_COPY=&H301WM_PASTE=&H302WM_CLEAR=&H303WM_UNDO=&H304
WM_RENDERFORMAT=&H305WM_RENDERALLFORMATS=&H306WM_DESTROYCLIPBOARD=&H307WM_DRAWCLIPBOARD=&H308WM_PAINTCLIPBOARD=&H309WM_VSCROLLCLIPBOARD=&H30AWM_SIZECLIPBOARD=&H30BWM_ASKCBFORMATNAME=&H30CWM_CHANGECBCHAIN=&H30DWM_HSCROLLCLIPBOARD=&H30EWM_QUERYNEWPALETTE=&H30F

WM_PALETTEISCHANGING=&H310WM_PALETTECHANGED=&H311WM_HOTKEY=&H312'#if(WINVER>=0x0400WM_PRINT=&H317WM_PRINTCLIENT=&H318WM_HANDHELDFIRST=&H358WM_HANDHELDLAST=&H35F
WM_AFXFIRST=&H360WM_AFXLAST=&H37F
'#endif/*WINVER>=0x0400*/
WM_PENWINFIRST=&H380WM_PENWINLAST=&H38FWM_USER=&H400PublicEnumeWM_MsgWM_NULL=&H0WM_CREATE=&H1WM_DESTROY=&H2WM_MOVE=&H3WM_SIZE=&H5WM_ACTIVATE=&H6WM_SETFOCUS=&H7WM_KILLFOCUS=&H8WM_USER=&H400EndEnum
九、GlobalMemoryStatus【功能说明】
获取当前可用的物理和虚拟内存信息【函数声明】
DeclareSubGlobalMemoryStatusLib"kernel32"(lpBufferAsmemorystatus【返回值】此函数无返回值。【参数表】参数lpBuffer【示例】
类型及说明
参数是一个指向名为MEMORYSTATUS的结构的指针。函数的返回信息会被存储在MEMORYSTATUS结构中

PublicTypeMEMORYSTATUSdwLengthAsLong
dwMemoryLoadAsLongdwTotalPhysAsLongdwAvailPhysAsLongdwTotalPageFileAsLongdwAvailPageFileAsLongdwTotalVirtualAsLongdwAvailVirtualAsLongEndType

PrivateSubForm_paint(DimmemstsAsMEMORYSTATUSDimmemoryAsLongGlobalMemoryStatusmemstsClsPrint
memory=memsts.dwTotalPhys
Print"实际内存:",Format(memory\1024,"###,###,###"&"kb"memory=memsts.dwAvailPhys
Print"可用实际内存:",Format(memory\1024,"###,###,###"&"kb"
memory=memsts.dwTotalVirtual
Print"虚拟内存:",Format(memory\1024,"###,###,###"&"kb"
memory=memsts.dwAvailVirtual
Print"可用虚拟内存:",Format(memory\1024,"###,###,###"&"kb"EndSub
十、GetSystemMenu【功能说明】
取得指定窗口的系统菜单的句柄。“系统菜单”的正式名称为“控制菜单”即单击窗口左上角的控制框时出现的菜单。【函数声明】
DeclareFunctionGetSystemMenuLib"user32"Alias"GetSystemMenu"(ByValhwndAsLong,ByValbRevertAsLongAsLong【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError【参数表】参数hwnd
类型及说明Long,窗口的句柄

bRevert【示例】
Long,如果设为True,表示接收原始的系统菜单
十一、GetMenuItemInfo【功能说明】
用一个MenuitemInfo结构取得(接收)与一个菜单条目有关的特定信息【函数声明】
DeclareFunctionGetMenuItemInfoLib"user32"Alias"GetMenuItemInfoA"(ByValhmenuAsLong,ByValunAsLong,ByValbAsLong,lpMenuItemInfoAsmenuiteminfoAsLong【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError【参数表】参数hMenuunb
lpMenuItemInfo【示例】
十二、SetMenuItemInfo【功能说明】
为一个菜单条目设置指定的信息,具体信息保存于MenuitemInfo结构中【函数声明】
DeclareFunctionSetMenuItemInfoLib"user32"Alias"SetMenuItemInfoA"(ByValhmenuAsLong,ByValunAsLong,ByValboolAsBoolean,lpcMenuItemInfoAsmenuiteminfoAsLong【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError【参数表】参数hMenuunbool
类型及说明Long,菜单的句柄
Long,菜单条目的菜单ID或位置
Boolean,如un指定的是条目位置,为True,如指定的是菜单ID类型及说明Long,菜单的句柄
Long,菜单条目的菜单ID或位置
Boolean,如un指定的是条目位置,就为True,如指定的是一个菜ID,则为False
Menuiteminfo,这个结构用于装载请求的信息

则为False
lpMenuItemInfo【示例】
十三、SetCursorPos【功能说明】设置指针的位置【函数声明】
DeclareFunctionSetCursorPosLib"user32"Alias"SetCursorPos"(ByValxAsLong,ByValyAsLongAsLong【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError【参数表】参数x,y【示例】
PrivateSubCommand1_Click(DimxAsLong,yAsLong
x=Screen.Width\Screen.TwipsPerPixelX\2y=Screen.Height\Screen.TwipsPerPixelX\2SetCursorPosx,yEndSub
十四、SetWindowPos【功能说明】
函数用于改变窗口的位置和大小【函数声明】
DeclareFunctionSetWindowPosLib"user32"Alias"SetWindowPos"(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValxAsLong,ByValyAsLong,ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLongAsLong【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError【参数表】参数hwnd
类型及说明
Long,欲移动的窗体句柄类型及说明
鼠标指针在屏幕像素坐标系统中的XY位置Menuiteminfo,用于设置目标菜单条目的特征

Long,窗体句柄。在窗体列表中,要将hwnd指定的窗体置于这个窗体句柄的后面。也可能选用下述值之一:HWND_BOTTOMHWND_TOP
将窗体置于窗体列表底部将窗体置于Z序列的顶部;Z序列代表在分级结构中,窗体针对一个给定级别的窗体显示的顺序
HWND_TOPMOSTHWND_NOTOPMOST
xyCxCy
Long,指定窗体新的x坐标Long,指定窗体新的y坐标Long,指定新的窗体宽度Long,指定新的窗体高度
Long,指定关于窗体大小或放置位置的一些特殊要求SWP_DRAWFRAMESWP_HIDEWINDOWSWP_NOACTIVATESWP_NOMOVE
wFlags
SWP_NOREDRAWSWP_NOSIZESWP_NOZORDERSWP_SHOWWINDOWSWP_FRAMECHANGED
【示例】
PublicConstHWND_TOP=0PublicConstHWND_BOTTOM=1PublicConstHWND_TOPMOST=-1PublicConstHWND_NOTOPMOST=-2PublicConstSWP_NOSIZE=&H1PublicConstSWP_NOMOVE=&H2PublicConstSWP_NOZORDER=&H4PublicConstSWP_NOREDRAW=&H8PrivateSubCommand1_Click(
SetWindowPosMe.hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOSIZEOrSWP_NOMOVE'SWP_NOSIZEOrSWP_NOMOVE表示不改变窗体的大小和位置EndSub
围绕窗体画一个框隐藏窗体不激活窗体
保持当前位置(xy设定将被忽略)
窗体不自动重画
保持当前大小cxcy会被忽略)hWndInsertAfter将被忽略)显示窗体
强迫一条WM_NCCALCSIZE消息进入窗体,即使窗体的大小没有改变将窗体置于列表顶部,并位于任何最顶部窗体的前面
将窗体置于列表顶部,并位于任何最顶部窗体的后面
hWndInsertAfter


PrivateSubCommand2_Click(
SetWindowPosMe.hwnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOSIZEOrSWP_NOMOVE'SWP_NOSIZEOrSWP_NOMOVE表示不改变窗体的大小和位置EndSub
十五、GetUserName【功能说明】
函数用于取得当前用户的名称【函数声明】
DeclareFunctionGetUserNameLib"advapi32.dll"Alias"GetUserNameA"(ByVallpBufferAsString,nSizeAsLongAsLong【返回值】
LongTRUE(非零)表示成功,否则返回零。会设置GetLastError【参数表】参数lpBuffernSize【示例】
PrivateSubCommand1_Click(DimsAsString,lengthAsLonglength=80
s=String(length,Chr(0
GetUserNames,length'通过函数测得的当前用户的名称存放在变量ss=Left(s,InStr(s,Chr(0-1
Label1.Caption="登入使用者的名称为"&sEndSub
类型及说明
String,参数返回当前用户的名称Long,参数返回lpBuffer参数的字符长度

Windows API函数大全

相关推荐