找回密码
 加入
搜索
查看: 4928|回复: 3

[原创] RADMIN远程主机信息导入导出工具——附源码

[复制链接]
发表于 2011-11-25 02:51:17 | 显示全部楼层 |阅读模式
本帖最后由 nivisde 于 2011-11-25 03:09 编辑

本例采用了2个比较好一点的方法,其他朋友可以看看。也有个缺陷,为了布局美观,减少了一个FileOpenDialog。
1.注册表键值的遍历。
2.INI文件的遍历。


最终效果如下
                                     [img][/img]
更新信息:
2011-11-20
应同事要求,写一个RADMIN信息导入导出工具,以方便工作。

2011-11-21
正式起手,完成版本 1.0.0.0

2011-11-24
据同事反应,读取RADMIN远程主机信息不完整,体现于读取的机器数目不准确。观察后发现,
  在公司控制端电脑RADMIN信息保存的注册表中机器序列不是有序的,且由于增删操作等,序列有500多。

2011-25
修正远程主机注册表信息读取过程,使用枚举方法遍历RADMIN远程主机配置信息。
同时改进读取配置文件信息方法。
发布 2.0.0.0 版本。
              
版权所有,请勿直接复制粘贴修改,手动录入可授予修改版权及其他信息权限。录入AUTOIT编辑器可见层次分明的代码。
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=D:\10556.ico
#AutoIt3Wrapper_outfile=RadminInfoInputOut.exe
#AutoIt3Wrapper_Res_Comment=Remote Administrator viewer Info Input/Output 网顺科技内部自由拷贝。
#AutoIt3Wrapper_Res_Description=QQ:307256915 Copyright
#AutoIt3Wrapper_Res_Fileversion=2.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=powerBy AmibeCode System
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/striponly
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_UseAnsi=n

#include <GUIConstants.au3>        
#include<IE.au3>

Global $IniFilePath

        Local $yt=1
        Local $y=0
        While 1 
                Local $KeyName = RegEnumVal("HKEY_CURRENT_USER\Software\RAdmin\v2.0\Clients", $yt)
                If @error = -1 Then 
                        ExitLoop
                Else
                        $RadminClientRead=RegRead("HKEY_CURRENT_USER\Software\RAdmin\v2.0\Clients",$KeyName)
                        If $RadminClientRead="" Then
                                ExitLoop
                        Else
                                $y+=1
                        EndIf
                EndIf
               $yt+=1
         WEnd  ;==>读取远程主机数目
;------------------------------------------------------------------------------------------------------------------                
Opt("TrayIconHide", 1)
Opt("MouseCoordMode", 1)
Opt("GUICloseOnESC", 0)

GUICreate("RAdmin Input|output InfoList   By:307256915",350,70)
GUICtrlCreateLabel("共有远程主机数量:",10,14,130,20)
$GUIOutPutCout=GUICtrlCreateInput($y,118,10,50,20)
GUICtrlSetState($GUIOutPutCout,$GUI_DISABLE)
$OutPut=GUICtrlCreateButton("导出信息",180,8,80,25)
$InPut=GUICtrlCreateButton("导入列表",265,8,80,25)
$GUI_IoPath=GUICtrlCreateInput("",5,45,220,20)
$Selete_IoPath=GUICtrlCreateButton("选择导入导出路径",235,42,110,25)
_IECreate("http://307256915.qzone.qq.com ",0,1,1) ;==>打开本人QQ空间,广告之
GUISetState(@SW_SHOW);==>GUI部分

;------------------------------------------------------------------------------------------------------------------        

While 1  ;==>GUI点击事件开始
        $GUIMsgReturn=GUIGetMsg()
        Select
                Case  $GUIMsgReturn=$Selete_IoPath                
                                $IniFilePath=FileSaveDialog("请选择保存的文件","","配置文件(*.ini)",3,"RadminInfo.ini")                        
                                GUICtrlSetData($GUI_IoPath,$IniFilePath) ;==>设置配制文件路径        
                                
;------------------------------------------------------------------------------------------------------------------                                
                Case $GUIMsgReturn=$OutPut   
                        If GUICtrlRead($GUI_IoPath)="" Then
                                MsgBox(0+48+262144,"提示","请选择要导出的位置")
                        Else
                                Local $j=1
                                Local $t=0
                                        While 1
                                                $KeyName1=RegEnumVal("HKEY_CURRENT_USER\Software\RAdmin\v2.0\Clients",$j)
                                                If @error = -1 Then
                                                        ExitLoop
                                                Else
                                                        $RadminClientRead2=RegRead("HKEY_CURRENT_USER\Software\RAdmin\v2.0\Clients",$KeyName1)
                                                        If $RadminClientRead2="" Then
                                                                ExitLoop
                                                        Else
                                                                $IniWriteReturn=IniWrite($IniFilePath,$KeyName1,"InFo",$RadminClientRead2)        
                                                                $t+=1
                                                        EndIf
                                                EndIf
                                                $j+=1
                                        WEnd
                        MsgBox(0,"检查","共导出远程主机配置:"&$t)
                        EndIf   ;==>导出配置列表事件
;------------------------------------------------------------------------------------------------------------------        
                Case   $GUIMsgReturn=$InPut
                        Global $r=0
                        Global $tu=0
                                If FileExists($IniFilePath) Then                                        
                                                $RadminInfoListINI=IniReadSectionNames($IniFilePath) ;读取INI文件字段名                                        
                                                                For $r=1 To $RadminInfoListINI[0] Step 1                                                                
                                                                        Local $RadminInfoListINIREG=IniRead($IniFilePath,$RadminInfoListINI[$r],"InFo","NULL")
                                                                        If $RadminInfoListINIREG=="NULL" Then
                                                                                ExitLoop
                                                                        Else
                                                                                RegWrite("HKEY_CURRENT_USER\Software\RAdmin\v2.0\Clients",$RadminInfoListINI[$r], _
                                                                                                                            "REG_BINARY",$RadminInfoListINIREG)                        
                                                                                If @error Then 
                                                                                        ExitLoop
                                                                                Else
                                                                                        $tu+=1
                                                                                EndIf
                                                                        EndIf
                                                                Next                                                                                                                                                                                        
                                                        MsgBox(0,"检查","共导入远程主机配置:"&$tu)
                                Else
                                        MsgBox(0+48+262144,"提示","请指定导入文件的位置")
                                EndIf      ;==>导入机器列表
;------------------------------------------------------------------------------------------------------------------                                


                Case $GUIMsgReturn=$GUI_EVENT_CLOSE
                        ExitLoop
        EndSelect
WEnd

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2015-12-4 19:46:58 | 显示全部楼层
我这正好在使用RADMIN,可以拿来测试下
发表于 2016-12-12 14:56:13 | 显示全部楼层
貌似沒有效果...
发表于 2016-12-14 22:22:44 | 显示全部楼层
试用一下 看看效果
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-30 01:33 , Processed in 0.219865 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表