源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

autoit 更改个人文件夹的小工具

  • 时间:2022-01-02 22:29 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:autoit 更改个人文件夹的小工具
V0.3 2008年6月1日 增加“在选项窗口的‘全选'、‘全取消'”的功能。 增加“在主窗口的将链接恢复到默认路径”的选项。 V0.2 2008年5月23日 增加“弹出式子窗口,用于添加项目并动态改变主窗口”的功能。 对更改过的路径,加深背景色突出显示。 V0.1 2008年5月23日 测试通过“我的文档,我的音乐,我的视频,我的收藏,我的桌面”的测试。 完成编程时动态增加选项功能。 #Region ;**** 参数创建于 AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=..\工具\3.2.11.0.1\Aut2Exe\Icons\ce.ico #AutoIt3Wrapper_Outfile=个人文件夹设置工具.V0.3.exe #AutoIt3Wrapper_Res_Comment=用于改变个人文件夹的路径,应用后请立即重新启动计算机。 #AutoIt3Wrapper_Res_Description=Alex作品 #AutoIt3Wrapper_Res_Fileversion=0.3.1.080601 #AutoIt3Wrapper_Res_LegalCopyright=Alexandrer King #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #CS 注册表路径 = HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders  0 "AppData"=应用程序数据  1 "Cookies"=Cookies  2 "Desktop"=桌面  3 "Favorites"=收藏夹  4 "NetHood"=网上邻居,用于存贮添加到网上邻居中的其他计算机的快捷方式。  5 "Personal"=我的文档  6 "PrintHood"=打印机,用于存贮添加的打印机的快捷方式。  7 "Recent"=最近打开文件  8 "SendTo"=发送到  9 "Start Menu"=「开始」菜单  10 "Templates"=模板  11 "Programs"=「开始」菜单\\程序  12 "Startup"=「开始」菜单\\程序\\启动  13 "Local Settings"=Local Settings  14 "Local AppData"=Local Application Data  15 "Cache"=Internet缓存文件  16 "History"=历史  17 "My Pictures"=我的图片  18 "Fonts"=字体  19 "My Music"=我的音乐  20 "CD Burning"=CD Burning  21 "My Video"=我的视频 #CE #include <GUIConstants.au3> #include <Array.au3> Opt("GUIOnEventMode", 1) ; 切换为OnEvent模式 ;下面是变量定义 Local Const $AllItem = 22 Global $HomeDriver, $HomePath, $HomeEnvironment, $nNumber Dim $aDict[3][$AllItem] = [["AppData", "Cookies", "Desktop", "Favorites", "NetHood", "Personal", _   "PrintHood", "Recent", "SendTo", "Start Menu", "Templates", "Programs", _   "Startup", "Local Settings", "Local AppData", "Cache", "History", _   "My Pictures", "Fonts", "My Music", "CD Burning", "My Video"],["应用程序", _   "Cookies", "桌面", "收藏夹", "网上邻居", "我的文档", "打印机", "最近打开", _   "发送到", "开始菜单", "模板", "程序", "启动", "本地设置", "本地数据", "缓存", _   "历史", "我的图片", "字体", "我的音乐", "CD 烧录", "我的视频"]] Dim $aIndex[6] = ["2", "3", "5", "17", "19", "21"] $nNumber = UBound($aIndex) ;用一个8×X的数组放置相关信息,这些信息自aDict数组由aIndex作为索引获得,本数组分别存放的是:项目名,中文,键值,LabelID,InputID,ChangeButtonID,新键值,DefaultButtonID Dim $avArray[$nNumber][8] Dim $Form_Main, $Form_Child, $Button_Apply Dim $TempIndex[$AllItem] ;下面是GUI MainGUI() ;下面是程序主体 While 1  Sleep(1000) ; 空循环 WEnd ;下面是子函数 Func MainGUI()  Local Const $mWidth = 641  Local $mHeight = 81 + $nNumber * 30  $HomeDriver = RegRead("HKEY_CURRENT_USER\Volatile Environment", "HOMEDRIVE")  $HomePath = RegRead("HKEY_CURRENT_USER\Volatile Environment", "HOMEPATH")  $HomeEnvironment = $HomeDriver & $HomePath  #Region ### START Koda GUI section ###  $Form_Main = GUICreate("个人文件夹设置 by Alexandrer King", $mWidth, $mHeight, -1, -1)  GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE")  GUISetFont(9, 800, 0, "微软雅黑")  $Label_Home = GUICtrlCreateLabel("当前用户的主路径:" & $HomeEnvironment, 10, 10, 520, 20)  For $Loop1 = 1 To $nNumber   $sTemp1 = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", $aDict[0][$aIndex[$Loop1 - 1]])   $avArray[$Loop1 - 1][0] = $aDict[0][$aIndex[$Loop1 - 1]]   $avArray[$Loop1 - 1][1] = $aDict[1][$aIndex[$Loop1 - 1]]   $avArray[$Loop1 - 1][2] = $sTemp1   $avArray[$Loop1 - 1][3] = GUICtrlCreateLabel($avArray[$Loop1 - 1][1], 10, 10 + 30 * $Loop1, 60, 20)   $avArray[$Loop1 - 1][4] = GUICtrlCreateInput($avArray[$Loop1 - 1][2], 70, 10 + 30 * $Loop1, 490, 20)   GUICtrlSetState(-1, $GUI_DISABLE)   GUICtrlSetBkColor(-1, 0xf0f0f0) ; 淡色   $avArray[$Loop1 - 1][5] = GUICtrlCreateButton("C", 570, 10 + 30 * $Loop1, 30, 20)   GUICtrlSetOnEvent(-1, "PointFolder")   $avArray[$Loop1 - 1][7] = GUICtrlCreateButton("D", 600, 10 + 30 * $Loop1, 30, 20)   GUICtrlSetOnEvent(-1, "PointDefault")  Next  $Button_Child = GUICtrlCreateButton("配置项目", 10, $mHeight - 40, 70, 25)  GUICtrlSetOnEvent(-1, "ChildGUI")  $Button_Apply = GUICtrlCreateButton("应用更改", 550, $mHeight - 40, 70, 25)  GUICtrlSetOnEvent(-1, "WriteREG")  GUICtrlSetState(-1, $GUI_DISABLE)  GUISetState(@SW_SHOW)  #EndRegion ### START Koda GUI section ### EndFunc   ;==>MainGUI Func ChildGUI()  #CS ===================================================================   下面是常见的矩阵式排布算法:   XBase   距离坐标0,0的X轴基础坐标   YBase   距离坐标0,0的Y轴基础坐标   XOffset  控件的X轴尺寸+间距   YOffset  控件的Y轴尺寸+间距   Scale   Y轴的行控制变量   Matrix   矩阵系数   positionX  X轴坐标   positionY  Y轴坐标  #CE ===================================================================  GUIDelete($Form_Main)  Local Const $Matrix = Round(Sqrt($AllItem), 0)  Local Const $XOffset = 90, $YOffset = 30  Local Const $XBase = 10, $YBase = 10  Local $Scale = 0  Local Const $cWidth = 481, $cHeight = 241  $Form_Child = GUICreate("选择要配置的项目", $cWidth, $cHeight, -1, -1)  GUISetOnEvent($GUI_EVENT_CLOSE, "NewGUI")  GUISetFont(-1, 8, 400, 0, "微软雅黑")  GUICtrlCreateLabel("请在下面的列表中勾选需要配置的项目", 10, 15, 300, 20)  For $Loop4 = 1 To $AllItem   $positionX = $XBase + Mod(($Loop4 - 1), $Matrix) * $XOffset   If $positionX = $XBase Then    $Scale = $Scale + 1   EndIf   $positionY = $YBase + $Scale * $YOffset   $TempIndex[$Loop4 - 1] = GUICtrlCreateCheckbox($aDict[1][$Loop4 - 1], $positionX, $positionY, 90, 20)  Next  While UBound($aIndex)   GUICtrlSetState($TempIndex[_ArrayPop($aIndex)], $GUI_CHECKED)  WEnd  $Button_SelectAll = GUICtrlCreateButton("全选", $cWidth / 2 + 60, $cHeight - 40, 50, 25)  GUICtrlSetOnEvent(-1, "SelectAll")  $Button_UnselectAll = GUICtrlCreateButton("全取消", $cWidth / 2 - 110, $cHeight - 40, 50, 25)  GUICtrlSetOnEvent(-1, "UnselectAll")  $Button_ChildExit = GUICtrlCreateButton("确定", $cWidth / 2 - 30, $cHeight - 40, 60, 30)  GUICtrlSetOnEvent(-1, "NewGUI")  GUISetState(@SW_SHOW) EndFunc   ;==>ChildGUI Func SelectAll()  For $Loop6 = 1 To $AllItem   GUICtrlSetState($TempIndex[$Loop6 - 1], $GUI_CHECKED)  Next EndFunc   ;==>SelectAll Func UNselectAll()  For $Loop7 = 1 To $AllItem   GUICtrlSetState($TempIndex[$Loop7 - 1], $GUI_UNCHECKED)  Next EndFunc   ;==>UNselectAll Func NewGUI()  Dim $aIndex[1]  For $Loop5 = 1 To $AllItem   If GUICtrlRead($TempIndex[$Loop5 - 1]) = $GUI_CHECKED Then    _ArrayAdd($aIndex, $Loop5 - 1)   EndIf  Next  If UBound($aIndex) = 1 Then   $yonc = MsgBox(0x1024, "注意", "您取消了 全部 的选项" & @CRLF & _     "这将使本程序没有可配置的项目" & @CRLF & _     "点 <是> 重新选择, 点 <否> 退出本程序.")   If $yonc = 6 Then    Return   Else    Exit   EndIf  EndIf  _ArrayDelete($aIndex, 0)  $nNumber = UBound($aIndex)  ReDim $avArray[$nNumber][8]  MainGUI()  GUIDelete($Form_Child) EndFunc   ;==>NewGUI Func WriteREG()  For $Loop3 = 1 To $nNumber   If $avArray[$Loop3 - 1][6] <> "" Then    RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders", $avArray[$Loop3 - 1][0], "REG_EXPAND_SZ", $avArray[$Loop3 - 1][6])    $avArray[$Loop3 - 1][6] = ""    GUICtrlSetBkColor($avArray[$Loop3 - 1][4], 0xf0f0f0) ; 淡色   EndIf  Next  GUICtrlSetState($Button_Apply, $GUI_DISABLE) EndFunc   ;==>WriteREG Func PointFolder()  Local $iIndex, $sNEWFolder  $iIndex = _ArraySearch($avArray, @GUI_CtrlId, 0, 0, 0, 1, 1, 5)  $sNEWFolder = FileSelectFolder("指定新的位置", "", 7)  If Not @error Then   $avArray[$iIndex][6] = $sNEWFolder   GUICtrlSetData($avArray[$iIndex][4], $sNEWFolder)   GUICtrlSetBkColor($avArray[$iIndex][4], 0xd5f0f0) ; 淡色略深   GUICtrlSetState($Button_Apply, $GUI_Enable)  EndIf EndFunc   ;==>PointFolder Func PointDefault()  Local $iIndex, $sNEWFolder  $iIndex = _ArraySearch($avArray, @GUI_CtrlId, 0, 0, 0, 1, 1, 7)  $sNEWFolder = RegRead("HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders", $avArray[$iIndex][0])  If Not @error Then   $sTempNEWFolder = StringReplace($sNEWFolder, "%USERPROFILE%", $HomeEnvironment)   $avArray[$iIndex][6] = $sTempNEWFolder   GUICtrlSetData($avArray[$iIndex][4], $sTempNEWFolder)  Else   $avArray[$iIndex][6] = ""   GUICtrlSetData($avArray[$iIndex][4], "")  EndIf  GUICtrlSetBkColor($avArray[$iIndex][4], 0xd5f0f0) ; 淡色略深  GUICtrlSetState($Button_Apply, $GUI_Enable) EndFunc   ;==>PointDefault Func CLOSE()  Exit EndFunc   ;==>CLOSE [img]http://www.autoit.net.cn/attachment.php?aid=690&k=66b80af24bd8530b99780bb41ba5bb95&t=1216033936&noupdate=yes[/img]
[img]http://files.jb51.net/upload/20080714192153599.gif[/img] [url=http://www.autoit.net.cn/attachment.php?aid=691&k=0bbbb1844a2da9ea5fcdb109f9b12722&t=1216033936¬humb=yes]screenshot2.png[/url] [i](30.95 KB)[/i]
2008-6-1 21:04 [img]http://www.autoit.net.cn/attachment.php?aid=691&k=0bbbb1844a2da9ea5fcdb109f9b12722&t=1216033936&noupdate=yes[/img]
打包下载[img]http://www.1sucai.cn/myeditor/sysimage/file/rar.gif[/img] [url=http://xiazai.jb51.net/yuanma/autoit/autotiPersonal.v0.3.b080601.rar]autotiPersonal.v0.3.b080601.rar[/url]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部