如何在应用程序中调用98的拨号连接?(100分)

  • 主题发起人 主题发起人 feng_chen
  • 开始时间 开始时间
F

feng_chen

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大哥:
小弟上回提出问题后,得到了各位大侠的大力相助,在此向你们表示感谢。
这回小弟还有一个问题解决不了,我愿意出100个Points,只求哪位大侠可以帮帮我?
问题是这样的:我怎样在用Delphi50做的应用程序中调用98的拨号连接,这个拨号连接
是在98中已经创建好的,只需调用它的拨号对话框就行(比如8163这样的拨号对话框)。
小弟我好急,那位大侠可以帮我,我真是感激不尽!谢谢!
 
拿到那个对话框的句柄
 
不好意思,上面的不对
应该是这样的

为了让用户选择使用拨号连接进行拨号,我们需要获取系统中已建立的拨号连接的名称。在建立了拨号连接后,WIN9X将拨号连接的名称和属性写在了注册表中,我们可以从注册表中获取当前系统中可用的拨号连接名称及在Internet Explorer中设置的默认连接名称。
  在注册表的HKEY_USERS/.Default/RemoteAccess/Addresses下,列出了已经在拨号网络中建立了的拨号连接的名称及其属性设置,其中各项目的名称即为可用的拨号连接的名称;各项目的值即为各拨号连接的属性设置.我们只要读出各项目的名称即可获取当前系统中可用的拨号连接名称.
  如果在Internet Explorer中设置了默认连接名称(查看=》Internet选项=》连接=》连接=》设置=》使用以下拨号网络连接),则在注册表的HKEY_USERS/.Default/RemoteAccess下,有一个字符串类型的键值,键值名InternetProfile,其值即为Internet Explorer中设置的默认连接名称。

    下面是一个获取当前系统中可用的拨号连接名称的例子.
{ 注意在Uses中增加Registry单元,用于操作注册表 }
{ 获取当前系统中可用的拨号连接名称 }
procedure TForm1.Button3Click(Sender: TObject);
var
registryTemp : TRegistry;
stringsTemp : TStringlist;
intIndex : integer;
begin
registryTemp := TRegistry.Create;
stringsTemp := TStringlist.Create;
with registryTemp do
begin
RootKey := HKEY_USERS;//根键设置为HKEY_USERS
//如果存在子键.Default/RemoteAccess/Addresses
if OpenKey(’.Default/RemoteAccess/Addresses’,false) then
GetValueNames( stringsTemp );//读出各项目的名称,即拨号连接名称
CloseKey;
end;
//当前系统中可用的拨号连接
memo1.lines.add( ’******************当前系统中有’+ IntToStr( stringsTemp.count )
+’个可用的拨号连接如下****************’);
for intIndex := 0 to stringsTemp.count - 1 do
memo1.lines.add( stringsTemp.strings[ intIndex ] );

//列出Internet Explorer中设置的默认连接名称
if registryTemp.OpenKey(’.Default/RemoteAccess’,false) then
memo1.lines.add( ’Internet Explorer中设置的默认连接名称为’ +
registryTemp.ReadString(’InternetProfile’) );

//释放内存
registryTemp.free;
stringsTemp.free;
end;
 
哈哈,幸亏我做过这样一道题目,
连要求都是一模一样的。
我用EMAIL送给你吧。
就是用ras函数。
 
多人接受答案了。
 
后退
顶部