找回密码
 加入
搜索
查看: 2543|回复: 13

求教一个自动化小工具的思路及代码

[复制链接]
发表于 2009-8-18 10:22:39 | 显示全部楼层 |阅读模式
我需要这样的一个工具,它的功能包括3个(1,修改注册表的值.2,运行一段程序3,重启电脑)当电脑重新启动之后,循环执行之前的操作,但是修改的注册表值是另外一个.我一共需要修改4个注册表的值,也就是循环四次.

目前,我遇到的困难是2个:
第一,我如何自动的重启电脑?目前我搜索到的可以调用shutdown -r 的BAT来实现,但是我不知道autoit自己有没有更好的办法?

第二, 电脑重启之后,如何让我的代码自动运行起来? 自动运行起来之后,还需要自己判断这次需要修改的注册表是那个,这个如何实现?

谢谢大家!
发表于 2009-8-18 13:54:21 | 显示全部楼层
每次运行之后写入一个ini或注册表,以此来给下次运行提供条件
1,  Shutdown(6) ;重启
2, 先将脚本快捷方式放到启动文件夹下或修改注册表run项;读取之前的ini或注册表来判断执行哪一步

评分

参与人数 1金钱 +1 收起 理由
西红柿面 + 1

查看全部评分

 楼主| 发表于 2009-8-18 14:35:50 | 显示全部楼层
本帖最后由 西红柿面 于 2009-8-18 16:08 编辑

具体遇到的小问题:
如何模拟点鼠标的右键 ,然后在弹出的菜单中选择?

-----鼠标不好控制,我还是改成键盘操作了,问题解决.
发表于 2009-8-18 14:42:09 | 显示全部楼层
ControlClick ( "标题", "文本", 控件ID , "right")

评分

参与人数 1金钱 +1 收起 理由
西红柿面 + 1

查看全部评分

 楼主| 发表于 2009-8-18 15:20:03 | 显示全部楼层
本帖最后由 西红柿面 于 2009-8-18 15:51 编辑

继续:
我在创建了一个文件名后,写了send(host/0/name),但是居然每次都写t/0/name,丢掉了hos,这是为什么呢

------忽略这个问题吧,是我的失误.
发表于 2009-8-18 15:46:47 | 显示全部楼层
不懂?你这是?
 楼主| 发表于 2009-8-18 16:07:40 | 显示全部楼层
继续:
给屏幕截屏,然后存为png格式的图片,怎么做比较好?

我自己的思路是,send printscreent, run mspaint然后把图粘贴进去,然后保存.我觉得这个方法挺麻烦的.
发表于 2009-8-18 16:14:32 | 显示全部楼层
#Include <ScreenCapture.au3>
_ScreenCapture_Capture(@ScriptDir & '\1.png')
捕捉全屏保存为 1.png 文件

评分

参与人数 1金钱 +1 收起 理由
西红柿面 + 1 谢谢

查看全部评分

 楼主| 发表于 2009-8-19 16:44:46 | 显示全部楼层
继续:

今天遇到一个新问题,由于在vista上和xp上要分开处理,用什么函数判断操作系统的版本呢?
发表于 2009-8-19 16:47:59 | 显示全部楼层
@OSType,一个宏,返回的是WIN_XP,WIN_VISTA
然后可以用IF判断如何操作了

评分

参与人数 1金钱 +1 收起 理由
西红柿面 + 1 @OSVersion Returns one of the followin

查看全部评分

 楼主| 发表于 2009-8-19 17:02:17 | 显示全部楼层
@OSVersion
Returns one of the following: "WIN_2008", "WIN_VISTA", "WIN_2003", "WIN_XP", "WIN_2000".
 楼主| 发表于 2009-8-19 17:29:33 | 显示全部楼层
本帖最后由 西红柿面 于 2009-8-19 17:46 编辑

继续:

这次的问题难一些,我需要控制一个treeview,里面有好多的节点,我怎么通过名字找到我要操作的节点,然后控制它?它的结构和windows的资源管理器很类似。

我贴了一个图,方便大家了解我的问题,就比如,我每次都需要展开c盘,然后找到program files。我不想控制键盘来实现,我希望直接搜索到program files然后定位。

注意:上面的图只是例子,我不是真的要找program files,哈哈

本帖子中包含更多资源

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

×
发表于 2009-8-19 17:40:58 | 显示全部楼层
_GUICtrlTreeView_FindItem 基于文本获取项目

#Include <GuiTreeView.au3>
_GUICtrlTreeView_FindItem($hWnd, $sText[, $fInStr = False[, $hStart = 0]])


参数
$hWnd控件句柄
$sText要搜索的文本
$fInStr如果为真, 文本可在项目文本的任意处.
$hStart开始进行搜索的项目. 如果为0, 从根项目开始.
返回值
成功: 首个包含项目文本的项目的句柄
项目: 0

评分

参与人数 1金钱 +1 收起 理由
西红柿面 + 1

查看全部评分

发表于 2009-8-19 18:36:36 | 显示全部楼层
哈哈!朋友们都很热心。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-22 22:39 , Processed in 0.079213 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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