设置激活或者隐藏 MasterSeeker 窗口的快捷键为 F3-2022年10月17日

 

设置激活或者隐藏 MasterSeeker 窗口的快捷键为 F3-2022年10月17日

; 此脚本从此行开始
;/*
;===========================================
; 设置激活或者隐藏 MasterSeeker 窗口的快捷键为 F3
;   (F3键位于Esc键右边第3个键)
;
; 脚本作者 : feishu cn
;
; 用法: (需要最新版本 AHK v1.1.31+)
; 1. 到MasterSeeker官方网站下载并安装MasterSeeker
; http://www.master-seeker.com/
; 2. 将本脚本保存为"MasterSeeker-F3.ahk"并复制到C:/Prog/MasterSeeker文件夹中
; 3. 使用 Maye 来设置 MasterSeeker-F3.ahk 的热键
;  https://www.lanzoux.com/b0bqwqjvg
;  https://blog.arae.cc/post/25830.html
;  https://github.com/25H/Maya/releases/
; 升级更新历史:
; 版本1.0 2022年2月24日 新建 创建此AutoHotkey脚本并测试通过F4热键功能
;
; 由于Everything的结果显示速度没有MasterSeeker快,所以改用MasterSeeker
; MasterSeeker能够在索引完成之前显示部分搜索结果,
; Everything不能在搜索完成之前显示搜索结果,
; MasterSeeker的最大缺点是需要依赖 .NET Framework 2.0 才能运行,
; MasterSeeker不像有些AutoHotkey或者Delphi编译的程序那样
; 无需依赖大量DLL文件或者运行库就可以直接运行。
;
; 由于AutoHotkey的Hotkey语句设置的热键必需在任务栏或者桌面进程激活时才有效,
; 所以请使用Maye来设置 MasterSeeker 的热键
; https://www.autoahk.com/archives/43181
; 我的腾讯QQ电子邮箱地址是  595076941@qq.com
;
; 我在批量搜索文件正文内容时会用到 http://www.likasoft.com/cn/ 出品的Archivarius 3000 (4.79)
; 我在批量搜索文件正文内容时也会用到 https://www.mythicsoft.com/ 出品的
; FileLocator Pro Version 2022 - Build 3341 付费零售专业版永久完整功能版
; 但是Archivarius 3000和FileLocator Pro这两款软件需要预先创建索引数据库文件才能实现高速全文搜索
; 有时候我只需根据文件名称搜索文件,无需搜索文件的正文内容,此时我会使用MasterSeeker来搜索文件,
; 对MasterSeeker的搜索结果按照文件大小排序的快捷键是 Ctrl + 3,
; MasterSeeker的最大优点是能够在索引完成之前显示一部分搜索结果,
; MasterSeeker的最大缺点是需要依赖 .NET Framework 2.0 才能运行
;===========================================
;*/
;等待指定标题窗口出现
; WinWait,MasterSeeker ahk_class MasterSeeker ahk_exe MasterSeeker.exe
; 运行 MasterSeeker 、激活搜索输入框并调整 MasterSeeker 的窗口位置
#SingleInstance,force
loop,5
{
	DetectHiddenWindows,On
	Sleep,5
	IfWinExist,QQ595076941_MasterSeeker
		ExitApp
}
Gui, Show, Hide,QQ595076941_MasterSeeker
; 强制自身以 ansi + 管理员权限 运行。
runwith("","ansi")
#Persistent
; #NoTrayIcon
DetectHiddenWindows,On
SetTitleMatchMode,2
ActivateOrHideWindowHotkey_MasterSeeker()
return
ActivateOrHideWindowHotkey_MasterSeeker()
{
	;等待指定标题窗口出现
	; WinWait, MasterSeeker 1.5.1 by DxCK ahk_class WindowsForms10.Window.8.app.0.218f99c
	IfWinActive,MasterSeeker 1.5.1 by DxCK ahk_class WindowsForms10.Window.8.app.0.218f99c
	{
		WinMinimize,MasterSeeker 1.5.1 by DxCK ahk_class WindowsForms10.Window.8.app.0.218f99c
		ExitApp
	}
	else
	{
		IfWinNotExist,MasterSeeker 1.5.1 by DxCK ahk_class WindowsForms10.Window.8.app.0.218f99c
		{
			Run,C:\Prog\MasterSeeker\MasterSeeker.exe
		}
		; Send,#{Right}
		; WinMove,ahk_class 窗口类名,窗口文本,窗口左上角与屏幕上边沿的距离,窗口左上角与屏幕左边沿的距离,窗口左右宽度,窗口上下高度
		loop,3
		{
			WinActivate,MasterSeeker 1.5.1 by DxCK ahk_class WindowsForms10.Window.8.app.0.218f99c
			WinWaitActive,MasterSeeker 1.5.1 by DxCK ahk_class WindowsForms10.Window.8.app.0.218f99c,,5
			; 改变指定窗口的位置和/或大小.
			WinMove,MasterSeeker 1.5.1 by DxCK ahk_class WindowsForms10.Window.8.app.0.218f99c,,A_ScreenWidth/2,20,A_ScreenWidth/2-10,A_ScreenHeight-90
			loop,9
			{
				Sleep,10
				; 设置输入焦点到窗口的指定控件上.
				ControlFocus,Filename,MasterSeeker 1.5.1 by DxCK ahk_class WindowsForms10.Window.8.app.0.218f99c
			}
		}
		ExitApp
	}
}
; 强制自身进程以 管理员权限 或 普通权限 或 ANSI 或 U32 或 U64 版本运行。
; 例1: runwith("admin","u32") 强制自身以 u32 + 管理员权限 运行。
; 例2: runwith("","ansi")     强制自身以 ansi 版本运行(权限不变)。
; 例3: runwith("normal")      强制自身以 普通权限 运行(版本不变)。
RunWith(RunAsAdmin:="Default", ANSI_U32_U64:="Default")
{
	; 格式化预期的模式
	switch, RunAsAdmin
	{
		case "Normal","Standard","No","0":                RunAsAdmin:=0
		case "Admin","Yes","1":                                                                RunAsAdmin:=1
		case "default":                                                                                                RunAsAdmin:=A_IsAdmin
default:                                                                                                                        RunAsAdmin:=A_IsAdmin
	}
switch, ANSI_U32_U64
{
	case "A32","ANSI","A":                                                                ANSI_U32_U64:="AutoHotkeyA32.exe"
	case "U32","X32","32":                                                                ANSI_U32_U64:="AutoHotkeyU32.exe"
	case "U64","X64","64":                                                                ANSI_U32_U64:="AutoHotkeyU64.exe"
	case "default":                                                                                                ANSI_U32_U64:="AutoHotkey.exe"
default:                                                                                                                        ANSI_U32_U64:="AutoHotkey.exe"
	}
; 获取传递给 “.ahk” 的用户参数(不是 /restart 之类传递给 “.exe” 的开关参数)
for k, v in A_Args
{
	if (RunAsAdmin=1)
	{
		; 转义所有的引号与转义符号
		v:=StrReplace(v, "\", "\\")
		v:=StrReplace(v, """", "\""")
		; 无论参数中是否有空格,都给参数两边加上引号
		; Run       的内引号是 "
		ScriptParameters  .= (ScriptParameters="") ? """" v """" : A_Space """" v """"
	}
	else
	{
		; 转义所有的引号与转义符号
		; 注意要转义两次 Run 和 RunAs.exe
		v:=StrReplace(v, "\", "\\")
		v:=StrReplace(v, """", "\""")
		v:=StrReplace(v, "\", "\\")
		v:=StrReplace(v, """", "\""")
		; 无论参数中是否有空格,都给参数两边加上引号
		; RunAs.exe 的内引号是 \"
		ScriptParameters .= (ScriptParameters="") ? "\""" v "\""" : A_Space "\""" v "\"""
	}
}
; 判断当前 exe 是什么版本
if (!A_IsUnicode)
	RunningEXE:="AutoHotkeyA32.exe"
else if (A_PtrSize=4)
	RunningEXE:="AutoHotkeyU32.exe"
else if (A_PtrSize=8)
	RunningEXE:="AutoHotkeyU64.exe"
; 运行模式与预期相同,则直接返回。 ANSI_U32_U64="AutoHotkey.exe" 代表不对 ahk 版本做要求。
if (A_IsAdmin=RunAsAdmin and (ANSI_U32_U64="AutoHotkey.exe" or ANSI_U32_U64=RunningEXE))
	return
; 如果当前已经是使用 /restart 参数重启的进程,则报错避免反复重启导致死循环。
else if (RegExMatch(DllCall("GetCommandLine", "str"), " /restart(?!\S)"))
{
	预期权限:=(RunAsAdmin=1) ? "管理员权限" : "普通权限"
	当前权限:=(A_IsAdmin=1)  ? "管理员权限" : "普通权限"
	ErrorMessage=
	(LTrim
		预期使用: %ANSI_U32_U64%
		当前使用: %RunningEXE%
		预期权限: %预期权限%
		当前权限: %当前权限%
		程序即将退出。
	)
	MsgBox 0x40030, 运行状态与预期不一致, %ErrorMessage%
	ExitApp
}
else
{
	; 获取 AutoHotkey.exe 的路径
	SplitPath, A_AhkPath, , Dir
	if (RunAsAdmin=0)
	{
		; 强制普通权限运行
		switch, A_IsCompiled
		{
			; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。
			; 工作目录不用单独指定,默认使用 A_WorkingDir 。
			case, "1": Run, RunAs.exe /trustlevel:0x20000 "\"%A_ScriptFullPath%\" /restart %ScriptParameters%",, Hide
default: Run, RunAs.exe /trustlevel:0x20000 "\"%Dir%\%ANSI_U32_U64%\" /restart \"%A_ScriptFullPath%\" %ScriptParameters%",, Hide
	}
}
else
{
	; 强制管理员权限运行
	switch, A_IsCompiled
	{
		; %A_ScriptFullPath% 必须加引号,否则含空格的路径会被截断。%ScriptParameters% 必须不加引号,因为构造时已经加了。
		; 工作目录不用单独指定,默认使用 A_WorkingDir 。
		case, "1": Run, *RunAs "%A_ScriptFullPath%" /restart %ScriptParameters%
default: Run, *RunAs "%Dir%\%ANSI_U32_U64%" /restart "%A_ScriptFullPath%" %ScriptParameters%
	}
}
ExitApp
}
}
; AutoHotkey热键有时候会失效,点击任务栏才恢复热键,所以请使用Maye来设置 MasterSeeker 的热键
; https://www.autoahk.com/archives/43181
; 我的腾讯QQ电子邮箱地址是  595076941@.qqcom
; 此脚本到此行结束

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

使用GDI+库和Barcoder库生成二维码的例子

2022-10-17 8:27:19

其他

打开移动固态硬盘中的当前文件夹的BAT批处理脚本文件-2022年10月17日

2022-10-18 10:49:33

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索