爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!
爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!
当前所在位置:主页 > 脚本 > autoit >
  • 魔艺客提供SEO\SEM推广整合营销服务
  • 提供整套互联网营销整合方案-魔艺客
  • 魔艺客高端网站建设开发服务十一大优惠服务
  • 资深的网站建设开发经验,一对一服务-魔艺客高
  • 一站式服务,从服务器到网站,三站何以尽在魔
爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!

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

发布时间:2017-09-08 17:31    作者:爱开发联盟    浏览:次    来源:aikaifa.com.cn 分享:

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

screenshot1.png

(30.95 KB)

2008-6-1 21:04

screenshot2.png

打包下载

网友评论

分类排行榜联系我们

好文推荐联系我们

爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!
爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!

当前最新内容联系我们

爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!

在线手册

网站地图导航

前端 HTML/Xhtml HTML5 CSS XML/XSLT Dreamweaver教程 Frontpage教程 心得技巧 编程 JavaScript ASP.NET PHP编程 正则表达式 AJAX相关 ASP编程 JSP编程 Flex 脚本加解密 web2.0 XML/RSS 网页编辑器 相关技巧 安全相关 网页播放器 Dart 其它综合 脚本 VBS DOS/BAT HTA HTC Python perl 游戏相关 vba 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 脚本下载 广告代码 js框架 批处理 网页相关 源码下载 数据库 MsSql Mysql mariadb oracle DB2 mssql2008 mssql2005 SQLite PostgreSQL MongoDB Redis Access 数据库文摘 数据库其它 CMS dedecms ecshop z-blog UcHome UCenter 风讯CMS 科汛cms discuz 新云cms phpwind 动易cms phpcms 帝国cms WordPress drupal 其它cms 设计 photoshop教程 摄影教程 Fireworks教程 CorelDraw教程 Illustrator教程 Painter教程 Freehand教程 Indesign 设计素材 平面其它 微信相关 微信公众号 小程序 操作系统 bios 系统安装 系统进程 Windows系列 LINUX RedHat/Centos Ubuntu/Debian Fedora Solaris 麒麟系统 红旗Linux Unix/BSD 苹果MAC 注册表 其它系统 网站运营 建站经验 微信营销 网站优化 网站策划 网络赚钱 网络创业 站长故事 alexa域名 其它相关 网络安全 黑客教程 安全设置 杀毒防毒 病毒查杀 脚本攻防 黑客入侵 工具使用 业界动态 Exploit 漏洞分析 加密解密 手机黑客 安全其它 在线手册 网页制作 脚本编程 数据库相关 软件编程 系统相关 其它相关 源码下载

友情链接申请加入

51CTO 上海魔艺客 猫鼬设计开发 Erlo网站开发 猫鼬设计工作室 新发现全球资讯 信息安全与IT资讯
爱开发联盟是国内专业的网站建设资源、脚本编程学习类网站,提供asp、php、asp.net、javascript、jquery、vbscript、dos批处理、网页制作、网络编程、网站建设等编程资料。让开发变得简单起来!

283882409