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

用户名
  

密码
  





论坛搜索

(高级搜索)

最近的主题
新人报到专用贴
最近发表: milksa
2018-06-15 02 : 25
» 回复: 1213
» 人气: 536021
9.12更新 新库 winhttp 可以 下载到文...
最近发表: tmplinshi
2018-06-06 00 : 08
» 回复: 17
» 人气: 8438
多持续互斥热键过程的示例
最近发表: lingling
2018-06-05 09 : 41
» 回复: 15
» 人气: 4294
菜单显示会暂停本脚本所有其他操作?
最近发表: Zz
2018-05-24 15 : 24
» 回复: 0
» 人气: 65
短脚本 — 用鼠标切换任务
最近发表: o000u
2018-05-24 13 : 54
» 回复: 7
» 人气: 4211
menu添加子菜单的两种方式及差异
最近发表: Zz
2018-05-24 13 : 47
» 回复: 4
» 人气: 970
使用 Ctrl+Alt+F12 锁定和解锁电脑
最近发表: feiyue
2018-05-16 13 : 04
» 回复: 0
» 人气: 81
AHK源代码加密器 v2.0
最近发表: feiyue
2018-05-14 22 : 51
» 回复: 5
» 人气: 513
正则帮助工具
最近发表: robertL
2018-03-05 09 : 18
» 回复: 9
» 人气: 5806
【V2】最新版本 2.0-a089-3de22ab...
最近发表: robertL
2018-03-05 09 : 17
» 回复: 1
» 人气: 160

 
  使用 Ctrl+Alt+F12 锁定和解锁电脑
发布: feiyue - 2018-05-16 13 : 04 - 无回复

看到群里有人提问,简单写了一个实现代码,玩玩而已。Smile

代码:
;----------------------------------
;  使用 Ctrl+Alt+F12 锁定和解锁电脑
;----------------------------------

^!F12::hk()

hk(f=1) {
  static allkeys, usedkeys:="F12"
  if !allkeys
  {
    ; 过滤前三个重复的键,补充后面与小键盘冲突的键
    s:="|Alt|Control|Shift|*|Home|End|PgUp|PgDn|"
      . "Left|Right|Up|Down|Del|Ins|NumpadEnter|"
    Loop, 254 {
      k:=GetKeyName(Format("vk{:x}", A_Index))
      s.=k="" or InStr(s,"|" k "|") ? "" : k "|"
    }
    ; 替换一些按键为缩写形式
    For k,v in {Control:"Ctrl", Backspace:"BS"}
      s:=StrReplace(s,k,v)
    allkeys:=Trim(SubStr(s,InStr(s,"*")+1),"|")
  }
  f:=f ? "On":"Off"
  For i,k in StrSplit(allkeys,"|")
    if k not in %usedkeys%
      Hotkey, *%k%, DoLock, %f% UseErrorLevel
  Hotkey, *F12, UnLock, %f% UseErrorLevel
  BlockInput, MouseMove
  BlockInput, MouseMove%f%
  return

  DoLock:
  return

  UnLock:
  if GetKeyState("Alt","P")
  && GetKeyState("Ctrl","P")
    hk(0)
  return
}

打印这项 推荐给朋友

  如何将iframe嵌入GUI?
发布: mmmzq - 2018-01-10 14 : 18 - 无回复

创造Shell.Explorer ActiveX控件之后,我希望在浏览到指定网页的时候将网页中的某个iframe单独显示出来

代码:
iframeurl := ie.document.parentwindow.frames[0].document.url
ie.navigate(iframeurl)
都是一样的操作,ActiveX控件显示出来就会丢失某些style和script,导致按钮失效还有排版出问题,但是ComObjCreate("InternetExplorer.Application")就能正常显示内容

怎么破?

打印这项 推荐给朋友

  send发送的按键总是不按组合好的按键来
发布: tjuweige - 2017-12-13 22 : 34 - 回复 (1)

代码:
f7::Pause
lshift & WheelDown::
Loop,1
send,#^{right}
return
lshift & WheelUp::
loop,1
send,#^{Left}
return
脚本如上
一般情况下按下shift键在win10中左右切换桌面没有问题,但是偶尔0.1~0.2的几率吧,会出现发送win+left/right的情况,然后就会把窗口激活成左贴边或者右贴边(win10中本身有win+right/left的快捷键调整窗口打小),不知道是怎么回事,怎么解决,有人可以帮忙看一下吗?

打印这项 推荐给朋友

Rainbow AHK源代码加密器 v2.0
发布: feiyue - 2017-12-09 13 : 43 - 回复 (5)

这是AHK源代码加密工具,作为第一层加密,之后可以用Ahk2Exe编译为程序。
由于AHK官方支持开源,结果Ahk2Exe编译的程序(不使用mpress压缩),
在程序末尾明文保存了源代码,不利于发布私有成果。即使压缩、加壳也有
对应的脱壳工具。这个工具可以使Ahk2Exe生成的程序被破解的源代码已加密。Shy

代码:
/*
;-------------------------------
  AHK源代码加密器 v2.0  By FeiYue

  脚本说明:

  1、实现方式为机器码内存解码,然后直接发送到AHK主程序执行。

  2、本工具只是将AHK脚本转换为加密后的自解压脚本。
     之后可用Ahk2Exe结合mpress、upx加壳来生成程序。

  3、脚本生成的程序必须在同目录存在AutoHotkey.exe主程序。
     如果将AutoHotkey.exe改名为abc.exe,必须修改代码中
     的“Ahk=”为“Ahk=%A_ScriptDir%\abc.exe”。

  4、由于内存解码后的代码直接发送到AHK主程序执行,不生成
     磁盘源文件,所以Reload命令无效,可以用Reload()代替。

;-------------------------------
*/

#NoEnv
#SingleInstance force
ListLines, Off
SetBatchLines, -1

fs=
(` %

Exec(str, Ahk="", arg="") {
  static WriteFile, h, ScriptName:=%True%
  s:=RegExReplace(str,"\s"), StrReplace(s,"u","",size)
  VarSetCapacity(str,(size+1)*4,0), s:=SubStr(s,InStr(s,"u")+1)
  Loop, Parse, s, u
    NumPut(A_LoopField, str, (A_Index-1)*4, "uint")
  ;-----------------------------
  Ptr:=A_PtrSize ? "UPtr":"UInt"
  Ahk:=Ahk ? Ahk : A_IsCompiled ? A_ScriptDir "\AutoHotkey.exe":A_AhkPath
  IfNotExist, %Ahk%
  {
    MsgBox, 4096, Error!, `n`nCan't Find: %Ahk% !`n`n
    return, 0
  }
  Random, n, 1, 1000000
  name:="\\.\pipe\AHK" . A_TickCount . n
  Loop, 2
    if (p%A_Index% := DllCall("CreateNamedPipe","str",name,"uint",2
    ,"uint",0,"uint",255,"uint",0,"uint",0,Ptr,0,Ptr,0))=-1
      return, 0
  ScriptName:=ScriptName ? ScriptName : A_ScriptFullPath
  Run, %Ahk% "%name%" "%ScriptName%" %arg%
  DllCall("ConnectNamedPipe", Ptr,p1, Ptr,0)
  DllCall("CloseHandle", Ptr,p1)
  DllCall("ConnectNamedPipe", Ptr,p2, Ptr,0)
  if !WriteFile
  {
    x32:="5589E581ECA8000000C745F0000000008B450883C03C8B1"
    . "08B450801D08945E88B45080FB6003C4D75248B450883C0010"
    . "FB6003C5A75178B45E80FB6003C50750D8B45E883C0010FB60"
    . "03C45740AB8FFFFFFFFE92E0300008B45E883C0648B0085C07"
    . "40C8B45E883C0608B0085C07509C745F488000000EB07C745F"
    . "4780000008B55E88B45F401D08B108B450801D08945E48B45E"
    . "48B40188945E08B45E483C01C8B108B450801D08945DC8B45E"
    . "483C0208B108B450801D08945D88B45E483C0248B108B45080"
    . "1D08945D4C745F400000000EB618B45F48D1485000000008B4"
    . "5D801D08B008945D08B55088B45D001D08B003D47657450753"
    . "88B45D08D50048B450801D08B003D726F634175248B45F48D1"
    . "4008B45D401D00FB7000FB7C08D1485000000008B45DC01D08"
    . "B008945F0EB0C8345F4018B45F43B45E07297837DF000750AB"
    . "8FEFFFFFFE9390200008B55088B45F001D08945CCC745AA577"
    . "26974C745AE6546696C66C745B26500C7459E476C6F62C745A"
    . "2616C416CC745A66C6F6300C74593476C6F62C74597616C467"
    . "266C7459B6565C6459D008D45AA894424048B45088904248B4"
    . "5CCFFD08945C8C7442410000000008B45188944240CC744240"
    . "8000000008D45AA89442404C70424000000008B45C8FFD085C"
    . "0740AB8FDFFFFFFE9A0010000C7442410000000008B4518894"
    . "4240CC7442408000000008D45AA894424048B450C8904248B4"
    . "5C8FFD085C0750AB8FCFFFFFFE9690100008D459E894424048"
    . "B45088904248B45CCFFD08945C48D4593894424048B4508890"
    . "4248B45CCFFD08945C08B451483C001C1E00289442404C7042"
    . "4000000008B45C4FFD08945BC837DBC00750AB8FBFFFFFFE91"
    . "3010000C745800B000000C745840D000000C7458811000000C"
    . "7458C13000000C745EC00000000EB268B45EC83E0038945B88"
    . "B45B88B44858069D0830000008B45EC01C28B45B8895485808"
    . "345EC01837DEC6376D4C745EC00000000EB5A8B45EC83E0038"
    . "945B88B45B88B44858069D0830000008B45EC01C28B45B8895"
    . "485808B45EC8D1485000000008B451001D08B108B45B88B448"
    . "58031D08945B48B45EC8D1485000000008B45BC01D08B55B4C"
    . "1CA0889108345EC018B45EC3B4514729E8B45EC8D148500000"
    . "0008B45BC01D0C700000000008B451483C0018D14850000000"
    . "0C7442410000000008B45188944240C895424088B45BC89442"
    . "4048B450C8904248B45C8FFD08B45BC8904248B45C0FFD0B80"
    . "0000000C9C214009090"
    x64:="554889E54881ECF000000048894D10488955184C8945204"
    . "4894D28C745F800000000488B45104883C03C8B0089C2488B4"
    . "5104801D0488945E8488B45100FB6003C4D7529488B4510488"
    . "3C0010FB6003C5A751A488B45E80FB6003C50750F488B45E84"
    . "883C0010FB6003C45740AB8FFFFFFFFE996030000488B45E84"
    . "883C0648B0085C0740E488B45E84883C0608B0085C07509C74"
    . "5FC88000000EB07C745FC780000008B55FC488B45E84801D08"
    . "B0089C2488B45104801D0488945E0488B45E08B40188945DC4"
    . "88B45E04883C01C8B0089C2488B45104801D0488945D0488B4"
    . "5E04883C0208B0089C2488B45104801D0488945C8488B45E04"
    . "883C0248B0089C2488B45104801D0488945C0C745FC0000000"
    . "0EB6F8B45FC488D148500000000488B45C84801D08B008945B"
    . "C8B55BC488B45104801D08B003D4765745075418B45BC488D5"
    . "004488B45104801D08B003D726F6341752A8B45FC488D14004"
    . "88B45C04801D00FB7000FB7C0488D148500000000488B45D04"
    . "801D08B008945F8EB0C8345FC018B45FC3B45DC7289837DF80"
    . "0750AB8FEFFFFFFE972020000488B55108B45F84801D048894"
    . "5B048B8577269746546696C48898570FFFFFF66C78578FFFFF"
    . "F650048B8476C6F62616C416C48898560FFFFFFC78568FFFFF"
    . "F6C6F630048B8476C6F62616C467248898550FFFFFF66C7855"
    . "8FFFFFF6565C6855AFFFFFF00488D9570FFFFFF488B45B0488"
    . "B4D10FFD0488945A8488B4D30488D9570FFFFFF48C74424200"
    . "0000000488B45A84989C941B800000000B900000000FFD085C"
    . "0740AB8FDFFFFFFE9C30100004C8B4530488D9570FFFFFF488"
    . "B4D1848C744242000000000488B45A84D89C141B800000000F"
    . "FD085C0750AB8FCFFFFFFE98E010000488D9560FFFFFF488B4"
    . "5B0488B4D10FFD0488945A0488D9550FFFFFF488B45B0488B4"
    . "D10FFD0488945988B452883C001C1E00289C04889C2488B45A"
    . "0B900000000FFD04889459048837D9000750AB8FBFFFFFFE93"
    . "6010000C78540FFFFFF0B000000C78544FFFFFF0D000000C78"
    . "548FFFFFF11000000C7854CFFFFFF13000000C745F40000000"
    . "0EB2C8B45F483E00389458C8B458C8B848540FFFFFF69D0830"
    . "000008B45F401C28B458C89948540FFFFFF8345F401837DF46"
    . "376CEC745F400000000EB698B45F483E00389458C8B458C8B8"
    . "48540FFFFFF69D0830000008B45F401C28B458C89948540FFF"
    . "FFF8B45F4488D148500000000488B45204801D08B108B458C8"
    . "B848540FFFFFF31D08945888B45F4488D148500000000488B4"
    . "5904801D08B5588C1CA0889108345F4018B45F43B4528728F8"
    . "B45F4488D148500000000488B45904801D0C700000000008B4"
    . "52883C001448D1485000000004C8B4530488B5590488B4D184"
    . "8C744242000000000488B45A84D89C14589D0FFD0488B55904"
    . "88B45984889D1FFD0B8000000004881C4F00000005DC390"
    hex:=A_PtrSize=8 ? x64:x32
    VarSetCapacity(WriteFile, len:=StrLen(hex)//2)
    Loop, % len
      NumPut("0x" SubStr(hex,2*A_Index-1,2),WriteFile,A_Index-1,"uchar")
    DllCall("VirtualProtect",Ptr,&WriteFile,Ptr,len,"uint",0x40,Ptr "*",0)
    h:=DllCall("GetModuleHandle", "Str","Kernel32", Ptr)
  }
  DllCall(&WriteFile,Ptr,h,Ptr,p2,Ptr,&str,"uint",size,"uint*",0)
  DllCall("CloseHandle", Ptr,p2)
  return, 1
}

)

; 支持命令行,拖动脚本到加密器的程序图标上也能加密
if 0>0
{
  file:=%True%
  IfExist, %file%
    Gosub, 加密
  ExitApp
}
Gui, +AlwaysOnTop +ToolWindow
Gui, Color, DDEEFF
Gui, Font, cRed s28
Gui, Add, Text,, AHK脚本拖动到本窗口即可加密`n`n
Gui, Show,, AHK源代码加密器 v2.0  -  By FeiYue
OnMessage(0x201, "LButton_Down")
return

LButton_Down() {
  ListLines, Off
  if (A_Gui=1 and A_GuiControl="")
    SendMessage, 0xA1, 2
}

GuiClose:
ExitApp

GuiDropFiles:
Gui, +OwnDialogs
Loop, parse, A_GuiEvent, `n
{
  file:=A_LoopField
  MsgBox, 4100, 提示, 这个文件要加密吗?`n`n%file%
  IfMsgBox, Yes
    Gosub, 加密
  MsgBox, 4096, 提示, 加密成功!
}
return

加密:
FileRead, s, %file%
s:="`n;请自行采用Ahk2Exe.exe压缩编译并设定图标`n"
  . "`n;如果将AutoHotkey.exe改名为abc.exe,"
  . "请修改Ahk=%A_ScriptDir%\abc.exe`n"
  . "`n#NoEnv"
  . "`n#NoTrayIcon"
  . "`n#SingleInstance off"
  . "`nSetBatchLines, -1"
  . "`nAhk=`n"
  . "`ns=`n"
  . RegExReplace(JiaMi(s),".{1,60}","s.=""$0""`n")
  . "`nExec(s, Ahk)"
  . "`nExitApp`n"
  . fs
f:=RegExReplace(file,"\.[^.]+$") . "-加密.ahk"
FileDelete, %f%
FileAppend, %s%, %f%
return

JiaMi(s) {
  static MyFunc
  Ptr:=A_PtrSize ? "UPtr":"UInt"
  if !MyFunc
  {
    x32:="5589E583EC20C745E40B000000C745E80D000000C745EC1"
    . "1000000C745F013000000C745FC00000000EB268B45FC83E00"
    . "38945F88B45F88B4485E469D0830000008B45FC01C28B45F88"
    . "95485E48345FC01837DFC6376D4C745FC00000000EB5C8B45F"
    . "C83E0038945F88B45F88B4485E469D0830000008B45FC01C28"
    . "B45F8895485E48B45FC8D1485000000008B450801D08B00894"
    . "5F48B45FC8D1485000000008B450801C28B45F4C1C00889C18"
    . "B45F88B4485E431C889028345FC018B450C3945FC729CB8000"
    . "00000C9C20800909090"
    x64:="554889E54883EC2048894D10895518C745E00B000000C74"
    . "5E40D000000C745E811000000C745EC13000000C745FC00000"
    . "000EB268B45FC83E0038945F88B45F88B4485E069D08300000"
    . "08B45FC01C28B45F8895485E08345FC01837DFC6376D4C745F"
    . "C00000000EB628B45FC83E0038945F88B45F88B4485E069D08"
    . "30000008B45FC01C28B45F8895485E08B45FC488D148500000"
    . "000488B45104801D08B008945F48B45FC488D1485000000004"
    . "88B45104801C28B45F4C1C00889C18B45F88B4485E031C8890"
    . "28345FC018B45183945FC7296B8000000004883C4205DC390"
    hex:=A_PtrSize=8 ? x64:x32
    VarSetCapacity(MyFunc, len:=StrLen(hex)//2)
    Loop, % len
      NumPut("0x" SubStr(hex,2*A_Index-1,2),MyFunc,A_Index-1,"uchar")
    DllCall("VirtualProtect", Ptr,&MyFunc, Ptr,len, "uint",0x40, Ptr "*",0)
  }
  add=
  (%
;-----------------------
ListLines, Off
#NoEnv
ScriptName:=%True%
Try Menu, Tray, Icon, %ScriptName%
Gui, SingleInstance_force:Show, Hide, [%ScriptName%]
Gui, SingleInstance_force:+Hwndmyid
DetectHiddenWindows, On
WinGet, list, List, [%ScriptName%] ahk_class AutoHotkeyGUI
Loop, % list {
  IfEqual, myid, % id:=list%A_Index%, Continue
  WinGet, pid, PID, ahk_id %id%
  WinClose, ahk_class AutoHotkey ahk_pid %pid%
  WinWaitClose, ahk_id %id%
}
DetectHiddenWindows, Off
;-----------------------
Reload() {
  static ScriptName:=%True%
  Try {
    if ScriptName=
      return
    else if InStr(ScriptName,".exe")
      Run, %ScriptName%
    else
      Run, %A_AhkPath% "%ScriptName%"
    ExitApp
  }
}
ListLines, On
;-----------------------
  )
  s:=add "`n" s "`nExitApp`n#SingleInstance off`n"
  s:=(A_IsUnicode ? chr(0xfeff) : chr(0xEF) chr(0xBB) chr(0xBF))
    . RegExReplace(s,"\R","`r`n") . "`t`t`t"
  size:=VarSetCapacity(s,-1)//4
  VarSetCapacity(str, size*11*(!!A_IsUnicode+1))
  DllCall(&MyFunc, Ptr,&s, "int",size)
  Loop, % size
    str.="u" . NumGet(s,(A_Index-1)*4,"uint")
  return, str
}

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

;

打印这项 推荐给朋友

  AHK多个脚本共享全局变量 v1.0
发布: feiyue - 2017-12-09 13 : 26 - 无回复

写了个简单的多脚本共享变量脚本,有需求的可以试试。

代码:
;---------------------------
;  AHK多个脚本共享全局变量 v1.0
;
;  作者:FeiYue
;
;  说明:这是简单的方法实现多脚本共享内存。
;        采用独立的全局变量管理进程,从而
;        使某个脚本重启或退出后不影响效果。
;---------------------------

#NoEnv


; 模仿第一个脚本,使用F1热键读取全局变量 a1
F1::
{
  ; 读取全局变量 a1 的值
  a1:=Global_getvar("a1")

  ; 修改全局变量 a1 的值,使其值加1
  a1++
  Global_setvar("a1", a1)

  ; 在鼠标的右上边显示提示
  MouseGetPos, x1, y1  
  ToolTip, 第一个脚本显示全局变量 a1=%a1%, x1+20, y1-20, 1
}
; 用定时器代替无限循环,从而两个热键可以同时运行
SetTimer,, 100
return


; 模仿第二个脚本,使用F2热键读取全局变量 a1
F2::
{
  ; 读取全局变量 a1 的值
  a2:=Global_getvar("a1")

  ; 在鼠标的右下边显示提示
  MouseGetPos, x2, y2
  ToolTip, 第二个脚本显示全局变量 a1=%a2%, x2+20, y2+20, 2
}
; 用定时器代替无限循环,从而两个热键可以同时运行
SetTimer,, 100
return


; 按Esc热键退出程序
Esc::ExitApp


;========== 下面是函数 ==========


; 获取全局变量的值
Global_getvar(var) {
  if !(var~="^\S{1,253}$")
    return
  if Global_createvar(var)
    ControlGetText, value
  return, value
}

; 修改全局变量的值
Global_setvar(var, value="") {
  if !(var~="^\S{1,253}$")
    return
  if Global_createvar(var)
    ControlSetText,, %value%
}

; 根据变量名称生成全局变量
Global_createvar(var) {
  DetectHiddenWindows, On
  IfWinExist, [Global][%var%]
    return, 1
  global DebugTip:="正在生成全局变量:" var " ——"
  ; 先启动全局变量管理进程
  IfWinNotExist, <<Global>>
  {
    s=
    (%
    #NoEnv
    #NoTrayIcon
    #SingleInstance force
    Menu, Tray, Icon, Shell32.dll, 19
    Menu, Tray, Tip, 全局变量管理进程
    DetectHiddenWindows, On
    IfWinExist, <<Global>>
      ExitApp
    Gui, Add, Edit, vMyEdit
    Gui, Show, Hide, <<Global>>
    index:=0
    return

    GuiClose:
    GuiControlGet, var,, MyEdit
    if (var!="")
    {
      GuiControl,, MyEdit
      index++
      Gui, var%index%:Add, Text, w100 h100
      Gui, var%index%:Show, Hide, [Global][%var%]
    }
    return
    )
    Exec(s)
  }
  WinWait, <<Global>>,, 10
  if !ErrorLevel
  {
    ControlSetText,, %var%
    WinClose
    WinWait, [Global][%var%],, 10
  }
  return, !ErrorLevel
}

; 动态运行AHK代码
Exec(s, Ahk="", arg="") {
  s:=RegExReplace(s, "\R", "`r`n")
  Ahk:=Ahk ? Ahk : A_AhkPath
  IfNotExist, %Ahk%
  {
    MsgBox, 4096, 错误, 找不到AHK主程序:%AHK% !
    return
  }
  Try {
    exec:=ComObjCreate("WScript.Shell").Exec(Ahk . " /r * " . arg)
    exec.StdIn.Write(s)
    exec.StdIn.Close()
  }
  Catch {
    s:="`r`nFileDelete, %A_ScriptFullPath%`r`n" . s
    f:=A_Temp "\~test1.tmp"
    FileDelete, %f%
    FileAppend, %s%, %f%
    Run, %Ahk% /r "%f%" %arg%
  }
}


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

;

打印这项 推荐给朋友

  那位大神可以写个剑三的按键,剑三现在遮屏了AHK。
发布: wsdsjlgg - 2017-09-27 12 : 10 - 无回复

那位大神可以写个剑三的按键,剑三现在遮屏了AHK。
但是按键精灵还可以用,这不公平啊,我们AHK怎么能输给按键精灵。

打印这项 推荐给朋友

Rainbow 解决AHK的一个小bug:热字符串不定时失效的问题
发布: moonhuahua - 2017-09-26 10 : 16 - 回复 (1)

AHK的热字符串不定时失效的问题,困扰许久(有大神说是AHK的问题)
曲线解决如下:
建议单独建立个ahk脚本放热字符串
以下代码以;右边的 ' 为例(就是回车左边的那个键)

代码:
Process, Priority,,high            ;脚本高优先级
#NoTrayIcon                         ;隐藏托盘图标
#Persistent                        ;让脚本持久运行(关闭或ExitApp)
#SingleInstance Force                ;跳过对话框并自动替换旧实例
#WinActivateForce                    ;强制激活窗口
SetBatchLines -1                    ;脚本全速执行
CoordMode Menu Window                ;坐标相对活动窗口
SendMode Input                        ;更速度和可靠方式发送键盘点击
SetTitleMatchMode RegEx            ;窗口标题正则匹配    ;SetTitleMatchMode 2;窗口标题模糊匹配

global xzhhh := 1
Sleep 5000
global xzhhh := 0
return

~'::
Reload
return

#if xzhhh=1
/*
我的快捷替换短语>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
*/
;【*】 的作用是不用输入终止符即自动替换
;=======================================================
;【ad*----地址类】
:*:adthl::
    sendinput   {BackSpace}{raw}厦门市思明
return
;=======================================================
;【em*----邮箱类】
:*:emqq::        ;QQ邮箱
    sendinput   {BackSpace}{raw}28578
return
;=======================================================
;【tel*----电话类】
:*:telhwz::    
    sendinput   {BackSpace}{raw}韩,181
return
;=======================================================
;【-*----日期类】
:*:-=::       ;今天,20160602
    sendinput  {BackSpace}%A_YYYY%%A_MM%%A_DD%
return
:*:--::       ;今天,2016-06-22
    sendinput  {BackSpace}%A_YYYY%-%A_MM%-%A_DD%
return
:*:-0::       ;今天,2016.06.22
    sendinput  {BackSpace}%A_YYYY%.%A_MM%.%A_DD%
return
;=======================================================
;【**----名称类】
:*:lf::       ;联发集团有限公司
    sendinput  {BackSpace}联发集团有限公司
return

#if
自己使用没问题,欢迎大家测试
自己扩展时注意要加 {BackSpace},否则会多个'符号

打印这项 推荐给朋友

  如何复制时间粘贴自动增加1分钟?
发布: abc001 - 2017-09-25 08 : 37 - 回复 (6)

如何复制
09-25 08:00
粘贴自动增加1分钟输出为
09-25 08:01
需要考虑类似以下情况如何输出
09-25 08:59
09-25 23:59
另外还要区别于其它复制,如复制文字。
请大家帮帮忙,先谢了。
以下代码只对数字如123有效,对以上时间无效。比如复制123粘贴就变为124了。

代码:
#c::
Send,^c
var := clipboard
var := var + 1
clipboard := var
Return

打印这项 推荐给朋友

  怎样让两个中文冒号,变成两个英文冒号?
发布: bootislands1 - 2017-09-25 05 : 56 - 回复 (3)

需求
中文输入法下,连续输入两个冒号,自动变成英文的俩冒号,且输入法状态继续是中文

尝试
试过这样写,有效,但有副作用:

代码:
:*?Z:::::
        sendL("::")
        KeyWait, Shift
        SendInput, {Shift}
        return
副作用如下图:
[Image: 2017_09_25_888.gif]

还试过这样写,也有效,但副作用更大;
代码:
RShift up::    ;函数lastNKey(n)返回keyhistory中最近n次击键记录
    if ( lastNKey(5)[1] = ";" && lastNKey(5)[2] = ";" && lastNKey(5)[3] = ";" && lastNKey(5)[4] = ";" )
    {
        SendInput, {BS}{BS}
        sendL("::")
    }
    return

请教大家:有没不干扰其它按键的解决方案呢?Blush 谢谢

打印这项 推荐给朋友

  能不能屏蔽某个软件的右键功能?
发布: abc001 - 2017-09-20 19 : 59 - 回复 (2)

本人使用的逍遥笔手写输入法 7.3.0.517 官方版.可以全屏手写,非常方便,但有一个BUG,按鼠标右键就会自动从全屏切换到窗口模式,非常地烦人,虽然设置里可以取消右键设置,但实际无效,试了下最新的8.4.​0.2版也存在同样问题。之所以用7.3版,是因为相比新版功能一样且无广告。
因此我在考虑能不能通过AHK实现这样一个功能:
屏蔽逍遥笔手写输入法的右键,使得按下鼠标右键的时候,逍遥笔手写输入法不会切换模式。

参照这个帖子http://ahk8.com/thread-6489.html写了以下代码,仍存在以下问题:
在Juisreader.exe界面按右键,虽然提示的是第一个,但逍遥笔手写输入法仍然还是切换到了窗口模式,也就是右键并未被屏蔽掉,逍遥笔手写输入法还是接收到了右​键。

请高手帮我解答一下,不胜感谢!!!

代码:
Rbutton::
IfWinActive, ahk_exe Juisreader.exe
{
    Send, {Lbutton}
    MsgBox, ,0,0,1
}
else IfWinActive, ahk_exe XYBSky.exe
{
    Send, {Lbutton}
    MsgBox, ,1,1,1
}
else
{
    Send, {Rbutton}
    MsgBox,, 2,2,1
}

打印这项 推荐给朋友


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