用MODEM拨号上网,仍是大多数个人网民选择上网的方式.如果能在我们的应用程序中启动拨号连接(如IE浏览器程序中的自动拨号功能),无疑将会方便我们的软件用户(不用再切换应用程序,运行拨号网络),提高我们的软件的友好性从而提高软件的竞争力. r~oSP^e'
'h}7YP, w
在WIN9X下,如果安装了拨号网络,则在WINDOWS系统的系统目录System下将有两个拨号网络管理程序库RasApi32.DLL和RasApi16.DLL,我们可利用其中的函数来创建、修改拨号连接,并利用指定的拨号连接进行拨号上网。 d8:C3R
Gah lS*W
}1>atgq]w
e@j8T
gI)
一、新建拨号连接 #:{6b*}
hTw}X.<4
当WIN9X系统中已经建立了拨号连接,则可利用现成的拨号连接。如果没有拨号连接,则需要新建一个拨号连接。RasAPI中提供了相应的函数,其函数名为RasCreatePhonebookEntryA,函数原型为: x/ I;nMY
Uu5C%9^s
function RasCreatePhonebookEntryA( hwnd : THandle;lpszPhonebook: pchar ) : DWORD; pUL sGb
Ae3,^
stdcall; { 位于interface部分 } YMu)
8^X]z|[d2
function RasCreatePhonebookEntryA ; external ’Rasapi32.dll’;{ 位于implementation部分 } },PBqWe
UC|JAZL
参数: fn1pa@P
G(\Ckf:
hwnd(THandle):新建拨号连接窗口的父窗口的句柄,可以为TForm的Handle,为NIL表;Windows桌面(DeskTop) s.y}U5Ty?P
g1qi\axm
lpszPhonebook(pchar):电话本名称,在Win9X下无作用,可设为空字符串 z%};X$V`J
DHzkRCM
函数返回值: (C `@a/q
JZ K7uB,X
0表示执行成功;否则为错误. xG%*PNM0q
F+*Q <a4
k4R4YI"jV
1Z:R,\+L
下面是一个新建拨号连接的例子. +/q0Y`v
76cEKHa<
{ 新建拨号连接 } -+P7:4/
.)`-Hkxa
procedure TForm1.Button1Click(Sender: TObject); b *9-}g:
`a'`$'j
var k1iLnza%
('d{t:TsY
dwResult : DWORD; 1S*P"8N}0h
~4 ^p}{
begin ^zeL+(@ r/
4Hd Si
//在当前窗口中新建拨号连接 stXda@y<p
o<J5!
dwResult := RasCreatePhonebookEntryA( handle, ’’ ); [&daG