TAPI获得来电消息和来电号码?

masepu 2010-03-30 02:32:28
我在写一个可以获得来电消息并能够获得来电号码的程序,通过查找
现在实现了获得来电消息并响应的功能.但如何获得来电号码呀,
网上的代码我试了不行,获得的szPhoneNumber不是来电号码呀.
而且我是通过循环来初始化来电线路的,是不是有更好办法?
全部代码如下:

#include <windows.h>
#include <tapi.h>

DWORD lineHandleCount;
HLINE *lineHandles;
HLINEAPP lineApp;


VOID CALLBACK LineCallback(DWORD hDevice, DWORD dwMsg, DWORD dwCallbackInstance, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3)
{
switch(dwMsg)
{
case LINE_APPNEWCALL: // message of new incall

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->dwCallerIDOffset)));
free(lpCallInfo);
MessageBox(NULL,szPhoneNumber,szPhoneNumber,MB_OK);
// szPhoneNumber
---- 这就是呼入的电话号码 } } } break;}}

for ( DWORD i=0; i<lineHandleCount; i++ )
lineClose( lineHandles[i]);

delete[] lineHandles;
lineShutdown( lineApp );

break;

case LINE_CALLSTATE: // message of call state changed

switch(dwParam1)

{

case LINECALLSTATE_DISCONNECTED: // 来电挂断
break;

// case ...

// ...

default:

break;

}

// case ......

// ...

default:

break;

}

}
int WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
//MessageBox(NULL,L"dd",L"DD",MB_OK);

//通过循环来初始化来电线路
while(lineInitialize(&lineApp,hInstance,(LINECALLBACK)LineCallback,L"Video",&lineHandleCount)==0) {

Sleep(100);
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_MONITOR|LINECALLPRIVILEGE_OWNER,LINEMEDIAMODE_INTERACTIVEVOICE,NULL);
}
}

}
}
...全文
117 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ginpq 2010-03-31
  • 打赏
  • 举报
回复
学习 。
ghd2004 2010-03-31
  • 打赏
  • 举报
回复
嘿嘿,看看
feishanm 2010-03-30
  • 打赏
  • 举报
回复
嘿嘿,做个标记。
bsr2009 2010-03-30
  • 打赏
  • 举报
回复
奇怪,那你得到的szPhoneNumber是什么值?
参考一下:
使用TAPI开发电话防火墙程序

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧