首页 > 学院 > 操作系统 > 正文

VNC中Vncconfig配置

2024-06-28 16:05:01
字体:
来源:转载
供稿:网友

Vncconfig这个工程里面主要实现的是服务器端的系统配置,具体过程如下:

建立控制台——》初始化系统日志表——》创建编辑注册表的对象——》异常处理程序访问注册表权限——》创建读取注册表的键类——》建立登陆对话框,初始化方法写入注册表……——》属性页设制——》生成调试日志——》显示属性页

具体功能如下:

一.登陆验证设定

关联文件:Authentication.h

关联类或函数:AuthenticationPage类,初始化带一个注册键值的参数

关联类:

VncPasswdDialog操作登陆对话框

AuthenticationPage操作登陆属性页

功能:登陆密码设定,可选项为

无需验证setItemChecked(IDC_AUTH_NONE,useNone);

设置密码setItemChecked(IDC_AUTH_VNC,useVNC);

即时连接rfb::Server::queryConnect

 

二.连接设置

关联文件:Connections.h,network/TcpSocket.h

关联类或函数:

静态:

ConnectionsPage类,初始化带一个注册键值的参数

IntParameter类,初始化连接参数

StringParameter类,筛选服务器认证的客户ip

BoolParameter类,筛选带低延迟,高带宽的客户

内部:

ConnHostDialog类,连接主机对话框

ConnectionsPage类,连接设置属性页

功能:

1.设定端口号setItemInt

2.设定多长时间后禁用不活动的客户rfb::Server::idleTimeout

3.设定网络服务端口setItemInt

联入限制:

1.只限本地用户连接setItemChecked

2.添加删除修改授权用户setItemChecked

关联关键技术函数实现:

一.桌面设置

关联文件:Desktop.h

关联类或函数:DesktopPage类,初始化带一个注册键值的参数

功能:1.连接时可选:

移除壁纸rfb::win32::SDisplay::removeWallpaper

移除背景模型rfb::win32::SDisplay::removePattern

禁用用用户对桌面的操作rfb::win32::SDisplay::disableEffects

       2.断线时可选:

无操作!disconnectLock &&!disconnectLogoff

锁定工作区disconnectLock

强制用户下线disconnectLogoff

 

四.钩子设置

关联文件:Hooking.h

关联类或函数:HookingPage类,初始化带一个注册键值的参数

功能:可选

1.跟踪图像变化rfb::win32::SDisplay::use_hooks

2.控制台窗口变化rfb::win32::WMPoller::poll_console_windows

3.过滤变化效果rfb::Server::compareFB

 

五.输入设置

关联文件:Inputs.h

关联类或函数:InputsPage类,初始化带一个注册键值的参数

功能:可选

1.接受客户鼠标操作rfb::Server::acceptPointerEvents

2.接受客户键盘操作rfb::Server::acceptKeyEvents

3.接受客户剪切板操作rfb::Server::acceptCutText

4.发送剪切板变化给客户rfb::Server::sendCutText

5.允许客户对屏幕操作

6.当本地需要操作时禁用客户操作SDisplay::disableLocalInputs

五.版本兼容

关联文件:Legacy.h/Legacy.cxx

关联类或函数:

legacy类,初始化带一个注册键值及键值设置的参数

LoadPRefs(),加载3.3版本参数

LoadUserPrefs(),加载客户设置

功能:兼容3.3版

 

六.共享设置

关联文件:Sharing.h

关联类或函数:SharingPage类,初始化带一个注册键值的参数

功能:可选

关联关键技术函数实现:

1.从不连接客户rfb::Server::disconnectClients

2.从不默认连接共享rfb::Server::neverShared

3. 总是默认连接共rfb::Server::alwaysShared

4. 使用客户设定的共享设置rfb::Server::neverShared ||rfb::Server::alwaysShared

 

RFB_WIN32静态库里定义了:

1.      对话框类:Dialog,VncPasswdDialog等类都是从它继承的

2.      属性页类:PropSheetPage, AuthenticationPage等类都是从它继承的,其中主要函数:

initDialog()用于初始化子对话框

OnCommand()用于响应功能消息

OnOK()用于确认执行将属性写入注册表的操作

3.      编辑注册表键类:RegKey

4.      读取注册表键类:RegistryReader

5.      写入注册表限定类(结构体):包含在Security.h里,估计是保证安全的代码

accessEntries建立控制入口列表

Sid  设置安全ID

AccessControlList控制入口列表

 

RFB静态库里定义了:

1.      操作日志类:

LogWriter(写日志)

Logger(生成日志实例)

LogParameter(设置日志记录参数)

2.      服务器设置参数定义类Server:封装定义了idleTimeout等参数


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表