[英]how to register a 64bit python COM server
ahk 代码: ComObjCreate("{C2474B5A-5E9D-484D-BDFD-20A100183426}")
这适用于 AutoHotkeyU32.exe,但不适用于 AutoHotkeyU64.exe
错误信息是: the specified module could not be found.
完整代码在这里: How to program hotstrings in python like in autohotkey
您需要 pywin32,但不要使用pip install pywin32
从https 下载://github.com/mhammond/pywin32/releases
否则它对 AutoHotkeyU64.exe 不起作用,它只对 AutoHotkeyU32.exe 起作用。
确保下载amd64,(我下载了pywin32-300.win-amd64-py3.8.exe)
编辑:现在我明白为什么它不起作用
如果您正确注册,我认为它可以在使用pip install pywin32
时工作。
你有2个选择:
UseCommandLine()
,使用RegisterServer(clsctx=pythoncom.CLSCTX_LOCAL_SERVER, ...)
UseCommandLine()
注册服务器后,删除注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{C70F3BF7-2947-4F87-B31E-9F5B8B13D24F}\PythonCOMPath\InprocServer32
CLSID
替换{C70F3BF7-2947-4F87-B31E-9F5B8B13D24F}
(我认为)没有必要
键: InprocServer32
:
Name
:( (Default)
Type
: REG_EXPAND_SZ
Data
: pythoncom39.dll
,
另外,要求它会失败
(我认为)没有必要,因为它实际上使用 LocalServer32 (这也是一个关键)
我的是:
Name
:( (Default)
Type
: REG_SZ
Data
: C:\PROGRA~3\Miniconda3\pythonw.exe "C:\ProgramData\Miniconda3\lib\site-packages\win32com\server\localserver.py" {C70F3BF7-2947-4F87-B31E-9F5B8B13D24F}
localserver.py
是做 COM 东西的人,为了证明这一点,将pythonw
替换为python
。 当它运行时,你会得到 window。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.