pythonwin32com事件不能从命令lin运行

2024-03-29 07:35:53 发布

您现在位置:Python中文网/ 问答频道 /正文

import win32com.client as cc


class AgentEvents(object):
    def OnClick(self, cid, button, shift, x, y):
        peedy.Speak('He he he')
    def OnCommand(self, UserInput):
        cmdname = cc.Dispatch(UserInput).Name
        print(cmdname)
        if cmdname == 'hwru':
            peedy.Speak('Well. Thank you.')
        elif cmdname == 'yoname':
            peedy.Speak('My name is Peedy.')


ag = cc.DispatchWithEvents('Agent.Control.2', AgentEvents)
ag.Connected = True
ag.Characters.Load('peedy', 'peedy.acs')
peedy = ag.Characters('peedy')
peedy.Show()
peedy.LanguageID=0x0409
#print(peedy.SRModeID)
peedy.Commands.Add('hwru','how are you','how are you',True,True)
peedy.Commands.Add('yoname',"what's your name","what's your name",True,True)
ag.CommandsWindow.Visible=True

当我从pythonwin-IDE运行时,一切正常,但是从windows命令行OnCommand事件不起作用时,它不会输出错误,COM对象方法(比如皮蒂,说话(“你好”)工作也很正常。 是否可以将win32com activex对象与命令行中的事件一起使用?在

解决方法:

^{pr2}$

Tags: nameselfyoutruedefwin32comcche