7,655
社区成员
发帖
与我相关
我的任务
分享
VOID CALLBACK LineCallback(DWORD hDevice, DWORD dwMsg, DWORD dwCallbackInstance, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3)
{
switch(dwMsg)
{
case LINE_CALLINFO:
{
switch(dwParam1)
{
case LINECALLINFOSTATE_CALLERID:
{
//szPhoneNumber ---- 呼入的电话号码
}
case LINECALLINFOSTATE_CONNECTEDID :
{
LINECALLINFO *lpCallInfo;
lpCallInfo = (LINECALLINFO *)malloc(sizeof(LINECALLINFO)+1000);
memset(lpCallInfo, 0, sizeof(LINECALLINFO)+1000);
lpCallInfo->dwTotalSize = sizeof(LINECALLINFO)+1000;
while (1)
{
lineGetCallInfo( (HCALL)hDevice, lpCallInfo);
if (lpCallInfo->dwTotalSize < lpCallInfo->dwNeededSize)
lpCallInfo = (LINECALLINFO *)realloc(lpCallInfo,lpCallInfo->dwNeededSize);
else break;
}
TCHAR szPhoneNumber[30];
lstrcpy(szPhoneNumber,(LPTSTR)((LPSTR)((DWORD)lpCallInfo+(DWORD)lpCallInfo->dwCalledIDOffset)));
//lstrcpy(szPhoneNumber,(LPTSTR)((LPSTR)((DWORD)lpCallInfo+(DWORD)lpCallInfo->dwConnectedIDOffset)));
// szPhoneNumber ---- 拨出的电话号码
free(lpCallInfo);
UINT nStrULength=WideCharToMultiByte(CP_ACP,0,szPhoneNumber,-1,NULL,NULL,NULL,NULL);
LPSTR lpStr;
lpStr = (char*)malloc(nStrULength);
WideCharToMultiByte(CP_ACP,0,szPhoneNumber,-1,lpStr,nStrULength,NULL,NULL);
LPSTR lpStr2;
lpStr2 = (char*)malloc(12);
lpStr2 = "要特殊对待的电话号码";
if(strcmp(lpStr,lpStr2)==0)
{
keybd_event(VK_F4,0,0,0);
keybd_event(VK_F4,0,KEYEVENTF_KEYUP,0);
}
break;
}
}
}
break;
}
}