如何寫一個自動將自己ip地址ftp到一個肯定網址上去(200分大洋征解﹐里面還有問題喲)(200分)

  • 主题发起人 主题发起人 dadabox1
  • 开始时间 开始时间
1、申请一个虚拟域名,再编一个程序,每次拨号完成之后,读取本机ip,再
更改虚拟域名,指向该ip.
2、或者生成一个index.html,然后FTP到你的个人主页。内容如下:<br>
<html><br>
<head><br>
<title>IP指向</title><br>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><br>
<script language="JavaScript"><br>
<!--<br>
function MM_goToURL() { //v3.0<br>
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;<br>
for (i=0; i<(args.length-1); i+=2) eval(args+".location='"+args[i+1]+"'");<br>
}<br>
//--><br>
</script><br>
</head>
<p><body bgcolor="#FFFFFF" onLoad="MM_goToURL('parent','http://这里由程序这入IP');return
document.MM_returnValue"><br>
</body><br>
</html><br>
该页面打开后,会自动转到你所写入的IP,你的个人主页域名就可以当你的服务器
的固定域名用了。
 
雁孤行大俠﹕我需要的就是你的第一個中寫的那個"再编一个程序,每次拨号完成之后,读
取本机ip,"﹐我怎么知道當前正在拔號﹐并拔號正常呢﹖我需要我的程序能監測到我的電
腦上網了﹐但我不想用什么Timer類型的方法來解決這個問題。
 
刚好我也想要知道这个问题,
原来我这里有ddn但现在太要米米了,
所以就停了,没有自己的服务器了,
域名也指向了别的虚拟主机了,
 
好久沒上來﹐很想結束問題了﹐但我的問題還沒有解決。哪位能幫幫忙﹐幫我想想法子呢﹖
我的想法是當nt拔號上網時我能偵測得到﹐于是抓ip﹐將ip地址發送出去。其他的我想已
不重要。也就是說監控上網﹐一上網我的程序就知道了。但我不想用什么時間控件來做﹐我
希望我能監控這個進程。我發現進程中有internet.exe﹐這是否表明當前已連上互聯網呢﹖
我是看的win2000的工作管理員。哪位大蝦有相關的程序或經驗能告訴小弟嗎﹖
 
function ThreadFunction(Info: Pointer):Integer;stdcall;
var
dw: DWORD;
begin
hEvent := CreateEvent(nil, TRUE, FALSE, 'RasNotification');
if hEvent = 0 then
ShowMessage('Error in CreateEvent')
else begin
dw := RasConnectionNotification(INVALID_HANDLE_VALUE,
hEvent, RASCN_Disconnection+RASCN_Connection);
if dw <> 0 then
ShowMessage('Error in RasConnectionNotification')
else begin
while true do
begin
if WaitForSingleObject(hEvent, INFINITE) = WAIT_OBJECT_0 then
begin
ShowMessage('检测到网络连接变化');
//***********************************************
//用RasGetConnectStatus得到具体是什么变化
//***********************************************
ResetEvent(hEvent);
end;
end;
end;
end;
Result := 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if Started then Exit;
hThread := BeginThread(nil, 0, @ThreadFunction, nil, 0, ThreadId);
Started := True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if not Started then Exit;
CloseHandle(hEvent);
CloseHandle(hThread);
Started := False;
end;

监测网络连接变化没问题. 还有点小问题,不是太稳定:)
关闭线程,用
CloseHandle(hEvent);
CloseHandle(hThread);
好像不行,希望有人指点. 记得Another-eyes大虾说过WaitForSingleObject改为
WaitForMultiObject,由一个事件信号去通知线程自己退出循环.在试一试,
试好了通知我一声.
 
多人接受答案了。
 
后退
顶部