註冊無需視窗全域性常用熱鍵快捷鍵 2024年8月11日

QQ595076941發表於2024-08-11

註冊無需視窗全域性常用熱鍵快捷鍵 2024年8月11日

註冊無需視窗全域性常用熱鍵快捷鍵 2024年8月11日

REM  C:\Prog\_一鍵打包成exe\一鍵打包成exe.bat
REM  此批處理指令碼檔案最後編輯日期  2022年9月23日
set /a y=%date:~,4%,mo=1%date:~5,2%%%100,d=1%date:~8,2%%%100,h=%time:~,2%,m=1%time:~3,2%%%100,s=1%time:~6,2%%%100
rem 月前新增0
if %mo%==0 set mo=00
if %mo%==1 set mo=01
if %mo%==2 set mo=02
if %mo%==3 set mo=03
if %mo%==4 set mo=04
if %mo%==5 set mo=05
if %mo%==6 set mo=06
if %mo%==7 set mo=07
if %mo%==8 set mo=08
if %mo%==9 set mo=09
rem 日前新增0
if %d%==0 set d=00
if %d%==1 set d=01
if %d%==2 set d=02
if %d%==3 set d=03
if %d%==4 set d=04
if %d%==5 set d=05
if %d%==6 set d=06
if %d%==7 set d=07
if %d%==8 set d=08
if %d%==9 set d=09
rem 小時前新增0
if %h%==0 set h=00
if %h%==1 set h=01
if %h%==2 set h=02
if %h%==3 set h=03
if %h%==4 set h=04
if %h%==5 set h=05
if %h%==6 set h=06
if %h%==7 set h=07
if %h%==8 set h=08
if %h%==9 set h=09
rem 分前新增0
if %m%==0 set m=00
if %m%==1 set m=01
if %m%==2 set m=02
if %m%==3 set m=03
if %m%==4 set m=04
if %m%==5 set m=05
if %m%==6 set m=06
if %m%==7 set m=07
if %m%==8 set m=08
if %m%==9 set m=09
rem 秒前新增0
if %s%==0 set s=00
if %s%==1 set s=01
if %s%==2 set s=02
if %s%==3 set s=03
if %s%==4 set s=04
if %s%==5 set s=05
if %s%==6 set s=06
if %s%==7 set s=07
if %s%==8 set s=08
if %s%==9 set s=09
rem echo 當前時間為:%y%年%mo%月%d%日%h%時%m%分%s%秒
del C:\Prog\Everything\Everything.db                                                                                                        
if exist "C:\Program Files (x86)\WinRAR\WinRAR.exe" (
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a -ag-YYYY.MM.DD -iiconico.ico -m5 -r -sfx -z自解壓指令碼命令.txt ..\..\Prog-D-MD5-%y%.%mo%.%d%_%h%-%m%-%s%-.exe ..\*.*
)else (
"C:\Program Files\WinRAR\WinRAR.exe" a -ag-YYYY.MM.DD -iiconico.ico -m5 -r -sfx -z自解壓指令碼命令.txt ..\..\Prog-D-MD5-%y%.%mo%.%d%_%h%-%m%-%s%-.exe ..\*.*
)
rem  我的騰訊QQ電子郵箱地址是  595076941@qq.com
 

;下面的註釋包含自解壓指令碼命令
;Path=解壓縮路徑
;Presetup=解壓縮前執行
;Setup=解壓縮後執行
;Silent=靜默方式:1-隱藏全部      2-隱藏啟動對話方塊      空著不設定-顯示全部
;Overwrite=覆蓋方式:1-覆蓋全部檔案      2-跳過已存在的檔案      空著不設定-覆蓋前詢問
;請選擇正確的圖示並儲存正確的配置檔案  我的騰訊QQ電子郵箱地址是  595076941@qq.com
;rem  我的騰訊QQ電子郵箱地址是  595076941@qq.com
Path=D:\Prog\
Setup=D:\Prog\_RegHotkey\Setup.bat
Silent=2
Overwrite=2
 

rem E:\Build\Autorun-Hotkey-Lnk\Autorun-Hotkey-Lnk\Setup.bat
rem  我的騰訊QQ電子郵箱地址是  595076941@qq.com
rem 設定電腦開機時跟隨系統自動啟動程式RegHotkey.exe和MayeLite.exe
regedit.exe /s D:\Prog\_RegHotkey\RegAutorun.reg
rem 啟動程式RegHotkey.exe和MayeLite.exe
start D:\Prog\_RegHotkey\RegHotkey.exe
D:
CD D:\Prog\MayeLite
start D:\Prog\MayeLite\MayeLite.exe
D:
CD D:\Prog\AutoHotkey\
start D:\Prog\AutoHotkey\Silent_Setup.bat
exit
rem regedit.exe /s D:\Prog\_RegHotkey\RegAutorun2.reg
D:
CD D:\Prog\GoodSync\
rem start D:\Prog\GoodSync\RunGoodSync.bat
rem 原來的檔案是“Maye Lite.exe”現在我把1個空格刪除了,檔名改成“MayeLite.exe”
rem start D:\Prog\MayeLite\MayeLite.exe
 

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"RegHotkey"="D:\\Prog\\_RegHotkey\\RegHotkey.exe" 
"Maye"="D:\\Prog\\Maye\\RunMayeAsAdmin.exe"
 

;-----------------------------------
; 此指令碼從此行開始
; 設定顯示或者隱藏TC和MasterSeeker的快捷鍵
; E:\Build\Autorun-Hotkey-Lnk\RegHotkey.ahk
; 按 Win + Z 終止此指令碼的執行
#z::ExitApp
	; 強制自身以 ansi + 管理員許可權 執行,編譯此指令碼時選擇 ANSI 32位 。
	runwith("admin","ansi")
	;-----------------------------------
	; 多程序熱鍵——快速響應隨時中止 v2.1  By FeiYue
	;
	; 1、一般的多程序熱鍵,每次按熱鍵都會重新啟動一個程序
	;    這會造成熱鍵響應延遲,和頻繁啟動、退出程序。
	;    這個庫利用執行緒疊加和雙程序交替重啟的設計解決了上述問題
	;
	; 2、Go.Go("標籤名或函式名", 序號可省略)  啟動子程序
	;    Go.Go("清理標籤或為空", 序號可省略)  停止子程序
	;-----------------------------------
	Class Go {  ;// 類開始
		init() {
	static h:=Go.init()
#NoEnv
#NoTrayIcon
#SingleInstance force
#MaxThreads 255
	if (A_Args.Length()>0)
	{
		Suspend, On
		flag:="Ahk_Sub"
		s:=RegExReplace(A_Args[1], "\s")
		this.WinKill(flag "[" s "]")
		r:=this.Menu_Go.Bind(this)
		Menu, MyMenu, Add, Run, % r
		Gui, %flag%: Add, Text, 0x80 -Wrap
		Gui, %flag%: Menu, MyMenu
		Gui, %flag%: Show, Hide, % flag "[" s "]"
		return
Ahk_SubGuiClose:
	Critical
	WinMenuSelectItem,,, 1&
return
}
else
{
	flag:="Ahk_Main"
	this.WinKill(flag)
	Gui, %flag%: Show, Hide, % flag
	OnExit(this.WinKill.Bind(this,"Ahk_Sub"))
	Menu, Tray, Icon
}
}
Menu_Go() {
	ControlGetText, s
	s:=Trim(s)
	if (s="Reload")
	{
		WinGetTitle, s
		this.RunAhk(RegExReplace(s,"Ahk_Sub\[|]"))
		ExitApp
	}
	if IsLabel(s)
		gosub, %s%
	else if IsFunc(s)
		%s%()
	loop
		Sleep, 60000
}
WinKill(flag) {
	DetectHiddenWindows, On
	WinGet, list, List, % flag " ahk_class AutoHotkeyGUI"
	loop % list
		IfWinExist, % "ahk_id " list%A_Index%
		{
			WinGet, pid, PID
			WinClose, ahk_class AutoHotkey ahk_pid %pid%,, 3
			IfWinExist,,, Process, Close, %pid%
		}
	DetectHiddenWindows, Off
}
RunAhk(s="") {
	if (A_IsCompiled)
		Run, "%A_ScriptFullPath%" /f %s%
	else
		Run, "%A_AhkPath%" /f "%A_ScriptFullPath%" %s%
}
; 一個程序疊加超過100個執行緒就切換另一個程序,原程序重啟
Go(LabelOrFuncName="", index=0) {
	static arr:=[]
	DetectHiddenWindows, On
	SetFormat, IntegerFast, d
	index:=Floor(index), (!arr[index] && arr[index]:=[0,0])
		, ii:=Floor(arr[index][1]), jj:=Floor(arr[index][2])
		, tt:="Ahk_Sub[" index "_" jj "]"
	if (++ii>100)
	{
		IfWinExist, % tt
		{
			ControlSetText,, Reload
			WinClose
		}
		else
			this.RunAhk(index "_" jj)
		arr[index][2]:=jj:=!jj, ii:=1
			, tt:="Ahk_Sub[" index "_" jj "]"
	}
	arr[index][1]:=ii
	IfWinNotExist, % tt
	{
		this.RunAhk(index "_" jj)
		WinWait, % tt,, 3
	}
	IfWinExist, % tt
	{
		ControlSetText,, % LabelOrFuncName
		WinClose
	}
	DetectHiddenWindows, Off
}
}  ;// 類結束
;======== 下面開始設定快捷鍵 =========
;
;======== 關閉顯示器的快捷鍵為 Ctrl+ F12 鍵 =========
^F12::Go.Go("PowerOffDisplay")
PowerOffDisplay:
	Sleep,2000 ;暫停2秒,防止受鍵盤操作影響,關閉顯示器後又立即開啟。
	;~ 關閉顯示器
	SendMessage, 0x112, 0xF170, 2,, Program Manager
return
;
;======== 設定顯示或者隱藏 Total Commander 11.01 主視窗的快捷鍵為 ` 鍵 =========
;(`鍵即波浪鍵~,位於Esc鍵正下方,
; Total Commander 11.01使用支援按照“拼音首字母”序列篩選過濾檔案列表的增強版)
`::Go.Go("aaa")
aaa:
	; WinGetPos, , , W, ,Total Commander (x64) ahk_exe TotalCMD64.exe
	; if (WinActive("Total Commander (x64)" ahk_exe TotalCMD64.exe) and W>400)
	DetectHiddenWindows,On
	SetTitleMatchMode,2
	;等待指定標題視窗出現
	;WinWait, Total Commander (x64) 11.01 - User ahk_class TTOTAL_CMD ahk_exe TOTALCMD64.EXE, [軟體]  2.47
	IfWinActive,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
	{
		WinMinimize,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
	}
	else
	{
		WinShow,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
		WinGet, WinTCID, ID,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
		DllCall("SwitchToThisWindow", "UInt", WinTCID, "UInt", 1)
		WinActivate,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
		WinMove,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe,,0,0,A_ScreenWidth,A_ScreenHeight
		WinMaximize,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
		IfWinNotExist,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
		{
			IfWinNotExist,ahk_exe TOTALCMD64.EXE
			{
				IfExist,D:\Prog\TotalCMD\TotalCMD64.exe
				{
					Run,D:\Prog\TotalCMD\TotalCMD64.exe
					Go.Go()
					return
				}
				else
				{
					MsgBox,0,,找不到檔案 D:\Prog\TotalCMD\TotalCMD64.exe,5
					ExitApp
				}
			}
			SetTimer,WinActivateTC,Delete
			SetTimer,WinActivateTC,500
		}
	}
	Go.Go()
return
WinActivateTC()
{
	WinShow,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
	WinGet, WinTCID, ID,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
	DllCall("SwitchToThisWindow", "UInt", WinTCID, "UInt", 1)
	WinActivate,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
	WinMove,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe,,0,0,A_ScreenWidth,A_ScreenHeight
	WinMaximize,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
	IfWinActive,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
	{
		SetTimer,WinActivateTC,Delete
		Go.Go()
		return
	}
}
;
;======== 設定顯示或者隱藏 Total Commander 11.01 主視窗的快捷鍵為 ` 鍵 =========
;(`鍵即波浪鍵~,位於Esc鍵正下方,
; Total Commander 11.01使用支援按照“拼音首字母”序列篩選過濾檔案列表的增強版)
; 請在速度最快的硬碟分割槽根目錄下新建資料夾 filter-file-with-totalcmd 用於儲存整理好的子資料夾
; 資料夾 filter-file-with-totalcmd 中只能儲存子資料夾,嚴禁儲存檔案,
; 即使整理整頓清理後的收納專案只有一個檔案也要新建專用的子資料夾,子資料夾名應當包含主視窗標題的部分或全部(如果有標題的話)
/*
F8::Go.Go("bbb")
bbb:
DetectHiddenWindows,On
SetTitleMatchMode,2
;等待指定標題視窗出現
; WinWait, Total Commander (x64) 11.01 - User ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe, [hd0vol1-d
IfWinActive,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
{
WinMinimize,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
}
else
{
DriveList := "CDEFGHIJKLMNOPQRSTUVWXYZ"
loop,Parse,DriveList
{
IfExist,%A_LoopField%:\filter-file-with-totalcmd
{
IfExist,D:\Prog\TotalCMD\TotalCMD64.exe
{
; 啟用Total Commander視窗,並且將左邊的視窗設定為搜尋到的 filter-file-with-totalcmd 資料夾
Run,D:\Prog\TotalCMD\TotalCMD64.exe /O /L=%A_LoopField%:\filter-file-with-totalcmd
SetTimer,WinActivateTC2,Delete
break
}
else
{
MsgBox,0,,找不到檔案 D:\Prog\TotalCMD\TotalCMD64.exe,5
ExitApp
}
}
}
SetTimer,WinActivateTC,Delete
SetTimer,WinActivateTC2,500
}
Go.Go()
return
WinActivateTC2()
{
WinShow,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
WinGet, WinTCID2, ID,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
DllCall("SwitchToThisWindow", "UInt", WinTCID2, "UInt", 1)
WinActivate,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
WinMove,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe,,0,0,A_ScreenWidth,A_ScreenHeight
WinMaximize,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
IfWinActive,Total Commander (x64) 11.01 ahk_class TTOTAL_CMD ahk_exe TotalCMD64.exe
{
SetTimer,WinActivateTC2,Delete
Go.Go()
return
}
}
;
*/
;======== 設定顯示或者隱藏 MasterSeeker 主視窗的快捷鍵為 F3 鍵 =========
; (F3鍵位於鍵盤主鍵區數字鍵4正上方)
+space::Go.Go("ccc")
ccc:
	; WinGetPos, , , W, ,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
	; if (WinActive("MasterSeeker 1.5.1 by DxCK" ahk_exe MasterSeeker.exe) and W>700)
	IfWinActive,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
	{
		; WinHide,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
		WinMinimize,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
	}
	else
	{
		DetectHiddenWindows,On
		SetTitleMatchMode,2
		IfWinNotExist,ahk_exe MasterSeeker.exe
		{
			IfWinNotExist,MasterSeeker 1.5.1 by DxCK
			{
				IfWinNotExist,ahk_exe MasterSeeker.exe
				{
					IfWinNotExist,MasterSeeker 1.5.1 by DxCK
					{
						IfExist,D:\Prog\MasterSeeker\MasterSeeker.exe
						{
							Run,D:\Prog\MasterSeeker\MasterSeeker.exe
						}
						else
						{
							MsgBox,0,,找不到檔案 D:\Prog\MasterSeeker\MasterSeeker64.exe,5
							ExitApp
						}
					}
				}
			}
		}
		SetTimer,WinActivateMasterSeeker,Delete
		SetTimer,WinActivateMasterSeeker,500
	}
return
WinActivateMasterSeeker()
{
	WinShow,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
	WinGet, WinMSID, ID,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
	DllCall("SwitchToThisWindow", "UInt", WinMSID, "UInt", 1)
	WinActivate,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
	WinMove,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe,,0,0,A_ScreenWidth,A_ScreenHeight
	WinMaximize,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
	IfWinActive,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
	{
		loop,5
		{
			WinMove,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe,,A_ScreenWidth/2,20,A_ScreenWidth/2-10,A_ScreenHeight-90
			; 注意: MasterSeeker 的搜尋框控制元件的名是 Filename ,很奇怪,很神奇,
			; MasterSeeker 的搜尋框控制元件不是類名 MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe7,也不是類名 Edit1
			; ControlFocus,In Directory,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
			; 設定輸入焦點到視窗的指定控制元件上.
			ControlFocus,Filename,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
		}
		ControlSend,Filename,{LControl Down},MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
		Sleep,50
		ControlSend,Filename,a,MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
		Sleep,50
		ControlSend,Filename,{LControl Up},MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
		Sleep,50
		ControlSend,Filename,{LControl Up},MasterSeeker 1.5.1 by DxCK ahk_exe MasterSeeker.exe
		SetTimer,WinActivateMasterSeeker,Delete
		Go.Go()
		return
	}
}
;
; 強制自身程序以 管理員許可權 或 普通許可權 或 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
}
}
; 此指令碼到此行結束
;-----------------------------------
 

;!@Install@!UTF-8!
InstallPath="c:\\Prog\\"
Title="視窗標題"
BeginPrompt="開始說明"
ExtractPathText="路徑說明"
ExtractDialogText="解壓說明"
CancelPrompt="取消說明"
HelpText="幫助說明"
BeginPromptTimeout="5"
GUIMode="1"
OverwriteMode="1+8"
ExtractPathTitle="路徑標題"
ExtractTitle="解壓標題"
ErrorTitle="錯誤標題"
WarningTitle="警告標題"
PasswordTitle="密碼標題"
PasswordText="密碼說明"
ExtractCancelText="解壓取消按鈕"
RunProgram="\"C:\\Prog\\MasterSeeker\\MasterSeeker.exe\""
Shortcut="Du,{C:\\Prog\\MasterSeeker\\MasterSeeker.exe},{},{},{},{MasterSeeker},{C:\\Prog\\MasterSeeker\\},{},{}"
;!@InstallEnd@!
7zSFXBuilder_SFXName=C:\Users\Administrator\Desktop\建立的自解壓檔案.exe
7zSFXBuilder_SFXIcon=C:\Prog\MasterSeeker\圖示7.ico
7zSFXBuilder_UseDefMod=7zsd_LZMA2
7zSFXBuilder_SFXFile_1=C:\Prog\7z_SFX_Builder\
7zSFXBuilder_SFXFile_2=C:\Prog\7z_SFX_Builder操作文件\
7zSFXBuilder_SFXFile_3=C:\Prog\7z_SFX_Builder配置檔案\
7zSFXBuilder_SFXFile_4=C:\Prog\7-Zip\
7zSFXBuilder_SFXFile_5=C:\Prog\7-Zip-x64\
7zSFXBuilder_SFXFile_6=C:\Prog\MasterSeeker\
7zSFXBuilder_SFXFile_7=C:\Prog\Setup\
7zSFXBuilder_SFXFile_8=C:\Prog\eXeScope\
7zSFXBuilder_SFXFile_9=C:\Prog\Resource_Hacker\
7zSFXBuilder_7Zip_Level=Ultra
7zSFXBuilder_7Zip_Method=LZMA2
7zSFXBuilder_7Zip_Dictionary=64 MB
7zSFXBuilder_7Zip_BlockSize=Solid
捐贈是對創作者最大的肯定!

  

相關文章