[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 在powershell中执行ahk的代码遇到的问题

本帖最后由 小白龙 于 2024-1-10 19:34 编辑

不知道有没有人分享过, 在powershell上执行ahk代码可以这么简单, 先从下面链接下载dll放到桌面, 然后执行代码即可
https://www.nuget.org/packages/AutoHotkey.Interop

开源地址:https://github.com/kaiser-chris/AutoHotkey.Interop

现在遇到一个问题, 这个DLL体积有点大,好像打包了两个版本的dll,一个x86的一个x64, 执行时, 会在临时文件夹中解包出对应的dll,
而我又不用x86, 只用x64的, 怎样修改源代码只留下x64的dll? 另外解压也需要时间, 怎样实现不解包到临时文件夹, 而是在当前文件夹下直接调用? 这样应该就快一些了, 求路过大佬支招, 感谢!
  1. Add-Type -Path "$HOME\desktop\AutoHotkey.Interop.dll"
  2. #create an autohtkey engine.
  3. $ahk = New-Object AutoHotkey.Interop.AutoHotkeyEngine
  4. $code = @'
  5. SayHello(name)
  6. {
  7. MsgBox, Hello %name%
  8. }
  9. '@
  10. $ahk.LoadScript($code)
  11. $ahk.ExecFunction("SayHello", "lucy")
复制代码

回复 2# Five66


    多谢大佬指导, 我没有装VS, 能编译吗?

TOP

回复 2# Five66


    powershell的 add-type 命令也支持将C#代码生成dll 但是, 懂的太少, 搞不定

TOP

回复 5# Five66


    多谢大佬指导, 我看下面注释掉的块中有 v2_AutoHotkey.dll , 看来也把v2的DLL也嵌入了? 难道还能执行V2版的AutoHotkey代码吗? 如果我的代码是v2的,那怎么切换版本呢? 我看解压到临时文件夹中的dll, 并没有v2_AutoHotkey.dll的情况

<!--
    <EmbeddedResource Include="x64\AutoHotkey.dll" />
    <EmbeddedResource Include="x86\AutoHotkey.dll" />
    <EmbeddedResource Include="x64\v2_AutoHotkey.dll" />
    <EmbeddedResource Include="x86\v2_AutoHotkey.dll" />
-->

TOP

回复 7# Five66

多谢大佬, 确实可以

TOP

返回列表