some code from quickquick https://www.reddit.com/r/powerpoint/comments/nlcdjq/quickquick_powerpoint_super_tools_office_hotkeys/
Code: Select all
BNormal := A_ScreenWidth//40 ; 主监视器的宽度和高度, 单位为像素(例如 1024 和 768).
BN = %BNormal%
BSmall := BN/2 ; 小按钮,如关闭,置顶
B2 := BN*2
~MButton::
{
if (WinExist("ahk_id" MyGui)){
GUI %MyGui% : Hide
return
}if (WinActive("ahk_exe Code.exe")) {
gosub, Deafalut_Gui
gosub, VSC_Gui
gosub, Show_Gui
return
}else if (WinActive("ahk_exe chrome.exe")) {
gosub, Deafalut_Gui
gosub, Chrome_Gui
gosub, Show_Gui
return
}else if (WinActive("ahk_class PPTFrameClass")) {
gosub, Deafalut_Gui
gosub, PPT_Gui
gosub, Show_Gui
return
} else{
gosub, Deafalut_Gui
gosub, Show_Gui
return
}
return
}
Deafalut_Gui:
{
Gui, MyGui: New, +HwndMyGui
Gui, MyGui: Default
Gui, +LastFound +ToolWindow +Owner -Caption +DPIScale -Theme +AlwaysOnTop ; +ToolWindow 避免显示任务栏按钮和 alt-tab 菜单项.-Caption.移除背景透明的窗口的边框和标题栏
Gui, Margin,0,0 ; 整个窗口的边距,不是按钮之间的边距
; 第一行,第一个格子分成四个,放置顶和关闭等
Gui, add, Picture, w%BSmall% H%BSmall% x0 y0, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp x%BSmall% y0 gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp x0 y%BSmall% gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp x%BSmall% y%BSmall% gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, w%BNormal% h%BNormal% x%BNormal% y0, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
; 第二行
Gui, add, Picture, wp hp x0 yp+%BNormal% gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Return
}
VSC_Gui:
{
Gui, add, Picture, w%BNormal% h%BNormal% x0 y%B2% gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp x0 yp+%BNormal% gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp x0 yp+%BNormal% gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
}
Chrome_Gui:
{
Gui, add, Picture, w%BNormal% h%BNormal% x0 y%B2% gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp x0 yp+%BNormal% gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Return
}
PPT_Gui:
{
Gui, add, Picture, w%BNormal% h%BNormal% x0 y%B2% gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp x0 yp+%BNormal% gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp x0 yp+%BNormal% gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp x0 yp+%BNormal% gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Gui, add, Picture, wp hp xp+%BNormal% yp gTestFunc, % "HBITMAP:*" ObjectTest := (LoadPicture("res\img\test.png"))
Return
}
Show_Gui:
{
Gui, MyGui : Default
CoordMode Mouse, Screen
MouseGetPos, XPos, YPos
XPos_gui := XPos - BN*2 ; gui左上角的位置信息
YPos_gui := YPos - BN*3
; 下面这个两个if控制Gui不要超出目前激活窗口的边缘,下边缘不完美
if (XPos_gui < 0){
XPos_gui := 0
} else if (XPos_gui > (A_ScreenWidth - BN*5)){
XPos_gui := A_ScreenWidth - BN*5
}
if (YPos_gui < 0){
YPos_gui := 0
} else if (YPos_gui > (A_ScreenHeight - BN*5)){
YPos_gui := A_ScreenHeight - BN*5
}
Gui, MyGui : Show , x%XPos_gui% y%YPos_gui%
return
}
TestFunc:
msgbox, 111
Return