當前位置:編程學習大全網 - 源碼下載 - 遠程桌面控制原理是什麽,符合那些條件才可以實現?

遠程桌面控制原理是什麽,符合那些條件才可以實現?

原理很簡單,優化很復雜;

就是抓屏,發送,至少要優化壹下,每次只發送不同的地方;

設計條件如下:

① 主機端的界面位圖傳輸功能使用的是《Visual C++C6.0技術內幕第五版》源碼ex34a的Blocksock,這個TCP套接字類非常好用,因為帶了“超時取消”功能,建議在工程中多多使用這樣的類;

② 主機端的桌面位圖捕獲,見CopyBitmap、ToMemory兩個函數,分為實現了獲取桌面HBITMAP和將這個HBITMAP完整的按bitmap格式保存到內存中。ToMemory的第三個參數為像素顏色,可選擇32、24、16、8,自己試壹試,會占用不同的內存容量,建議取8,這樣壹幅800×600的位圖不壓縮時占用480K字節多;

③ 主機端的位圖壓縮,采用了開源項目miniLZO,這個開源壓縮項目非常好用。經驗證,壹般界面下的位圖,壓縮後壓縮比可以達到90%而且速度超快。這些比例數字都在程序中顯示;

④ 鼠標鍵盤控制信息采用了低級鉤子的方法獲取,註意,低級鉤子它們並不需要單獨寫DLL。(VC6捕獲鼠標事件(移動、單擊等)的壹些總結(MFC消息、DriectInput、鉤子)),說明了為什麽要使用低級鉤子來換取;

⑤ 鼠標鍵盤的控制信息傳輸采用了UDP,在Lan.cpp中實現;

⑥ 為了提高程序的健壯性,使用毫秒級的多媒體測時函數,測量發送、接收花費的時間,做到心中有數;

⑦ 遠程終端把收到的壓縮位圖,解壓後,使用函數GetHBmp得到HBIMAP,並使用壹個位圖控件做顯示。

使用時,先將每個程序的IP地址設壹下(每個程序有兩處IP需要設,IP指的是都是對方的IP地址),先運行遠程終端,再運行主機程序。

  • 上一篇:投資任務源代碼
  • 下一篇:合並報表怎麽做?
  • copyright 2024編程學習大全網