吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 280|回复: 16
收起左侧

[资源求助] 用AutoHotkey 编写一个小程序

[复制链接]
lazychen 发表于 2025-1-3 23:23
50吾爱币
用AutoHotkey  编写一个小程序   把鼠标拖选的 文本 加上英文括号后输出  如abc变成(abc)并设置一个快捷 Ctrl+Shift+X(最好能自定义)  制作成可执行的exe

@邪恶老烟枪

最佳答案

查看完整内容

https://wxjyxlwmh.lanzouo.com/b00mp0hbgd 密码: 52pj

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

WXJYXLWMH 发表于 2025-1-3 23:23
lazychen 发表于 2025-1-4 08:51
大佬帮忙制作成exe  小白不懂  懂得话就自己做了

https://wxjyxlwmh.lanzouo.com/b00mp0hbgd
密码: 52pj
WXJYXLWMH 发表于 2025-1-4 07:37
安装AutoHotkey1.x 或 绿色版AutoHotkey1.x

将以下代码保存为.ahk文件 使用Ahk2Exe.exe压制成.exe
可以自定义修改快捷键

;左键拖选复制
~LButton::
cos_mousedrag_treshold := 20
MouseGetPos, cos_mousedrag_x, cos_mousedrag_y
win1 := WinActive("A")
KeyWait LButton
MouseGetPos, cos_mousedrag_x2, cos_mousedrag_y2
win2 := WinActive("A")
WinGetClass cos_class, A
if(((abs(cos_mousedrag_x2 - cos_mousedrag_x) > cos_mousedrag_treshold
  or abs(cos_mousedrag_y2 - cos_mousedrag_y) > cos_mousedrag_treshold)) and win1 = win2
  and cos_class != "ConsoleWindowClass")
{
        SendInput, ^c ;复制
}
Return

;快捷键 Ctrl+Shift+X
^+x::
ClipWait, 2
Send, {Text}(%ClipBoard%)
Return
 楼主| lazychen 发表于 2025-1-4 08:51
WXJYXLWMH 发表于 2025-1-4 07:37
安装AutoHotkey1.x 或 绿色版AutoHotkey1.x

将以下代码保存为.ahk文件 使用Ahk2Exe.exe压制成.exe

大佬帮忙制作成exe  小白不懂  懂得话就自己做了
 楼主| lazychen 发表于 2025-1-4 22:38
@邪恶老烟枪    老哥 等你来写啊   上面老哥写的 我使用了一下  有些bug
 楼主| lazychen 发表于 2025-1-4 22:39

@邪恶老烟枪
 楼主| lazychen 发表于 2025-1-5 09:57
以下是一个使用AutoHotkey(AHK)实现你要求的基本脚本:

```ahk
; 设置快捷键为Ctrl+Shift+X
^+x::
ClipboardOld := ClipboardAll
Clipboard := ""
SendInput, ^c
ClipWait, 2
if ErrorLevel {
    MsgBox, 48, 错误, 在2秒内未能获取到剪贴板内容!
    return
}
text := Clipboard
newText := "(" text ")"
Clipboard := newText
SendInput, ^v
Clipboard := ClipboardOld ; 恢复之前的剪贴板内容
return
```

这个脚本的工作原理如下:

1. 当按下`Ctrl+Shift+X`组合键(在AHK脚本中表示为`^+x`)时:
    - 首先保存当前的整个剪贴板内容到 `ClipboardOld` 变量(`ClipboardAll` 会获取包括文件等在内的所有剪贴板数据类型)。
    - 然后清空剪贴板,并模拟按下`Ctrl + C`组合键来复制当前鼠标拖选的文本(假设文本可被复制到剪贴板)。
    - 使用 `ClipWait` 等待2秒以确保复制操作完成,并检查是否出错(如果 `ErrorLevel` 不为0,表示未能获取到剪贴板内容)。
    - 如果成功获取文本,将文本添加英文括号后复制回剪贴板(`newText := "(" text ")"` 和 `Clipboard := newText`)。
    - 随后模拟按下`Ctrl + V`组合键来将添加括号后的内容输出到原位置(粘贴操作)。
    - 最后恢复之前保存的剪贴板全部内容(`Clipboard := ClipboardOld`)。
 楼主| lazychen 发表于 2025-1-5 09:58
@WXJYXLWMH  老哥  有bug  能不能帮我封装一下我这个代码
WXJYXLWMH 发表于 2025-1-5 10:19
lazychen 发表于 2025-1-5 09:58
@WXJYXLWMH  老哥  有bug  能不能帮我封装一下我这个代码

你的代码无法运行
 楼主| lazychen 发表于 2025-1-5 12:47
WXJYXLWMH 发表于 2025-1-5 10:19
你的代码无法运行

AI写的
你的有很多bug  我使用了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-8 22:17

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表