用 AutoHotkey 做为 win32 程序的库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用 AutoHotkey 做为 win32 程序的库相关的知识,希望对你有一定的参考价值。

参考技术A AutoHotkey 提供了一些常用例程,操作文件、注册表、windows api、注册热键都不再话下,如果你曾经想给 win32 窗体程序集成一个脚本引擎,比如 python、Lua 之类,不妨考虑一下 AHK。至少你不要写一堆的常用函数/对象导出,AHK 已经提供了,大可以把 AHK 封成一个 DLL 来调用,也可以把你的窗体程序封成 DLL ,让 AHK 来调用。必要时还可以把脚本加密,在内存中解密加载。

典型的应用场景:推广弹泡脚本化,干一些为人所不齿的勾当

使用autohotkey定制windows 10 虚拟桌面的快捷键

Win10没有提供修改虚拟桌面快捷键的功能,默认的快捷键win+tab 打开虚拟桌面列表之后,还需要手动点击某个虚拟桌面才能进行切换,不是很方便,


所以我们使用AHK软件来自定义快捷键 ,通过自定义的快捷键快速的在多个虚拟桌面之间进行切换,


所需工具: AHK(AutoHotkey)
工具说明:键盘,鼠标等的脚本模拟工具,可以监听,触发键盘和鼠标的动作。
下载: autohotkey.com/download  https://www.autohotkey.com/download/


如何创建脚本参考官方说明:

b. How to create a script

Text instructions:

  1. Right-Click on your desktop. 右键点击桌面
  2. Find "New" in the menu.     弹出菜单中选择“新建
  3. Click "AutoHotkey Script" inside the "New" menu.  点击AutoHotkey Script子菜单
  4. Give the script a new name. It must end with a .ahk extension. 重命名文件 
  5. Find the newly created file on your desktop and right-click it. 右键点击刚才创建的文件
  6. Click "Edit Script".   在菜单中点击Edit Script
  7. A window should have popped up, probably Notepad. If so, SUCCESS! 弹出编辑窗口,可能是记事本
  8. Save the File.  保存脚本文件
  9. Double-click the file/icon in the desktop to run it.  双击脚本文件,运行

参考脚本:

; Windows 10 虚拟桌面自动切换 
	!1::
	send #Tab 
	Return 
	!F2::
	send #^right 
	return 
	!F1::
	send #^left
	return 
	#2:: 
	 
		DetectHiddenWindows, on 
		if WinExist("ahk_exe idea64.exe") 
			WinActivate, ahk_class SunAwtFrame 
		else 
			Run, idea64.exe
	 
	return
	; ---------------------------------------------------- 
	#1:: 
	
		DetectHiddenWindows, on 
			if WinExist("ahk_exe notepad++.exe") 
				WinActivate, notepad++ 
			else 
				Run, notepad++.exe 
	 
	return
	; ----------------------------------------------------
	#3:: 
	 
		DetectHiddenWindows, on 
			if WinExist("ahk_exe WeChat.exe")
				WinActivate, ahk_class WeChatMainWndForPC
			else 
				Run, WeChat.exe 
	 
	return
	; ----------------------------------------------------
	#c:: 
	 
		DetectHiddenWindows, on 
			if WinExist("ahk_exe chrome.exe") 
				WinActivate, ahk_class Chrome_WidgetWin_1 
			else 
				Run, chrome.exe
	 
	return
	; ---------------------------------------------------- 
	#b:: 
	 
		DetectHiddenWindows, on 
			if WinExist("ahk_exe BCompare.exe") 
				WinActivate, ahk_class TViewForm.UnicodeClass 
			else 
				Run, BCompare.exe
	
	return
	;------------------------------------------

脚本说明:

alt+1 显示任务视图(所有桌面)
alt+F1 上一个桌面
alt+F2 下一个桌面
替代默认win+数字的功能,具体可自定义,
win+1 激活钉钉
win+2 激活IDEA
win+3 激活微信
win+c 激活chrome
win+b 激活beyondcompare


如想要修改,只需编辑脚本文件,替换想应的应用程序名即可。

 

以上是关于用 AutoHotkey 做为 win32 程序的库的主要内容,如果未能解决你的问题,请参考以下文章

autohotkey怎么启动win10的uwp应用?

如何将 WM_COPYDATA 从 C++ 发送到 AutoHotKey?

Windows 在使用罗马尼亚程序员布局输入罗马尼亚字符后发疯,同时使用 Autohotkey 重新映射 Alt/Ctrl/Win

win10用autohotkey怎样将caps改为caps+esc就是按caps+esc锁定大写?

everything + autohotkey的配合使用

win32 MSG 值