如何启动vpn拨号(50分)

  • 主题发起人 主题发起人 shappy
  • 开始时间 开始时间
S

shappy

Unregistered / Unconfirmed
GUEST, unregistred user!
用网上搜索到的
WinExec('rundll rnaui.dll,RnaDial MyConnection',SW_SHOWNORMAL);
拨号没有反应。可能是vpn拨号和一般的电话拨号不同,有谁碰过这个问题吗?
 
一样的我就不会问了,拜托
实际上后来我发现了通过启用windows的一个拨号程序加上拨号名可以打开vpn拨号。
WinExec('rasphone.exe -h '+cns_VPN,SW_SHOWNORMAL);
'cns_VPN 拨号名称常数
另外,拨号的快捷方式比较特殊,看不到调用的程序。也不能通过shellexecute调用快捷方式。
还有,这个拨号程序或者直接把拨号加入启动都不会自动连线,而是出现拨号的登录画面,所以需要一小段程序自动在拨号按钮上点击:
function TForm1.openVPN: boolean;
var
hMain,hChild:HWND;
begin
Result := false;
hMain:=FindWindow(nil,Pchar(edit1.text)); '标题
if hMain<>0 then begin
hChild := FindWindowEx(hMain,0,'BUTTON',pCHAR(edit2.text)); '按钮上的文字
if hChild<>0 then begin
SendMessage(hChild,WM_LBUTTONDOWN,10,10);
SendMessage(hChild,WM_LBUTTONUP,10,10);
Result := true;
end;
end;
end;
这道题我自己得分。
 
断线
WinExec('rasphone.exe -d '+cns_VPN,SW_SHOWNORMAL);
刚刚的-h是连线参数,可以参照帮助.
 
我的程序是基于C/S结构的,用VPN能远程登录数据库服务器并运行程序吗?速度怎么样?
 
可以,必须使用ip连接服务器,建议不要这样使用,可能处于同一个地区速度还能接收,另外看你的数据库每次要读取的数据多不多,两边的带宽(都是宽带会比较好)。比如广州和深圳一边adsl速度比较难接收。
 
學多一招:WinExec('rasphone.exe -h '+cns_VPN,SW_SHOWNORMAL);
 
将vpn连接属性中"选项"页下的"拨号属性"中的"提示密码和证书"和"包含Windows登录域"不选中就可以自动联线。
 
后退
顶部