如何编写程序控制让路由器断开adsl连接并从新拨号? 当前上网模式是用TP-Link路由器和ADSL调制解调器, 如何编写一个程序, 能让adsl猫重新拨号,获得新的ip地址? (就像在浏览器中登陆路由器管理界面,使用里面的断开/连接功能) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果路由器支持Telnet模式的话,直接用socket发命令就可以了,否则就使用如WebBrowser之类的进行操作。 另外,也可以试试使用TIdHTTP来操作。 http://www.2ccc.com/article.asp?articleid=3879如果如楼上所说,楼主可以尝试下这个 webbrowser思路倒是挺简单, 试试 {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}procedure TRasDialerForm.Dial(EntryName, UserName, Password : String);var rdParams : TRASDIALPARAMS; dwRet : DWORD; Buf : array [0..255] of Char;begin hRasConn := GetActiveConnHandle(EntryName); if hRasConn <> 0 then begin LogMessage('Connection already active'); Connected; ConnectTime := $FFFFFFFF; Exit; end; // setup RAS Dial Parameters FillChar(rdParams, SizeOf(rdParams), 0); rdParams.dwSize := SizeOf(TRASDIALPARAMS); strCopy(rdParams.szUserName, PChar(UserName)); strCopy(rdParams.szPassword, PChar(Password)); strCopy(rdParams.szEntryName, PChar(EntryName)); rdParams.szPhoneNumber[0] := #0; rdParams.szCallbackNumber[0] := '*'; rdParams.szDomain := '*'; g_hWnd := Handle; hRasConn := 0;; dwRet := RasDialA(nil, nil, @rdParams, 0, @RasDialFunc, @hRasConn); if dwRet <> 0 then begin RasGetErrorStringA(dwRet, @Buf[0], SizeOf(Buf)); LogMessage(IntToStr(dwRet) + ' ' + Buf); Disconnected; end else begin LogMessage('Dialing ''' + EntryName + ''''); CancelButton.Enabled := TRUE; ConnectButton.Enabled := FALSE; end;end; 问个DELPHI 数组的问题 SimpleDataSet如何执行SQL语句 请教一下如何写事件获取动态生成的控件的属性。 主从表问题 无聊散分玩!! 代码CBOF = $0009的意思是什么? 问题帮忙!!!!! 如何编写标准的安装程序? 怎样取得窗体相对与桌面的坐标??? delphi将pdf文件存入sql数据库中 delphi中定义全局变量 求教图标对应的问题!给200分!
如果如楼上所说,楼主可以尝试下这个
procedure TRasDialerForm.Dial(EntryName, UserName, Password : String);
var
rdParams : TRASDIALPARAMS;
dwRet : DWORD;
Buf : array [0..255] of Char;
begin
hRasConn := GetActiveConnHandle(EntryName);
if hRasConn <> 0 then begin
LogMessage('Connection already active');
Connected;
ConnectTime := $FFFFFFFF;
Exit;
end; // setup RAS Dial Parameters
FillChar(rdParams, SizeOf(rdParams), 0);
rdParams.dwSize := SizeOf(TRASDIALPARAMS);
strCopy(rdParams.szUserName, PChar(UserName));
strCopy(rdParams.szPassword, PChar(Password));
strCopy(rdParams.szEntryName, PChar(EntryName));
rdParams.szPhoneNumber[0] := #0;
rdParams.szCallbackNumber[0] := '*';
rdParams.szDomain := '*'; g_hWnd := Handle;
hRasConn := 0;;
dwRet := RasDialA(nil, nil, @rdParams, 0, @RasDialFunc, @hRasConn);
if dwRet <> 0 then begin
RasGetErrorStringA(dwRet, @Buf[0], SizeOf(Buf));
LogMessage(IntToStr(dwRet) + ' ' + Buf);
Disconnected;
end
else begin
LogMessage('Dialing ''' + EntryName + '''');
CancelButton.Enabled := TRUE;
ConnectButton.Enabled := FALSE;
end;
end;