欢迎您, 游客
您必须先注册才能在我们的站点发帖。

用户名
  

密码
  





论坛搜索

(高级搜索)

最近的主题
门槛低的、对各种软件 hack 的工具?
最近发表: bootislands1
昨天 18 : 44
» 回复: 0
» 人气: 14
用Alt+Q执行Alt+F4——不能针对特殊程序取...
最近发表: bootislands1
昨天 18 : 41
» 回复: 6
» 人气: 848
[Lib]InputMagician库,Beta ...
最近发表: cixiplc
2017-03-29 20 : 35
» 回复: 8
» 人气: 2185
求救時間問題
最近发表: forymchiu
2017-03-29 20 : 34
» 回复: 0
» 人气: 27
我的AutoHotkey编程思想(一)
最近发表: bootislands1
2017-03-29 01 : 11
» 回复: 14
» 人气: 7000
GDI +有没有高手用AHK模仿出来呢
最近发表: cixiplc
2017-03-28 18 : 55
» 回复: 2
» 人气: 112
新手求救
最近发表: feiyue
2017-03-28 06 : 35
» 回复: 1
» 人气: 75
简单替换屏幕颜色 v1.0
最近发表: angangfish14
2017-03-27 11 : 39
» 回复: 1
» 人气: 117
在网页中支持AHK语法高亮
最近发表: cixiplc
2017-03-25 22 : 36
» 回复: 1
» 人气: 1705
新人签到
最近发表: zerefsong
2017-03-23 17 : 14
» 回复: 0
» 人气: 56

 
Heart 简单替换屏幕颜色 v1.0
发布: feiyue - 2017-03-27 01 : 19 - 回复 (1)

这是一个简单替换屏幕颜色的脚本,有需要的人可以用用。

代码:
/*
----------------------------------------
  简单替换屏幕颜色 v1.0  By FeiYue

  说明:1、可替换多种颜色(例子中是将白色换为绿色)
        2、按 “Alt+X” 热键退出脚本
----------------------------------------
*/

#NoEnv
#SingleInstance force
CoordMode, Mouse, Screen
Ptr:=A_PtrSize ? "Ptr" : "UInt"
nW:=A_ScreenWidth, nH:=A_ScreenHeight

; 生成覆盖全屏的GUI窗口
Gui, +LastFound +AlwaysOnTop -Caption +ToolWindow +Hwndgui_id +E0x08000000
Gui, +E0xE0020  ; 允许鼠标点击穿透
Gui, Show, NA x0 y0 w%nW% h%nH%, 放大镜

; 设置透明度BitBlt将不采集放大镜窗口本身
WinSet, Transparent, 255

; 创建屏幕DC,及获取窗口DC
ScreenDC:=DllCall("CreateDC", "str","DISPLAY"
  , Ptr,0, Ptr,0, Ptr,0, Ptr)
WindowDC:=DllCall("GetWindowDC", Ptr,gui_id, Ptr)

; 利用双缓冲避免屏幕闪烁
Loop, 2 {
  i:=A_Index
  mDC%i% := DllCall("CreateCompatibleDC", Ptr,ScreenDC, Ptr)
  hBM%i% := DllCall("CreateCompatibleBitmap"
    , Ptr,ScreenDC, "int",nW, "int",nH, Ptr)
  oBM%i% := DllCall("SelectObject", Ptr,mDC%i%, Ptr,hBM%i%, Ptr)
}

OnExit, 退出时清理
SetTimer, 重画, 100
return

重画:
  ; 避免中途退出,并保持总在最前
  Critical
  Gui, +AlwaysOnTop

  ; 复制图像从屏幕DC到内存DC1
  DllCall("BitBlt", Ptr,mDC1
    , "int",0, "int",0, "int",nW, "int",nH, Ptr,ScreenDC
    , "int",0, "int",0, "uint",0xCC0020)

  ; 替换DC内图像的一种颜色到另一DC
  ChangeColor(mDC1, mDC2, 0xFFFFFF, 0x00FF00, nW, nH)

  ; 复制图像从内存DC2到窗口DC
  DllCall("BitBlt", Ptr,WindowDC
    , "int",0, "int",0, "int",nW, "int",nH, Ptr,mDC2
    , "int",0, "int",0, "uint",0xCC0020)
  return

退出时清理:
  Loop, 2 {
    i:=A_Index
    DllCall("SelectObject", Ptr,mDC%i%, Ptr,oBM%i%)
    DllCall("DeleteObject", Ptr,hBM%i%)
    DllCall("DeleteDC", Ptr,mDC%i%)
  }
  DllCall("ReleaseDC", Ptr,gui_id, Ptr,WindowDC)
  DllCall("DeleteDC", Ptr,ScreenDC)
  ExitApp

ChangeColor(mDC1, mDC2, ColorRGB1, ColorRGB2, nW, nH)
{
  Ptr:=A_PtrSize ? "Ptr" : "UInt"

  c1:=RGB2BGR(ColorRGB1), c2:=RGB2BGR(ColorRGB2)

  ; 填充范围结构
  VarSetCapacity(Rect, 16)
  NumPut(0, Rect, 0, "uint"), NumPut(0, Rect, 4, "uint")
  NumPut(nW, Rect, 8, "uint"), NumPut(nH, Rect, 12, "uint")

  ; 填充内存DC2的背景色为【 c2 】
  hBrush:=DllCall("CreateSolidBrush", "uint",c2, Ptr)
  DllCall("FillRect", Ptr,mDC2, Ptr,&Rect, Ptr,hBrush)
  DllCall("DeleteObject", Ptr,hBrush)

  ; 透明复制图像从内存DC1到内存DC2,透明色为【 c1 】
  DllCall("msimg32.dll\TransparentBlt", Ptr,mDC2
    , "int",0, "int",0, "int",nW, "int",nH, Ptr,mDC1
    , "int",0, "int",0, "int",nW, "int",nH, "uint",c1)
}

RGB2BGR(c) {
  return, ((c&0xFF)<<16)|(c&0xFF00)|((c&0xFF0000)>>16)
}


; 退出热键【Alt+X】
!x:: ExitApp



;============ 脚本结束 ============

;

打印这项 推荐给朋友

  新手求救
发布: yuhshang - 2017-03-26 19 : 32 - 回复 (1)

剛接觸這個軟體,對於寫code很不拿手
我以目的導向來詢問好了

如果我要寫一個
當按下XButton2(滑鼠功能鍵2)時
執行"C"+"E"

我原本是寫
XButton2::Send, ce

但這樣好像輸入字串,不是同時按下
請問要怎麼修改呢?

打印这项 推荐给朋友

  新手求助,MouseGetPos返回
发布: cowzuanke - 2017-03-22 20 : 32 - 无回复

MouseGetPos, x, y, Win, cControl, 2
这里Win是返回的窗口句柄,cControl是什么?

下面用WINGET取相同的窗口句柄
WinGet, Win, ID, ahk_class SunAwtFrame

怎么样取出最上面那个cControl?

不好意思,被绕住了

打印这项 推荐给朋友

  在64位系统下编译的exe,在32位系统不能运行?
发布: laai - 2017-03-22 13 : 21 - 无回复

如题,那么我是64位的系统怎么编译32位可用的EXE呢?

打印这项 推荐给朋友

  能否把MinimizeToTrayMenu.ahk封装成函数?
发布: oldstone - 2017-03-21 16 : 51 - 无回复

能否把MinimizeToTrayMenu.ahk封装成函数的格式,比如MinimizeToTrayMenu(hideorshow,windowserialor​,ahk_id)这种格式

打印这项 推荐给朋友

  有没有封装好的htmlgetelenmentbykeystring函数?
发布: oldstone - 2017-03-21 16 : 44 - 无回复

htmlgetelenment(keystring),keystring :=byid,bytagname,byindex,bytext封装好的函数?不需要所有情况下都成功,只要大多数情况下,操作网页成功即可。

打印这项 推荐给朋友

  我需要找一个在scitie中能返回查找关键字前的代码折叠状态的插件
发布: oldstone - 2017-03-21 16 : 26 - 无回复

每次用搜索关键字后,代码折叠就有的打开很多了,而搜索关键字前我的代码折叠是按目录树结构折叠好的,搜索后,就不是折叠好的目录树,看的比较凌乱了,又需要折叠会目录树​。如果scite本身有返回查找关键字前的代码折叠状态的命令或者另外的插件就好了。

打印这项 推荐给朋友

  新手求教,这段连点代码有什么问题?
发布: contex - 2017-03-20 14 : 21 - 无回复

功能就是F9全局关闭,F10全局开启。
在按住右键的情况下按住左键开启50MS间隔的连点。
请问哪里有问题吗?我运行起来没有效果。

前排说明,本代码注释使用错误导致代码失效,删了注释就可以了。

PHP 代码:
!F9::
/*全局关闭*/ 
Suspend,Permit
Suspend
,On
TrayTip
,,连点关闭,,16
Soundplay
,*64
return

!
F10::
/*全局开启*/ 
Suspend,Permit
Suspend
,Off
TrayTip
,,连点开启,,16
Soundplay
,*16
return

~
LButton::
/*按住右键后再按住左键连点,其他时候不影响正常。*/ 
If(GetKeyState("RButton","P")=1)
Loop
{
    
SetMouseDelay 50
    Click
    
If(GetKeyState("RButton","P")=0) or (GetKeyState("LButton","P")=0)
    Break
}
return 

打印这项 推荐给朋友

  如果用AHK实现按一个按键,比如W,自动输入一串字符串。不是热字符
发布: uestcwkm - 2017-03-20 14 : 07 - 回复 (3)

办公OA的密码需要重复输入,用得到这个功能。但是自己看了AHK的教程,貌似没有讲到怎么实现,求解。

打印这项 推荐给朋友

  run执行某文件夹内以exe为后缀名的程序
发布: laai - 2017-03-20 10 : 16 - 无回复

Gui, Add, Button, x82 y90 w110 h60 , MyButton
Gui, Show, x127 y87 h379 w479, 窗口名
Return
ButtonMyButton:
run \\10.1.60.18\k$\soft\*.exe
return
GuiClose:
ExitApp

如上,我想要run后面执行里边的1个或多个以exe为后缀名的程序,是不是有通配符可以用,我试了用*.exe提示出错。

打印这项 推荐给朋友


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合