Autohotkey 中文论坛

完整版: 怎么获取子窗口的ID?
你目前正在浏览的是简化版. 请点击这里浏览完整版
执行 nircmd 的命令 nircmd win child class "SciCalc" hide id 128,计算器里的数字4按钮就会隐藏掉。这个“128“是怎么获取的?

[attach]312[/attach]

知道了。用 spy++ 可以获取(之前我找了好久都没找到,今天刚才又找到了...)。spy++ 获取的控件ID是十六进制,这里说的数字4按钮的ID是80,转为十进制就是128了。哦也。

[ 本帖最后由 tireless 于 2008-9-19 17:53 编辑 ]
spy++ 只能获取 ClassNN 吧,怎么能直接获取到 控件 ID 呢?
那些叫控件,不叫子窗口。。。
[attach]314[/attach]


可以叫子窗口吧,你看图上面不是说”窗口标题“么?

[ 本帖最后由 tireless 于 2008-9-19 19:44 编辑 ]
应该叫控件,不叫子窗口
nircmd 是什么东西? 隐藏控件 AHK 直接就可以实现:
Control,Hide,,Button6,计算器
NirCmd 是一个命令行工具,一个非常强大的命令行工具,仅 28.5 KB。功能太多太强大了...
(弹出/关闭光驱、音量、剪贴板、注册表、服务、窗口、创建快捷方式、关闭显示器、设置分辨率、修改文件时间、清空回收站、关闭/结束进程、发送按键、点击按钮、移动指针、转换图片/截图、刷新shell、刷新系统、网络连接、等待、关机、对话框... ...)

nircmd 所在的网站 http://www.nirsoft.net 里面的软件都小巧精悍,大多支持命令行。用过他的软件的人都会说好。作者本人的名字是 Nir Sofer

[ 本帖最后由 tireless 于 2008-9-19 21:33 编辑 ]
这些都是 AHK 的一些功能!
可以用 AHK 做一个 NirCmd
AutoHotKey 的 wiki 里都有推荐呢。
http://www.autohotkey.com/wiki/index.php...ies#Nircmd
貌似你离题了...我说 NirCmd 很强大,你说 AutoHotKey 都有这些功能,我说 AutoHotKey 的 wiki 里的都有推荐 NirCmd,对,这也不能说明什么。

我认为,我们用脚本编写然后编译的 exe,执行效率肯定不及用高级语言写出来的 NirCmd,且还不说编译后的大小。

你太偏心了....AutoHotKey 脚本是强大的,命令行工具是小巧(高效)方便的。

-------------------------------------------------------
期待 AutoHotKey 编译脚本为 exe 的时候采用汇编,不过 AutoHotKey 编写者说这难度太大了。这个愿望非常振奋人心,却遥不可及...

Compiled script (ahk2exe) smallest size vs. best performance
引用:Ideally, scripts should be compiled to include code only for the commands they actually use. However, this seems too difficult and impractical to be worth it.
Google 翻译:
引用:最理想的是,脚本应汇编,包括代码只用于命令他们实际使用。然而,这似乎太困难和不切实际的值得。

[ 本帖最后由 tireless 于 2008-9-20 08:02 编辑 ]
:lol 说着玩的! AHK 的运行效率是比较低,不过今天硬件这么强大,不是很复杂的数学运算,还是觉察不出的!
你可以用 FileInstall 把那个小工具和 AHK 打包在一起,使用就更方便了。

你曲解作者的意思了。他是在讨论如何缩编译后程序的大小
Ideally, scripts should be compiled to include code only for the commands they actually use. However, this seems too difficult and impractical to be worth it.
最理想的是,脚本应该在被编译时(指的是 AHK2EXE),只包含脚本实际用到的命令(指的是 AutoHotkeySC.bin 不一定要包含所有的功能)。然而这看起来比较困难并且有些不值得!
参考网址