如何创建没有管理员权限的Python COM服务器?

时间:2020-05-15 03:35:05

标签: python com

我想运行一个Python COM服务器,并能够从另一个Python客户端ping它,而不必提供管理员访问权限。 (我已经按照教程here进行了学习,并获得了COM通信以使用管理员权限。)

我不知道缺少什么,但是运行此COM服务器代码时似乎什么也没发生。我还得到65536的句柄打印输出,我认为这毫无意义。 (我知道HKCU注册表可以在没有管理员权限的情况下进行编辑,尽管我不太了解如何使用此服务器代码来实现。)

server.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)

client.py

import win32com.client
server = win32com.client.Dispatch("{6B39CAA1-A320-4CB0-8DB4-352AA81E460E}")
print(server.ping())

如果您需要我的更多信息,请告诉我。 (我正在Windows 10计算机上使用Python 3.8)

顺便说一句,如果有帮助,我也可以使用AutoHotkey帮助在注册表中注册服务器。 (我的最终目标是让AutoHotkey客户端与服务器对话,但是首先,我只需要让该服务器与基本的python客户端一起使用,而无需授予管理员权限)

0 个答案:

没有答案