无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3314|回复: 8
打印 上一主题 下一主题

[分享] Win10PE显示桌面的AHK脚本……[未编译 有源代码]

[复制链接]
跳转到指定楼层
1#
发表于 2017-5-27 13:35:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 求道者 于 2017-5-27 13:37 编辑

显示桌面.7z (462.8 KB, 下载次数: 42)
http://wuyou.net/forum.php?mod=viewthread&tid=387383
的AHK版复刻
现在暂时还没写资源管理器重启监视……
姑且测试了一下
好像可以用……
虽说楼主是在求AutoIt3的复刻……
但是我不会啊
AHK的SendMessage这种高级功能我还是第一次用
能弄出来就谢天谢地了
AHK和autoIT比也没差……
AHK还是基于GNU GPLv2开源
  1. SendMessage, 1466, , , , ahk_class Shell_TrayWnd
复制代码
就一行
2#
 楼主| 发表于 2017-5-27 19:34:02 | 只看该作者
本帖最后由 求道者 于 2017-5-27 19:51 编辑

说好的监视资源管理器
开始是监视了一发Explorer.exe
调试的时候 发现有时候就算执行了代码也没卵用
想了想还是用AHK的法子
监视窗口吧
意外的效果非常好……
就是这代码感觉很难看……
不优雅
还用上了高级语言应该尽量避免的Goto

  1. #NoTrayIcon ;隐藏图标
  2. if not A_IsAdmin ;查询是否具有管理员权限
  3. {
  4.    Run *RunAs "%A_AhkPath%"  ; 需要 v1.0.92.01+
  5.    ExitApp
  6. }
  7. top: ;标签top
  8. WinWait, ahk_class Shell_TrayWnd ;等待ahk_class为Shell_TrayWnd的任务栏窗口开启
  9. SendMessage, 1466, , , , ahk_class Shell_TrayWnd ;什么用不知道但是用SendMessage向ahk_class为Shell_TrayWnd的任务栏窗口发送1466的Msg
  10. WinWaitClose, ahk_class Shell_TrayWnd ;等待ahk_class为Shell_TrayWnd的任务栏窗口关闭
  11. Goto, top ;跳转到名为top的标签 循环用
复制代码
回复

使用道具 举报

3#
发表于 2017-5-27 22:20:17 来自手机 | 只看该作者
没编译谈个毛线?

点评

点一下解压出来的exe就行 脚本要编译条冒险  详情 回复 发表于 2017-5-27 22:31
回复

使用道具 举报

4#
 楼主| 发表于 2017-5-27 22:31:51 | 只看该作者
359303267 发表于 2017-5-27 22:20
没编译谈个毛线?


点一下解压出来的exe就行
脚本要编译条毛线
回复

使用道具 举报

5#
发表于 2017-5-28 07:00:22 来自手机 | 只看该作者
楼主好人,为了方便大家自己修改提供源码,居然有人不领情。讽刺楼主的兄弟,你知道ahk怎么用吗?你知道它的编译多简单吗?论坛和谐靠大家。
回复

使用道具 举报

6#
发表于 2017-6-14 15:12:37 | 只看该作者
AU3还没搞清,又出来一个AHK。真的学不完啊。

点评

功能上差不多…… 我没有特别需要自动化的需求 所以一直使用的AHK…… 不算难的东西  详情 回复 发表于 2017-6-14 18:18
回复

使用道具 举报

7#
 楼主| 发表于 2017-6-14 18:18:00 | 只看该作者
xmzhqw 发表于 2017-6-14 15:12
AU3还没搞清,又出来一个AHK。真的学不完啊。

功能上差不多……
我没有特别需要自动化的需求
所以一直使用的AHK……
不算难的东西
回复

使用道具 举报

8#
 楼主| 发表于 2017-6-14 18:19:34 | 只看该作者
嘛 有人回复那我就顺便贴出改进后的源码吧
  1. #NoTrayIcon ;隐藏图标
  2. if not A_IsAdmin ;查询是否具有管理员权限
  3. {
  4.    Run *RunAs "%A_AhkPath%"  ; 需要 v1.0.92.01+
  5.    ExitApp
  6. }
  7. OnMessage(DllCall("RegisterWindowMessage", Str, "TaskbarCreated"), "WM_TASKBARCREATED") ;当接收到消息TaskbarCreated时调用函数WM_TASKBARCREATED
  8. WM_TASKBARCREATED() ;函数WM_TASKBARCREATED
  9. {
  10.         SendMessage, 1466, , , , ahk_class Shell_TrayWnd ;什么原理不知道 但是用SendMessage向ahk_class为Shell_TrayWnd的任务栏窗口发送1466的Msg
  11. }
复制代码

精简了不少

评分

参与人数 1无忧币 +5 收起 理由
freesoft00 + 5

查看全部评分

回复

使用道具 举报

9#
发表于 2024-1-29 15:26:05 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-1 13:39

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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