AutoHotkey如何隐藏运行其他程序

AutoHotkey如何隐藏运行其他程序

 

1、运行记事本

Run,notepad

 

2、隐藏运行记事本

Run,notepad,,Hide

 

3、运行RaiDrive  ver  1.3.8

Run,C:Program FilesOpenBoxLabRaiDriveRaiDrive.exe

 

4、隐藏运行RaiDrive  ver  1.3.8失败

Run,C:Program FilesOpenBoxLabRaiDriveRaiDrive.exe,,Hide

分析失败原因

Run中的Hide只在很短的时间之内有效,启动时间比较长的程序就会错过Hide时机

AutoHotkey已经发出Hide动作但是目标窗口还没有创建完毕,

等目标窗口创建完毕之后AutoHokey就不在补做Hide动作了,

因为AutoHotkey以为已经Hide成功了,其实Hide目标不存在,没有Hide成功

 

5、改进隐藏代码,这次终于成功了

Run,C:Program FilesOpenBoxLabRaiDriveRaiDrive.exe,,Hide
WinWait,ahk_exe RaiDrive.exe
WinHide,ahk_exe RaiDrive.exe

6、进一步改进隐藏代码

Run,C:Program FilesOpenBoxLabRaiDriveRaiDrive.exe,,Hide
WinWait,ahk_exe RaiDrive.exe,,9
WinHide,ahk_exe RaiDrive.exe

7、由于没有能力分析 AutoHotkey 的Run,,,Hide代码段落的实现源代码原理所以只能改进到此了

#NoEnv
#SingleInstance Ignore
#Persistent
global i
i:=1
Run,C:Program FilesOpenBoxLabRaiDriveRaiDrive.exe,,Hide
SetTimer,HideRaiDrive,10
return
HideRaiDrive()
{
	WinHide,ahk_exe RaiDrive.exe
	if(i>500)
	{
		SetTimer,HideRaiDrive,Delete
		ExitApp
	}
i++
}

给TA捐赠
共{{data.count}}人
人已捐赠
其他

RAID 1 群晖存储池如何远程无损降级为Basic

2021-3-30 17:50:43

其他

批量新建Synology群晖NAS网络存储服务器的RaiDrive映射虚拟磁盘根目录分类文件夹批处理脚本

2021-3-31 9:48:29

2 条回复 A文章作者 M管理员
  1. aahk

    #NoEnv
    #SingleInstance Ignore
    #Persistent
    global i
    i:=1
    Run,C:Program FilesOpenBoxLabRaiDriveRaiDrive.exe,,Hide
    SetTimer,HideRaiDrive,10
    return
    HideRaiDrive()
    {
    WinHide,ahk_exe RaiDrive.exe
    if(i>500)
    {
    SetTimer,HideRaiDrive,Delete
    ExitApp
    }
    i++
    }

  2. aahk

    #NoEnv
    #SingleInstance Ignore
    #Persistent
    global i
    i:=1
    Run,C:/Program Files/OpenBoxLab/RaiDrive/RaiDrive.exe,,Hide
    SetTimer,HideRaiDrive,10
    return
    HideRaiDrive()
    {
    WinHide,ahk_exe RaiDrive.exe
    if(i>500)
    {
    SetTimer,HideRaiDrive,Delete
    ExitApp
    }
    i++
    }

个人中心
购物车
优惠劵
有新私信 私信列表
搜索