python - 如何在没有管理员权限的情况下创建 Python COM 服务器?
问题描述
我想运行一个 Python COM 服务器并能够从另一个 Python 客户端 ping 它,而无需提供管理员访问权限。(我已经按照这里的教程进行操作,并获得了 COM 通信以使用管理员权限)。
我不知道我错过了什么,但是当我运行这个 COM 服务器代码时似乎什么都没有发生。我还得到了 的句柄打印输出65536
,我猜这毫无意义。(我知道可以在没有管理员权限的情况下编辑 HKCU 注册表,但我真的不明白我应该如何使用此服务器代码实现这一点。)
服务器.py
import pythoncom
import win32com
from win32com.server.util import wrap
_reg_clsid_ = "{6B39CAA1-A320-4CB0-8DB4-352AA81E460E}"
class ActiveObject:
_public_methods_ = ["ping"]
def ping(self):
return "1"
if __name__ == "__main__":
ob = win32com.server.util.wrap(ActiveObject)
handle = pythoncom.RegisterActiveObject(ob, _reg_clsid_, 0)
print(handle)
客户端.py
import win32com.client
server = win32com.client.Dispatch("{6B39CAA1-A320-4CB0-8DB4-352AA81E460E}")
print(server.ping())
如果您需要我提供更多信息,请告诉我。(我在 Windows 10 机器上使用 Python 3.8)
顺便说一句,如果有帮助的话,我也可以使用 AutoHotkey 帮助在注册表中注册服务器。(我的最终目标是让 AutoHotkey 客户端与服务器对话,但首先我只需要让该服务器与基本的 python 客户端一起工作,而无需授予管理员权限)
解决方案
推荐阅读
- flutter - 在颤动中单击字段时,文本字段不显示键盘
- c# - Html Agility Pack xpath 抛出空异常
- django - 列表视图模板中的反向 url 链接
- python - 熊猫中的错误文件路径
- python - Python StockTwits 发布消息
- python - NumPy - 麻烦矢量化方法
- javascript - 用 Java 脚本清理字符串
- apache-spark - 无法在 Spark 中将文件写入 Zeppelin 上的远程 hdfs
- sql - 根据值 1 和值 2 增加行号
- json - 我如何在 json 文件中观看带有 instagram url 链接的视频。它使 url 签名过期