win+enter_窗体顶置.ahk 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. ; @Author : liuyuqi
  2. ; @Contact : liuyuqi.gov@msn.cn
  3. ; @Time : 2019/08/05 07:06:02
  4. ; @Version : 2.0
  5. ; @License : (C)Copyright 2019 liuyuqi.
  6. ; @Desc : win+enter不太好用,改为:alt+D切换窗口顶置。拼音记忆:顶置(D,Z)。D控制顶置,Z控制透明度。
  7. ; v2.0 :取消Z快捷键,合并为一个快捷键。D0Z0,D1Z0,D1Z1
  8. transN := 200 ; 透明度
  9. Gui, +AlwaysOnTop +ToolWindow -SysMenu -Caption +LastFound
  10. WinSet, ExStyle, +0x20 ; 鼠标穿透
  11. WinSet, Transparent, %transN%
  12. Gui, Color, Black
  13. Gui, Font, cWhite s18 bold, Arial
  14. Gui, Add, Text, vHotkeyText Center
  15. global flag := 3
  16. !D::
  17. WinGetActiveTitle, w ;将当前激活窗口存入变量w
  18. if(flag = 0){
  19. Winset, AlwaysOnTop, Off, %w%
  20. WinSet, Transparent, Off, A ;不顶置不透明
  21. ShowMsg("不顶置不透明")
  22. flag := 3
  23. } else if (flag = 2){
  24. Winset, AlwaysOnTop, On, %w%
  25. WinSet, Transparent, Off, A ;顶置不透明
  26. ShowMsg("顶置不透明")
  27. flag := 0
  28. } else if (flag = 3){
  29. Winset, AlwaysOnTop, On, %w%
  30. WinSet, Transparent, 150, A ;顶置透明
  31. ShowMsg("顶置透明")
  32. flag := 2
  33. }
  34. Return
  35. !Z::
  36. if(flag = True){
  37. WinSet, Transparent, Off, A ;透明0-255
  38. flag := False
  39. }else{
  40. WinSet, Transparent, 150, A ;透明0-255
  41. flag := True
  42. }
  43. Return
  44. ShowMsg(Msg){
  45. GuiControl, , HotkeyText, %Msg%
  46. WinGetPos, ActWin_X, ActWin_Y, ActWin_W, ActWin_H, A
  47. GuiControl, Move, HotkeyText, w150 center
  48. winx := Floor(ActWin_X + ActWin_W/2)-100
  49. Try{
  50. Gui, Show, x%winx% y%ActWin_Y% h60 w200
  51. }
  52. FadeOut()
  53. }
  54. FadeOut(sleep = 1000){
  55. global transN
  56. Sleep, %Sleep%
  57. Gui, +LastFound
  58. Loop, % transN
  59. WinSet, Transparent, % (A_Index - transN - 1) * -1
  60. Gui, Hide
  61. WinSet, Transparent, % transN
  62. }
  63. ; esc::ExitApp