⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 api集.htm

📁 介绍VB里的各种控件的使用方法,窗口控制,图像编程以及OCX等内容,还提供了一个API集供参考.
💻 HTM
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0037)http://www.npc6.com/study/api_doc.htm -->
<HTML><HEAD><TITLE>API技巧集</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId><LINK 
href="API集.files/yaoxg.css" rel=stylesheet type=text/css></HEAD>
<BODY background=API集.files/bk.gif>
<P><FONT 
color=#ff0000>API技巧集(一)</FONT><BR><BR><BR>一、拖动无标题窗体:<BR><BR>包含头文件:<BR><BR>#include 
$#@60;winuser.h$#@62;<BR><BR>在窗体或组件的 OnMouseDown 事件中加入以下代码:<BR><BR>if(Button == 
mbLeft)<BR>{<BR>ReleaseCapture();<BR>SendMessage( Handle, WM_NCLBUTTONDOWN, 
HTCAPTION, 0);<BR>}<BR><BR>二、弹出和关闭光驱:<BR><BR>包含头文件:<BR><BR>#include 
$#@60;mmsystem.h$#@62;<BR><BR>在窗体的OnCreate事件中加入:<BR><BR>mciSendString("open 
cdaudio alias cd wait 
shareable",0,0,0);<BR><BR>1、要弹出光驱时使用:<BR><BR>mciSendString("set cd door 
open",0,0,0);<BR><BR>2、要关闭光驱时使用:<BR><BR>mciSendString("set cd door 
closed",0,0,0);<BR><BR>三、提取图标:<BR><BR>包含头文件:<BR><BR>#include 
$#@60;shellapi.h$#@62;<BR><BR>例子:<BR><BR>TIcon *Icon = new 
TIcon();<BR>AnsiString FileName = "C:\\WINDOWS\\SYSTEM\\SHELL32.DLL";<BR>int 
TotalIcon;<BR><BR>//得到文件SHELL32.DLL的总图标数<BR>TotalIcon = 
(int)ExtractIcon(Form1-&gt;Handle,FileName.c_str(), 
-1);<BR><BR>//提取第一个图标,0为第一个,1为第二个,类推...<BR>Icon-&gt;Handle = ExtractIcon( 
Form1-&gt;Handle, FileName.c_str(), 
0);<BR><BR>//保存图标<BR>Icon-&gt;SaveToFile("C:\\1.ICO");<BR><BR>四、设置顶端窗口(永在上面):<BR><BR>包含头文件:<BR><BR>#include 
$#@60;winuser.h$#@62;<BR><BR>1、设置顶层窗口<BR><BR>SetWindowPos( Handle, HWND_TOPMOST, 
0, 0, 0, 0, SWP_NOMOVE||SWP_NOSIZE);<BR><BR>2、取消顶层窗口<BR><BR>SetWindowPos( 
Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE||SWP_NOSIZE);<BR></P>
<P>API技巧集 (二)<BR><BR>12/3/2000 
0:0:0··符东亮··yesky<BR><BR>  (一)不规则窗口<BR><BR>  Windows提供的只是标准的矩形窗口,要想建立一个不规则的窗口就需要调用API函数来实现。建立一个不规则的窗口,一般是先用创建区域的API函数建立一个不规则的区域,再用API函数SetWindowRgn改变窗口的区域。这些API函数在C++ 
Builder中包含在头文件wingdi.h和winuser.h里面,因此,要使用这些API函数就要先在程序头部加上包含头文件的语句:<BR><BR>include 
$#@60;wingdi.h$#@62;<BR><BR>include 
$#@60;winuser.h$#@62;<BR><BR>  SetWindowRgn函数能改变一个窗口的区域,该函数有三个参数,第一个参数hWnd是欲设置区域的窗口句柄,第二个参数hRgn是欲设置的区域,第三个参数bRedraw一般设为true,即立即重画窗口。<BR><BR>  用来创建区域的API函数有多个,最常用的有三个:<BR><BR>  1、CreateRectRgn函数,用来创建一个由X1、Y1和X2、Y2坐标点确定的矩形区域。当坐标点X1和Y1相等、X2和Y2也相等的时候,创建的是一个正方形。<BR><BR>  例子:<BR><BR>//创建长方形<BR><BR>HRGN 
hRect=CreateRectRgn(0,0,400,200);<BR><BR>SetWindowRgn(Handle,hRect,true);<BR><BR>//创建正方形<BR><BR>HRGN 
hRect=CreateRectRgn(0,0,300,300);<BR><BR>SetWindowRgn(Handle,hRect,true);<BR><BR>  2、CreateEllipticRgn函数,用来创建一个由X1、Y1和X2、Y2坐标点确定的矩形所内切的椭圆。同样,X1、Y1和X2、Y2坐标点所确定的矩形为正方形时,创建的就是一个圆形。<BR><BR>  例子:<BR><BR>//创建椭圆<BR><BR>HRGN 
hElliptic=CreateEllipticRgn(0,0,400,250);<BR><BR>SetWindowRgn(Handle,hElliptic,true);<BR><BR>//创建圆形<BR><BR>HRGN 
hElliptic=CreateEllipticRgn(0,0,400,400);<BR><BR>SetWindowRgn(Handle,hElliptic,true);<BR><BR>  3、CombineRgn函数,能将两个区域组合为一个新区域,它有四个参数,第一个参数hrgnDest保存合并后的新区域,第二个参数hrgnSrc1、三个参数hrgnSrc2为欲合并的两个区域,第四个参数fnCombineMode是区域组合的方式,它的值是为下面组合方式之一:<BR><BR>  组合方式 
说明<BR><BR>RGN_AND 建立两个区域的交集<BR><BR>RGN_COPY 建立hrgnSrc1的拷贝<BR><BR>RGN_DIFF 
建立两个区域不相交的部分<BR><BR>RGN 建立两个区域的并集<BR><BR>RGN_XOR 
建立除两个区域并集之外的部分<BR><BR>  例子:<BR><BR>//创建一个圆形和长方形交集的组合形状<BR><BR>HRGN 
hRect=CreateRectRgn(0,0,300,300);<BR><BR>HRGN 
hElliptic=CreateEllipticRgn(0,0,400,250);<BR><BR>CombineRgn(hRect,hRect,hElliptic,RGN_OR);<BR><BR>SetWindowRgn(Handle,hRect,true);<BR><BR>  当需要将窗口还原为标准Windows矩形窗口时,只要将SetWindowRgn函数的hRgn参数设为0就行了,如:<BR><BR>SetWindowRgn(Handle,0,true);<BR><BR><BR>API技巧集 
(二)<BR><BR><BR><BR>  (二)得到系统声卡的个数<BR><BR>  当我们编写一个多媒体程序(如播放器)的时候,有时需要检测一下计算机中是否安装了声卡,如果没有装声卡程序则会终止运行。<BR><BR>  在这里,我们就要使用API函数waveOutGetNumDevs,调用这个函数可返回系统中安装了的声卡的个数。在C++ 
Builder 
5.0中,它被包含在头文件“mmsystem.h”里面。<BR><BR>  例子:<BR><BR>  1、首先在程序头部加入包含头文件的代码:<BR><BR>#include 
$#@60;mmsystem.h$#@62;<BR><BR>  2、在窗体的OnCreate事件中加入下面的代码:<BR><BR>int 
Num;<BR><BR>//得到声卡的个数<BR><BR>Num=waveOutGetNumDevs();<BR><BR>if(Num)<BR><BR>ShowMessage("你有安装了"+IntToStr(Num)+"块声卡");<BR><BR>else<BR><BR>{<BR><BR>ShowMessage("你没有安装声卡!\n程序终止运行!");<BR><BR>Close();<BR><BR>}<BR><BR>  3、编译运行程序。<BR><BR>API技巧集 
(二)<BR><BR><BR>  (三)获得、设置鼠标双击的间隔时间<BR><BR>  在指定间隔的时间内,连续两次鼠标单击操作称为双击,双击间隔的时间可以在控制面板中的鼠标属性里面改变。若要在自编的应用程序中能获得或设置鼠标双击的间隔时间,我们只需使用Windows的两个API函数GetDoubleClickTime和SetDoubleClickTime。调用GetDoubleClickTime可以返回鼠标双击的间隔时间,而使用SetDoubleClickTime则可以设置鼠标双击间隔的时间。<BR><BR>  下面让我们来做一个获得和设置鼠标双击间隔时间的简单的程序:<BR><BR>  首先,在Borland 
C++ Builder 5.0 
中新建一个工程,往窗体Form1中添加两个Button组件,把它们的Caption属性分别改为“获取双击间隔时间”和“设置双击间隔时间”,再添加一个Edit组件,将Edit1的Text属性改为“200”,添加一个Label组件,把Caption属性改为“毫秒”。<BR><BR>  然后,双击按钮Button1,在它的OnClick(单击)事件中加入下面的代码:<BR><BR>//返回鼠标双击间隔时间<BR><BR>ShowMessage("鼠标双击间隔时间为"+IntToStr(GetDoubleClickTime())+"毫秒");<BR><BR>  再双击按钮Button2,也在它的OnClick事件中加入代码:<BR><BR>//设置鼠标双击间隔时间<BR><BR>SetDoubleClickTime(StrToInt(Edit1-$#@62;Text));<BR><BR>  最后,按F9编译运行一下程序。点击窗口中的“获取双击间隔时间”按钮就会弹出一个显示当前系统鼠标双击间隔的时间,若要设置鼠标双击间隔的时间,只要改变文本框中的数值,比如300吧,再点击“设置双击间隔时间”按钮就可以了。需要注意的是,鼠标双击间隔时间的单位是毫秒,设置的值越小,间隔的时间就越小,双击的速度就越快,系统默认的是400毫秒,可不要设得太小了,否则“我的电脑”会打不开的(你双击的速度不够快,^_^)。<BR><BR><BR><BR><BR><BR><FONT 
color=#ff0000> API技巧集 
(二)</FONT><BR><BR><BR><BR>  (四)启动控制面板控制台应用程序<BR><BR>  在控制面板里有许多的控制面板项目,这些项目就是控制台应用程序,它们都是标准的DLL(动态链接库)文件,我们经常需要通过它们来对Windows进行配置。rundll32.exe就是专门用来调用DLL文件的程序,在C++ 
Builder编程中,我们可以通过使用API函数WinExec运行外部程序rundll32.exe调用DLL来实现启动控制面板的控制台应用程序。下面是收集的一些调用DLL启动控制台应用程序的例子:<BR><BR>  1、打开控制面板  <BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL",SW_SHOWNORMAL);<BR><BR>  2、打开方式对话框<BR><BR>WinExec("rundll32.exe 
shell32.dll,OpenAs_RunDLL 
"c:\\autoexec.bat"",SW_SHOWNORMAL);<BR><BR>  3、添加Modem<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
modem.cpl,,add",SW_SHOWNORMAL);<BR><BR>  4、添加打印机<BR><BR>WinExec("rundll32.exe 
shell32.dll,SHHelpShortcuts_RunDLL 
AddPrinter",SW_SHOWNORMAL);<BR><BR>  5、复制磁盘<BR><BR>WinExec("rundll32.exe 
diskcopy.dll,DiskCopyRunDll",SW_SHOWNORMAL);<BR><BR>  6、鼠标<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
main.cpl",SW_SHOWNORMAL);<BR><BR>  7、网络<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
netcpl.cpl",SW_SHOWNORMAL);<BR><BR>  8、密码<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
password.cpl",SW_SHOWNORMAL);<BR><BR>  9、游戏控制器<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
joy.cpl",SW_SHOWNORMAL);<BR><BR>  10、日期/时间<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL timedate.cpl",SW_SHOWNORMAL);<BR><BR>  11、Internet 
属性<BR>WinExec("rundll32.exe shell32.dll,Control_RunDLL 
inetcpl.cpl",SW_SHOWNORMAL);<BR><BR>  12、添加/删除程序<BR><BR>//安装/卸载<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL appwiz.cpl,,1",SW_SHOWNORMAL);<BR><BR>//Windows 
安装<BR><BR>WinExec("rundll32.exe shell32.dll,Control_RunDLL 
appwiz.cpl,,2",SW_SHOWNORMAL);<BR><BR>//启动盘<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
appwiz.cpl,,3",SW_SHOWNORMAL);<BR><BR>  13、区域设置<BR><BR>//区域设置<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
intl.cpl,,0",SW_SHOWNORMAL);<BR><BR>//数字<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
intl.cpl,,1",SW_SHOWNORMAL);<BR><BR>//货币<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
intl.cpl,,2",SW_SHOWNORMAL);<BR><BR>//时间<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
intl.cpl,,3",SW_SHOWNORMAL);<BR><BR>//日期<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
intl.cpl,,4",SW_SHOWNORMAL);<BR><BR>  14、辅助选项<BR><BR>//键盘<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
access.cpl,,1",SW_SHOWNORMAL);<BR><BR>//声音<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
access.cpl,,2",SW_SHOWNORMAL);<BR><BR>//显示<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
access.cpl,,3",SW_SHOWNORMAL);<BR><BR>//鼠标<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
access.cpl,,4",SW_SHOWNORMAL);<BR><BR>//常规<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
access.cpl,,5",SW_SHOWNORMAL);<BR><BR>  15、多媒体<BR><BR>//音频<BR><BR>WinExec("rundll32.exe 
shell32.dll,Control_RunDLL 
mmsys.cpl,,0",SW_SHOWNORMAL);<BR><BR>//视频<BR><BR>WinExec("rundll32.exe 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -