用TAPI实现来电拒接
分享一段自己写的M8能用的自动来电拒接的代码段
void CtestuiDlg::OnBnClickedButton1()
{
if(lineInitialize(&lineApp,theApp.m_hInstance,(LINECALLBACK)LineCallback,L"Video",&lineHandleCount)==0)
{
lineHandles = new HLINE[lineHandleCount];
for(DWORD i = 0; i < lineHandleCount; i++)
{
int rc;
DWORD ver;
LINEEXTENSIONID extensionID;
if( lineNegotiateAPIVersion( lineApp, i, 0x00010000, 0x00020000, &ver, &extensionID ) == 0 )
{
rc = lineOpen( lineApp,i,&lineHandles[ i ],ver,0,(DWORD)0,LINECALLPRIVILEGE_OWNER,LINEMEDIAMODE_INTERACTIVEVOICE,NULL);
}
}
}
}
回调函数如下:
VOID CALLBACK LineCallback(DWORD hDevice, DWORD dwMsg, DWORD dwCallbackInstance, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3)
{//dwMsg是线路消息,dwParam1,dwParam2是具体的事件
lineDrop((HCALL)hDevice,NULL,0);
}
TAPI是好东西呀。
在来电的时候COM9会收到“RING”消息,表示有来电,但我不知道如何在这个消息发出的第一时间获取。
LZ可以尝试用TAPI获取消息以后用AT指令查询来电信息。当然,也可以用AT+CHUN这样的指令挂机。
在来电的时候COM9会收到“RING”消息,表示有来电,但我不知道如何在这个消息发出的第一时间获取。
LZ可以尝试用TAPI获取消息以后用AT指令查询来电信息。当然,也可以用AT+CHUN这样的指令挂机。