Python使用TAPI(电话应用程序编程接口)进行调用

2024-10-02 02:23:45 发布

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

这段python代码将使用调制解调器和TAPI拨打电话,但它只在第一次工作时起作用。如果我重新运行python脚本,它将不会再次拨号

import win32com.client

cls = "TAPI.TAPI.1"
sNumber = '12345678' # Adjust it to phone number


ti = win32com.client.Dispatch(cls)._oleobj_.GetTypeInfo()
tlb, index = ti.GetContainingTypeLib()
tla = tlb.GetLibAttr()
win32com.client.gencache.EnsureModule(tla[0], tla[1], tla[3], tla[4], bValidateFile=0)

class TapiEvents(win32com.client.getevents(cls)):
    def OnEvent(self, ev1,ev2): 
        print("OnEvent")

tapi = win32com.client.Dispatch(cls)
if tapi != None:

    hr = tapi.Initialize()
    print("Initialized")

    for item in tapi.Addresses: 
        print(item.AddressName)
        objCrtAddress = [item for item in tapi.Addresses][0]
        gobjCall = objCrtAddress.CreateCall(sNumber, 1, 0x8)
        gobjCall.Connect (False)       
    
    hr = tapi.Shutdown()
    print("Shutdown")
    del tapi

Tags: clientfortihritemwin32comclsdispatch

热门问题