# 求ahk鼠标移动屏幕边缘触发弹窗脚本

**URL:** <https://meta.appinn.net/t/topic/54594>\
**Category:** 问题求助\
**Tags:** windows\
**Created:** [2024 年3 月 31 日 23:26 UTC](https://meta.appinn.net/t/topic/54594 "2024-03-31T23:26:24Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

作者： ![xz\_app](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/x/9e8a1a/32.png) [@xz\_app](https://meta.appinn.net/u/xz_app)\
发布日期： [2024 年3 月 31 日 23:26 UTC](https://meta.appinn.net/t/topic/54594/1 "2024-03-31T23:26:24Z")

</div>

具体来说，鼠标移动到上面右边缘1/2处自动打开浏览器插件弹窗A，移动到右边上边缘1/2处打开弹窗B，移动到右上角打开弹窗C，弹窗可以快捷键控制，并且打开后一个同时关闭前一个，鼠标离开屏幕右上角时关闭最后弹窗。如果有其他工具也行，谢谢了

---

<div class="post-metadata">

作者： ![foyax](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/foyax/32/27434_2.png) [@foyax](https://meta.appinn.net/u/foyax)\
发布日期： [2024 年4 月 1 日 00:33 UTC](https://meta.appinn.net/t/topic/54594/2 "2024-04-01T00:33:34Z")

</div>

这个问题有点玄妙。你要是会ahk，简单用定时器获取坐标进行判断就行。要是不会，别人提供个大概功能的脚本也不能准确满足需求。

---

<div class="post-metadata">

作者： ![xiaokonglong](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/xiaokonglong/32/908_2.png) [@xiaokonglong](https://meta.appinn.net/u/xiaokonglong)\
发布日期： [2024 年4 月 1 日 01:03 UTC](https://meta.appinn.net/t/topic/54594/3 "2024-04-01T01:03:42Z")

</div>

可能鼠标手势软件更适合你的需求.

比如 `s+.net` 或者其他支持四角手势的鼠标软件.

---

<div class="post-metadata">

作者： ![nilmomo](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/nilmomo/32/55887_2.png) [@nilmomo](https://meta.appinn.net/u/nilmomo)\
发布日期： [2024 年4 月 1 日 02:40 UTC](https://meta.appinn.net/t/topic/54594/4 "2024-04-01T02:40:31Z")

</div>

如果按快捷键唤出浏览器插件弹窗, 启动第二个时, 第一个不会自动消失吗?  
下面代码让光标触碰边缘执行快捷键, 但如果光标一直停留在触发位置会不断执行快捷键

```auto
CoordMode, Mouse, screen
SetTimer, OnMouseMove, 200
;A := false
;B := false
;C := false

RightHalf := A_ScreenWidth / 2
TopHalf := A_ScreenHeight / 2

#Persistent
OnMouseMove:
    MouseGetPos, MouseX, MouseY

    if (MouseX > RightHalf && MouseX < A_ScreenWidth -10 && MouseY = 0) { ; 上右 A
        Send, ^+1

    } else if (MouseX > A_ScreenWidth -2 && MouseY > 10 && MouseY < TopHalf) { ; 右上 B
        Send, ^+3

    } else if (MouseX > A_ScreenWidth -10 && MouseY < 10) { ; 右上角 C
       Send, ^+4

```

---

<div class="post-metadata">

作者： ![xz\_app](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/x/9e8a1a/32.png) [@xz\_app](https://meta.appinn.net/u/xz_app)\
发布日期： [2024 年4 月 1 日 04:44 UTC](https://meta.appinn.net/t/topic/54594/5 "2024-04-01T04:44:18Z")

</div>

会一点，相关的还没学到

---

<div class="post-metadata">

作者： ![xz\_app](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/x/9e8a1a/32.png) [@xz\_app](https://meta.appinn.net/u/xz_app)\
发布日期： [2024 年4 月 1 日 04:47 UTC](https://meta.appinn.net/t/topic/54594/6 "2024-04-01T04:47:13Z")

</div>

手势可以四角，但是希望弹窗处理集中一角，并且打开和关闭都要点击，想寻找更简洁办法

---

<div class="post-metadata">

作者： ![xz\_app](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/x/9e8a1a/32.png) [@xz\_app](https://meta.appinn.net/u/xz_app)\
发布日期： [2024 年4 月 1 日 04:58 UTC](https://meta.appinn.net/t/topic/54594/7 "2024-04-01T04:58:07Z")

</div>

请问代码里ABC应该是快捷键是吧，修改还是提示错误呀  
Error: Missing “3”  
Line#  
019: Else  
019: if (MouseX\>Alt+L\_ScreenWidth-2 && MouseY\>10 && MouseY  
\< TopHalf)  
019: {  
020: Send,^+3  
022:}  
022: Else  
022: if (MouseX \> Alt+G\_ScreenWidth-10 && MouseY \<10)  
022: {  
023: Send,^+4  
024: Exit  
025: Exit  
025: Exit  
The program will exit.

---

<div class="post-metadata">

作者： ![nilmomo](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/nilmomo/32/55887_2.png) [@nilmomo](https://meta.appinn.net/u/nilmomo)\
发布日期： [2024 年4 月 1 日 06:24 UTC](https://meta.appinn.net/t/topic/54594/8 "2024-04-01T06:24:19Z")

</div>

没看明白, 完整的脚本发出来看看

---

<div class="post-metadata">

作者： ![xz\_app](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/x/9e8a1a/32.png) [@xz\_app](https://meta.appinn.net/u/xz_app)\
发布日期： [2024 年4 月 1 日 06:38 UTC](https://meta.appinn.net/t/topic/54594/9 "2024-04-01T06:38:30Z")

</div>

CoordMode, Mouse, screen  
SetTimer, OnMouseMove, 200  
;Alt+H := false  
;Alt+G := false  
;Alt+L:= false

RightHalf := Alt+H\_ScreenWidth / 2  
TopHalf := Alt+H\_ScreenHeight / 2

#Persistent  
OnMouseMove:  
MouseGetPos, MouseX, MouseY

```
if (MouseX > RightHalf && MouseX < Alt+H_ScreenWidth -10 && MouseY = 0) { ; 上右 A
    Send, ^+1

} else if (MouseX > Alt+L_ScreenWidth -2 && MouseY > 10 && MouseY < TopHalf) { ; 右上 B
    Send, ^+3

} else if (MouseX > Alt+G_ScreenWidth -10 && MouseY < 10) { ; 右上角 C
   Send, ^+4

```

---

<div class="post-metadata">

作者： ![nilmomo](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/nilmomo/32/55887_2.png) [@nilmomo](https://meta.appinn.net/u/nilmomo)\
发布日期： [2024 年4 月 1 日 07:06 UTC](https://meta.appinn.net/t/topic/54594/10 "2024-04-01T07:06:47Z")

</div>

A\_ScreenWidth 和A\_ScreenHeight是内置变量, 不能改

```auto
#SingleInstance
CoordMode, Mouse, screen
SetTimer, OnMouseMove, 200

RightHalf := A_ScreenWidth / 2
TopHalf := A_ScreenHeight / 2

#Persistent
OnMouseMove:
MouseGetPos, MouseX, MouseY

if (MouseX > RightHalf && MouseX < A_ScreenWidth -10 && MouseY = 0) { ; 上右 A
    Send, !h ; 发送Alt + H

} else if (MouseX > A_ScreenWidth -2 && MouseY > 10 && MouseY < TopHalf) { ; 右上 B
    Send, !l ; 发送Alt + L

} else if (MouseX > A_ScreenWidth -10 && MouseY < 10) { ; 右上角 C
   Send, !g ; 发送Alt + G
}

```

---

<div class="post-metadata">

作者： ![xz\_app](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/x/9e8a1a/32.png) [@xz\_app](https://meta.appinn.net/u/xz_app)\
发布日期： [2024 年4 月 1 日 07:14 UTC](https://meta.appinn.net/t/topic/54594/11 "2024-04-01T07:14:21Z")

</div>

还是出现上面Error: Missing的错误，运行不了

---

<div class="post-metadata">

作者： ![nilmomo](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/nilmomo/32/55887_2.png) [@nilmomo](https://meta.appinn.net/u/nilmomo)\
发布日期： [2024 年4 月 1 日 07:25 UTC](https://meta.appinn.net/t/topic/54594/12 "2024-04-01T07:25:09Z")

</div>

截个屏看看

---

<div class="post-metadata">

作者： ![nilmomo](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/nilmomo/32/55887_2.png) [@nilmomo](https://meta.appinn.net/u/nilmomo)\
发布日期： [2024 年4 月 1 日 07:26 UTC](https://meta.appinn.net/t/topic/54594/13 "2024-04-01T07:26:37Z")

</div>

少了个花括号吧 ? 最后一行

---

<div class="post-metadata">

作者： ![xz\_app](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/x/9e8a1a/32.png) [@xz\_app](https://meta.appinn.net/u/xz_app)\
发布日期： [2024 年4 月 1 日 07:50 UTC](https://meta.appinn.net/t/topic/54594/14 "2024-04-01T07:50:59Z")

</div>

加了以后能运行，但没反应

---

<div class="post-metadata">

作者： ![xz\_app](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/x/9e8a1a/32.png) [@xz\_app](https://meta.appinn.net/u/xz_app)\
发布日期： [2024 年4 月 1 日 07:52 UTC](https://meta.appinn.net/t/topic/54594/15 "2024-04-01T07:52:55Z")

</div>

鼠标接触边缘不能自动弹窗

---

<div class="post-metadata">

作者： ![nilmomo](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/nilmomo/32/55887_2.png) [@nilmomo](https://meta.appinn.net/u/nilmomo)\
发布日期： [2024 年4 月 1 日 07:59 UTC](https://meta.appinn.net/t/topic/54594/16 "2024-04-01T07:59:34Z")

</div>

浏览器有没有打开 ? 如果把 send !h 换成msgbox test 有没有反应 ? send !h 换成send #d 会不会回到桌面 ?

---

<div class="post-metadata">

作者： ![xz\_app](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/x/9e8a1a/32.png) [@xz\_app](https://meta.appinn.net/u/xz_app)\
发布日期： [2024 年4 月 1 日 08:30 UTC](https://meta.appinn.net/t/topic/54594/17 "2024-04-01T08:30:54Z")

</div>

可以弹窗，但鼠标离开屏幕右上角无法自动关闭

---

<div class="post-metadata">

作者： ![xz\_app](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/x/9e8a1a/32.png) [@xz\_app](https://meta.appinn.net/u/xz_app)\
发布日期： [2024 年4 月 1 日 08:50 UTC](https://meta.appinn.net/t/topic/54594/18 "2024-04-01T08:50:08Z")

</div>

屏幕分四块的右上角吧，毕竟弹窗有时还要点击处理

---

<div class="post-metadata">

作者： ![xz\_app](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/x/9e8a1a/32.png) [@xz\_app](https://meta.appinn.net/u/xz_app)\
发布日期： [2024 年4 月 1 日 08:51 UTC](https://meta.appinn.net/t/topic/54594/19 "2024-04-01T08:51:26Z")

</div>

应该说右上区域

---

<div class="post-metadata">

作者： ![nilmomo](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/nilmomo/32/55887_2.png) [@nilmomo](https://meta.appinn.net/u/nilmomo)\
发布日期： [2024 年4 月 1 日 09:02 UTC](https://meta.appinn.net/t/topic/54594/20 "2024-04-01T09:02:34Z")

</div>

没能明白, “屏幕分四块的右上角/区域” 怎么理解? 在上面触发区域增加一个触发范围, 比如上右的中间再切分一次? 你用的是什么浏览器插件? 具体操作流程是什么?

[下一页](https://meta.appinn.net/t/topic/54594.md?page=2)
