开源3389服务器管理端工具源码
功能说明:
本程序是使用易语言编写的远程桌面服务器管理工具,旨在通过图形化界面帮助用户集中存储、管理及快速发起 Windows 远程桌面连接(RDP)。程序的核心逻辑围绕 Microsoft Terminal Services Client (mstsc) 进行封装,依赖本地数据库实现数据的持久化存储。
一、主要功能模块
1. 初始化与配置检测:程序启动入口为“启动窗口_创建完毕”,首先检查运行目录下是否存在"mstsc.mdb"数据库文件。若不存在,弹出提示框并结束程序;若存在,则检查并初始化"config.ini"配置文件,随后连接数据库并填充服务器列表。这确保了程序必须有特定的数据源才能运行。
2. 服务器列表展示与维护:通过界面上的超级列表框展示服务器信息。子程序“填充列表框”负责从数据库的"Server"表中读取记录,将服务器名、端口、用户名、备注、域等关键信息逐行添加到列表视图中。支持的工具栏功能包括“添加主机”、“修改主机”、“删除主机”、“导入主机”以及“刷新主机”,实现了对服务器信息的完整增删改查。
3. 远程连接执行:核心业务逻辑位于“创建远程连接”子程序中。该部分代码详细定义了 RDP 协议的各类参数,例如屏幕模式、桌面分辨率、颜色位数、压缩设置、剪贴板重定向、驱动器映射、音频模式以及登录凭据(用户名、域、密码)。程序会根据当前选中的服务器信息,将这些参数组合,进而调用系统远程桌面功能建立会话。代码注释中明确列出了如 desktopwidth、session bpp、full address 等具体的 RDP 配置项。
4. 地理位置查询:内置“查询地理位置”子程序,利用第三方服务或内部模块,根据服务器 IP 地址查询其所属的物理地理位置,并将结果更新至列表对应的列中,便于用户识别服务器所在区域。
5. 系统设置与辅助:包含“系统设置”子程序,用于载入设置窗口调整程序行为。此外,还具备清空记录、查看关于文档以及退出程序等基础功能。
二、技术实现特点
1. 数据库支持:使用了 eDB 支持库,针对 Access 格式的 mdb 文件进行操作,实现了结构化数据的存储与检索。
2. 界面交互逻辑:主窗口的工具条事件“工具条1_被单击”采用了索引分发机制,根据不同的按钮索引调用相应的功能子程序,如索引 0 对应连接主机,索引 1 对应添加主机等。同时区分了鼠标左键点击与下拉菜单(_工具条1_被下拉)的操作差异。
3. 状态管理:程序集变量中定义了“是否菜单按钮”和“现行线程数”,表明程序在处理用户操作时会对来源(菜单还是按钮)及并发情况进行一定的状态控制。
4. 安全性考量:在“创建远程连接”的代码片段中,可以看到密码字段被转换为加密格式(password 51:b:...),符合 RDP 文件的安全传输标准。
三、适用场景
该软件适用于需要进行批量服务器维护的系统管理员、开发人员或运维工程师。通过预先录入常用服务器信息,用户无需每次手动输入复杂的 IP 地址和账号密码,只需在列表中选中目标即可一键连接,极大地提高了远程办公的效率和管理便捷性。
======窗口程序集_启动窗口
| |
| |------ __启动窗口_创建完毕
| |
| |------ 填充列表框
| |
| |------ 查询地理位置
| |
| |------ _工具条1_被单击
| |
| |------ _工具条1_被下拉
| |
| |------ _系统设置_被选择
| |
| |------ _按钮_连接主机_被单击
| |
| |------ _连接主机_被选择
| |
| |------ 创建远程连接
| |
| |------ _添加主机_被选择
| |
| |------ _修改主机_被选择
| |
| |------ _删除主机_被选择
| |
| |------ _全部清空_被选择
| |
| |------ _刷新主机_被选择
| |
| |------ 批量开始PING
| |
| |------ 检测PING线程
| |
| |------ _导入主机_被选择
| |
| |------ _超级列表框1_左键单击表项
| |
| |------ _超级列表框1_被双击
| |
| |------ _超级列表框1_右键单击表项
| |
| |------ 主气泡提示
| |
| |------ _清空记录_被选择
| |
| |------ _退出程序_被选择
| |
| |
======数据库接口
| |
| |------ 连接数据库
| |
| |------ 打开并过滤数据表
| |
| |------ 打开数据表
| |
| |------ 取表项文本
| |
| |------ 写表项文本
| |
| |------ 窗口居中
| |
| |
======窗口程序集_窗口_设置
| |
| |------ _窗口_设置_创建完毕
| |
| |------ 初始化
| |
| |------ 读入配置
| |
| |------ SAVE
| |
| |------ _选择框_映射_被单击
| |
| |------ _选择框_剪贴板_被单击
| |
| |------ _选择框_重连_被单击
| |
| |------ _选择框_压缩_被单击
| |
| |------ _选择框_桌面背景_被单击
| |
| |------ _选择框_桌面主题_被单击
| |
| |------ _选择框_串行口_被单击
| |
| |------ _选择框_智能卡_被单击
| |
| |------ _选择框_打印机_被单击
| |
| |------ _选择框_全屏连接栏_被单击
| |
| |------ _单选框_admin_被单击
| |
| |------ _单选框_console_被单击
| |
| |------ _单选框_无强制_被单击
| |
| |------ _选择框_PnP设备_被单击
| |
| |------ _选择框_录音_被单击
| |
| |------ _单选框_客户声音_被单击
| |
| |------ _单选框_本机声音_被单击
| |
| |------ _单选框_无声音_被单击
| |
| |------ _单选框_本地组键_被单击
| |
| |------ _单选框_远程组键_被单击
| |
| |------ _单选框_全屏组键_被单击
| |
| |------ 取本机分辨率
| |
| |------ 获取磁盘分区
| |
| |------ 系统_取磁盘类型
| |
| |------ 取磁盘分区类型
| |
| |------ _滑块条_颜色_位置被改变
| |
| |------ _滑块条_大小_位置被改变
| |
| |------ _滑块条_颜色_鼠标左键被放开
| |
| |------ _滑块条_大小_鼠标左键被放开
| |
| |------ _单选框_全屏模式_被单击
| |
| |------ _单选框_窗口模式_被单击
| |
| |------ 设置气泡提示
| |
| |------ _窗口_设置_将被销毁
| |
| |
======窗口程序集_窗口_编辑主机
| |
| |------ _窗口_编辑主机_创建完毕
| |
| |------ _按钮_编辑_被单击
| |
| |------ 编辑气泡提示
| |
| |
======RDP加密解密
| |
| |------ RDP加密
| |
| |------ 编码_Ansi转Unicode
| |
| |------ 十到十六
| |
| |------ RDP解密
| |
| |------ 指针到文本_Unicode版
| |
| |------ Unicode转Ansi
| |
| |
======功能程序集
| |
| |------ 写初始化配置
| |
| |------ 写设置配置
| |
| |------ API打开对话框
| |
| |
======地理位置查询
| |
| |------ 初始化
| |
| |------ 地理位置查询
| |
| |------ GetLong
| |
| |------ GetLong3
| |
| |------ GetString
| |
| |------ GetArea
| |
| |------ Ord
| |
| |------ ip2long
| |
| |------ long2ip
| |
| |------ 销毁
| |
| |------ _销毁
| |
| |
======窗口程序集_窗口导入
| |
| |------ _窗口导入_创建完毕
| |
| |------ _单选框_DUB_被单击
| |
| |------ _单选框_1433_被单击
| |
| |------ _单选框_自定义_被单击
| |
| |------ _选择框_自定义密码_被单击
| |
| |------ _按钮_一键导入_被单击
| |
| |------ 导入气泡提示
| |
| |------ _按钮_路径_被单击
| |
| |------ DUBrute导入
| |
| |------ 批量添加主机
| |
| |------ MSSQL导入
| |
| |------ 自定义导入
| |
| |------ 文本_取右边
| |
| |------ 文本_取左边
| |
| |
======调用的Dll
| |
| |---[dll]------ 取显示属性
| |
| |---[dll]------ 取磁盘信息_
| |
| |---[dll]------ GetOpenFileName
| |
| |---[dll]------ CryptUnprotectData
| |
| |---[dll]------ CryptProtectData
| |
| |---[dll]------ MultiByteToWideChar
| |
| |---[dll]------ wvsprintf
| |
| |---[dll]------ sscanf
| |
| |---[dll]------ lstrcpyn_字节
| |
| |---[dll]------ LocalFree
| |
| |---[dll]------ lstrlenW
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ WideCharToMultiByte
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。