西红柿面 发表于 2009-8-18 10:22:39

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

我需要这样的一个工具,它的功能包括3个(1,修改注册表的值.2,运行一段程序3,重启电脑)当电脑重新启动之后,循环执行之前的操作,但是修改的注册表值是另外一个.我一共需要修改4个注册表的值,也就是循环四次.

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

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

谢谢大家!

afan 发表于 2009-8-18 13:54:21

每次运行之后写入一个ini或注册表,以此来给下次运行提供条件
1,Shutdown(6) ;重启
2, 先将脚本快捷方式放到启动文件夹下或修改注册表run项;读取之前的ini或注册表来判断执行哪一步

西红柿面 发表于 2009-8-18 14:35:50

本帖最后由 西红柿面 于 2009-8-18 16:08 编辑

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

-----鼠标不好控制,我还是改成键盘操作了,问题解决.

afan 发表于 2009-8-18 14:42:09

ControlClick ( "标题", "文本", 控件ID , "right")

西红柿面 发表于 2009-8-18 15:20:03

本帖最后由 西红柿面 于 2009-8-18 15:51 编辑

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

------忽略这个问题吧,是我的失误.

afan 发表于 2009-8-18 15:46:47

不懂?你这是?

西红柿面 发表于 2009-8-18 16:07:40

继续:
给屏幕截屏,然后存为png格式的图片,怎么做比较好?

我自己的思路是,send printscreent, run mspaint然后把图粘贴进去,然后保存.我觉得这个方法挺麻烦的.

afan 发表于 2009-8-18 16:14:32

#Include <ScreenCapture.au3>
_ScreenCapture_Capture(@ScriptDir & '\1.png')捕捉全屏保存为 1.png 文件

西红柿面 发表于 2009-8-19 16:44:46

继续:

今天遇到一个新问题,由于在vista上和xp上要分开处理,用什么函数判断操作系统的版本呢?

crazy715 发表于 2009-8-19 16:47:59

@OSType,一个宏,返回的是WIN_XP,WIN_VISTA
然后可以用IF判断如何操作了

西红柿面 发表于 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,哈哈

afan 发表于 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

bing614 发表于 2009-8-19 18:36:36

哈哈!朋友们都很热心。:face (29):
页: [1]
查看完整版本: 求教一个自动化小工具的思路及代码