• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        如何用Delphi6完成對計算機的遠程控制

        如何用Delphi6完成對計算機的遠程控制

        更新時間:2022-05-14 文章作者:未知 信息來源:網絡 閱讀次數:

        WinSock是一組API,用于在網絡上傳輸數據和交換信息。雖然現在有很多工具如FTP程序可以在網絡上傳輸數據和文件,但是通過WinSock編程有更大的靈活性,它不需要關心網絡連接的細節,然而用WinSock編程卻很復雜,但是在Delphi中我們并不需要直接與WinSock的API打交道,因為TClientSocket元件和TServerSocket元件(Internet頁)封裝了WinSock的大部分API,使得對WinSock的訪問大大簡化。下面這個遠程控制的例子就很清楚地說明了這個問題,它可以發送一個消息給對方,并能夠使對方的電腦關閉、重新啟動或重新登錄。

        一、實現原理
          實行遠程控制,實際上就是一個服務器程序(以下簡稱被控程序)和一個客戶程序(以下簡稱主控程序):被控方即為服務器程序,它監聽客戶的請求,并作出處理;主控方即為客戶程序,它連接上服務器后,發出自己的請求,服務器便根據自已的請求進行不同的響應。

        二、編寫主控程序
          新建一個項目Client.dpr,并把一個TClientSocket元件放到Form上,它的屬性設置如下:Port設為100(端口號可任意設置,只要求雙方統一),其它屬性按默認值。在窗體上添加兩個TEdit:Edit1用來輸入發送的字符,Edit2用來輸入IP地址;添加兩個TButton:Button1點擊后用來連接被控機,Button2點擊后用來發送字符,然后聲明一個私有變量ConnectFlag,表示雙方是否連接好:


        private
        ConnectFlag:Boolean;

        ---- 2、ClientSocket1的OnConnect事件代碼如下:


        procedure TForm1.ClientSocket1Connect
        (Sender: TObject;Socket: TCustomWinSocket);
        begin
        ConnectFlag:=True; //表示連接成功
        end;

        ---- 3、ClientSocket1的OnError事件代碼如下:


        procedure TForm1.ClientSocket1Error(Sender: TObject;
        Socket: TCustomWinSocket; ErrorEvent:
        TErrorEvent;var ErrorCode: Integer);
        begin
        Application.MessageBox(PChar(' 不能連接到IP地址
        : ' + Edit2.Text+'。'+
        #13+'可能是監聽程序沒有運行或網絡故障!'),'
        連接錯誤',MB_OK+MB_ICONSTOP);
        ErrorCode := 0;
        end;

        ---- 4、Button1的OnClick事件代碼如下:


        procedure TForm1.Button1Click(Sender: TObject);
        begin
        with ClientSocket1 do begin
        if Active then begin
        Active := False;//在連接之前首先關閉
        ConnectFlag:=False; //置連接標志為假
        end;
        if Length(Edit2.Text) > 0 then begin
        Host := Edit2.Text; //指定IP地址或主機名
        Active := True;
        end;
        end;
        end;

        ---- 5、Button2的OnClick事件代碼如下:


        procedure TForm1.Button2Click(Sender: TObject);
        begin
        if ConnectFlag then
        ClientSocket1.Socket.SendText(Edit1.Text)
        //如果連接成功則發送字符串
        else
        Application.MessageBox(PChar(' 沒有連接到地址 :
        ' + Edit2.Text+'。'+
        #13+'檢查IP地址是否存在或是否已經連接!'),'
        提示信息',MB_OK+MB_ICONSTOP);
        end;

        三、編寫被控程序
        ---- 1、新建一個項目Server.dpr,并把一個TServerSocket元件放到Form上,

        它的屬性設置如下:Active設為True;Port設為100,其它屬性按默認值。

        ---- 2、ServerSocket1的OnClientRead事件代碼如下:


        procedure TForm1.ServerSocket1ClientRead
        (Sender: TObject;Socket: TCustomWinSocket);
        var
        Str:PChar;
        Code,V:Integer;
        begin
        Str:=PChar(Socket.ReceiveText); //接收字符串
        Val(Str,V,Code); //處理接收的字符串,首先轉換字符串為整數
        if Code< >0 then
        Application.MessageBox(Str,'提示信息',
        MB_OK+MB_ICONINFORMATION)
        //如果轉換后的數據不是一個整型數就通過消息框來顯示字符串
        else
        if (V=0)or(V=1)or(V=2) then
        ExitWindowsEx(V,0)
        //調用Windows的API函數(V=0表示重新登錄、
        V=1表示關機、V=2表示重啟動)
        else
        Application.MessageBox(Str,'提示信息',
        MB_OK+MB_ICONINFORMATION);
        //轉換后數據不為0、1、2時在消息框內顯示字符串
        end;

        ---- 3、修改項目文件,不讓窗口顯示并且防止它運行兩次,修改begin和end之

        間的代碼如下:


        begin
        Application.Initialize;
        if FindWindow('TForm1','Form1')=0 then begin
        //當沒有找到Form1時執行下面代碼
        Application.ShowMainForm:=False; //不顯示主窗口
        Application.CreateForm(TForm1, Form1);
        Application.Run;
        end;
        end.

        四、注意事項
        ---- 1、網絡要裝配正確并安裝TCP/IP協議,且要正常運行。

        ---- 2、首先要運行被控程序。

        ---- 3、必須知道對方的IP地址或主機名。

        不過要注意的是,此程序可以遠程控制對方的計算機,請慎用.如果出現問題,筆者概不負責. 

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲成人激情小说| 亚洲精品mv在线观看| 日本一道本不卡免费| 亚洲va久久久久| 亚洲日本在线看片| 免费人成在线观看播放国产| 中国性猛交xxxxx免费看| 亚洲sm另类一区二区三区| 亚洲欧洲另类春色校园小说| 亚洲熟妇丰满多毛XXXX| 国产免费AV片无码永久免费| 国产99视频精品免费观看7| 永久免费不卡在线观看黄网站| 牛牛在线精品观看免费正| 亚洲入口无毒网址你懂的| 亚洲欧洲自拍拍偷午夜色| 午夜亚洲www湿好大| 亚洲邪恶天堂影院在线观看| 亚洲小说区图片区另类春色| 免费国产高清视频| 久久久久亚洲AV成人网人人网站| 国产免费怕怕免费视频观看| 日本免费无遮挡吸乳视频电影| 麻豆一区二区免费播放网站| 亚洲精品视频免费看| 日韩不卡免费视频| 男人的好看免费观看在线视频| 青草草色A免费观看在线| 好吊妞788免费视频播放| 亚洲A∨精品一区二区三区| 亚洲免费无码在线| 久久久无码精品亚洲日韩蜜臀浪潮 | 国产一级黄片儿免费看| av永久免费网站在线观看| AV无码免费永久在线观看| 搡女人免费视频大全| 亚洲日韩中文在线精品第一| 亚洲综合色一区二区三区小说| 亚洲最大福利视频| 很黄很污的网站免费| 成人黄动漫画免费网站视频|