Vncconfig這個工程里面主要實現(xiàn)的是服務(wù)器端的系統(tǒng)配置,具體過程如下:
建立控制臺——》初始化系統(tǒng)日志表——》創(chuàng)建編輯注冊表的對象——》異常處理程序訪問注冊表權(quán)限——》創(chuàng)建讀取注冊表的鍵類——》建立登陸對話框,初始化方法寫入注冊表……——》屬性頁設(shè)制——》生成調(diào)試日志——》顯示屬性頁
具體功能如下:
一.登陸驗證設(shè)定
關(guān)聯(lián)文件:Authentication.h
關(guān)聯(lián)類或函數(shù):AuthenticationPage類,初始化帶一個注冊鍵值的參數(shù)
關(guān)聯(lián)類:
VncPasswdDialog操作登陸對話框
AuthenticationPage操作登陸屬性頁
功能:登陸密碼設(shè)定,可選項為
無需驗證setItemChecked(IDC_AUTH_NONE,useNone);
設(shè)置密碼setItemChecked(IDC_AUTH_VNC,useVNC);
即時連接rfb::Server::queryConnect
二.連接設(shè)置
關(guān)聯(lián)文件:Connections.h,network/TcpSocket.h
關(guān)聯(lián)類或函數(shù):
靜態(tài):
ConnectionsPage類,初始化帶一個注冊鍵值的參數(shù)
IntParameter類,初始化連接參數(shù)
StringParameter類,篩選服務(wù)器認(rèn)證的客戶ip
BoolParameter類,篩選帶低延遲,高帶寬的客戶
內(nèi)部:
ConnHostDialog類,連接主機對話框
ConnectionsPage類,連接設(shè)置屬性頁
功能:
1.設(shè)定端口號setItemInt
2.設(shè)定多長時間后禁用不活動的客戶rfb::Server::idleTimeout
3.設(shè)定網(wǎng)絡(luò)服務(wù)端口setItemInt
聯(lián)入限制:
1.只限本地用戶連接setItemChecked
2.添加刪除修改授權(quán)用戶setItemChecked
關(guān)聯(lián)關(guān)鍵技術(shù)函數(shù)實現(xiàn):
一.桌面設(shè)置
關(guān)聯(lián)文件:Desktop.h
關(guān)聯(lián)類或函數(shù):DesktopPage類,初始化帶一個注冊鍵值的參數(shù)
功能:1.連接時可選:
移除壁紙rfb::win32::SDisplay::removeWallpaper
移除背景模型rfb::win32::SDisplay::removePattern
禁用用用戶對桌面的操作rfb::win32::SDisplay::disableEffects
2.斷線時可選:
無操作!disconnectLock &&!disconnectLogoff
鎖定工作區(qū)disconnectLock
強制用戶下線disconnectLogoff
四.鉤子設(shè)置
關(guān)聯(lián)文件:Hooking.h
關(guān)聯(lián)類或函數(shù):HookingPage類,初始化帶一個注冊鍵值的參數(shù)
功能:可選
1.跟蹤圖像變化rfb::win32::SDisplay::use_hooks
2.控制臺窗口變化rfb::win32::WMPoller::poll_console_windows
3.過濾變化效果rfb::Server::compareFB
五.輸入設(shè)置
關(guān)聯(lián)文件:Inputs.h
關(guān)聯(lián)類或函數(shù):InputsPage類,初始化帶一個注冊鍵值的參數(shù)
功能:可選
1.接受客戶鼠標(biāo)操作rfb::Server::acceptPointerEvents
2.接受客戶鍵盤操作rfb::Server::acceptKeyEvents
3.接受客戶剪切板操作rfb::Server::acceptCutText
4.發(fā)送剪切板變化給客戶rfb::Server::sendCutText
5.允許客戶對屏幕操作
6.當(dāng)本地需要操作時禁用客戶操作SDisplay::disableLocalInputs
五.版本兼容
關(guān)聯(lián)文件:Legacy.h/Legacy.cxx
關(guān)聯(lián)類或函數(shù):
legacy類,初始化帶一個注冊鍵值及鍵值設(shè)置的參數(shù)
LoadPRefs(),加載3.3版本參數(shù)
LoadUserPrefs(),加載客戶設(shè)置
功能:兼容3.3版
六.共享設(shè)置
關(guān)聯(lián)文件:Sharing.h
關(guān)聯(lián)類或函數(shù):SharingPage類,初始化帶一個注冊鍵值的參數(shù)
功能:可選
關(guān)聯(lián)關(guān)鍵技術(shù)函數(shù)實現(xiàn):
1.從不連接客戶rfb::Server::disconnectClients
2.從不默認(rèn)連接共享rfb::Server::neverShared
3. 總是默認(rèn)連接共rfb::Server::alwaysShared
4. 使用客戶設(shè)定的共享設(shè)置rfb::Server::neverShared ||rfb::Server::alwaysShared
RFB_WIN32靜態(tài)庫里定義了:
1. 對話框類:Dialog,VncPasswdDialog等類都是從它繼承的
2. 屬性頁類:PropSheetPage, AuthenticationPage等類都是從它繼承的,其中主要函數(shù):
initDialog()用于初始化子對話框
OnCommand()用于響應(yīng)功能消息
OnOK()用于確認(rèn)執(zhí)行將屬性寫入注冊表的操作
3. 編輯注冊表鍵類:RegKey
4. 讀取注冊表鍵類:RegistryReader
5. 寫入注冊表限定類(結(jié)構(gòu)體):包含在Security.h里,估計是保證安全的代碼
accessEntries建立控制入口列表
Sid 設(shè)置安全ID
AccessControlList控制入口列表
RFB靜態(tài)庫里定義了:
1. 操作日志類:
LogWriter(寫日志)
Logger(生成日志實例)
LogParameter(設(shè)置日志記錄參數(shù))
2. 服務(wù)器設(shè)置參數(shù)定義類Server:封裝定義了idleTimeout等參數(shù)
新聞熱點
疑難解答