论坛: 编程破解 标题: Windows_Mobile_来电防火墙实现 复制本贴地址    
作者: NetDemon [netdemon]    ADMIN   登录
1。初始化线路并对线路进行监控
代码:

DWORD LineHandleCount=0;
HLINE *LineHandles=NULL;
HLINEAPP LineApp;

VOID CALLBACK LineCallback(DWORD hDevice, DWORD dwMsg, DWORD dwCallbackInstance, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3)
{
}
if ( lineInitialize( &LineApp, g_hInst, (LINECALLBACK)LineCallback, g_szAppWndClass, &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_MONITOR|LINECALLPRIVILEGE_OWNER,
LINEMEDIAMODE_INTERACTIVEVOICE,NULL);
            }
        }
}



2。取得来电号码

代码:

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:
                      {
                        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);
                        // szPhoneNumber  ---- 这就是呼入的电话号码
                        }
                    }
          }
    break;
}
}



3。if这个号码你不想接那就
lineDrop((HCALL)hDevice,NULL,0); //挂断电话
或者重新构建回应信息让对方听到关机、不在服务区或者Y正在通话的消息发送给TAPI。
代码:

This 部分的程序 I 还没有 complete



4。如果你觉得老是看着谁来电累了的话,那就
代码:

void ReleaseLine()
{
        for ( DWORD i=0; i<LineHandleCount; i++ )
        lineClose( LineHandles[ i ] );
        delete[] LineHandles;
        lineShutdown( LineApp );
}


直接把手机关了,然后找个酒吧喝酒去吧

[此贴被 NetDemon(netdemon) 在 09月25日08时20分 编辑过]

地主 发表时间: 06-09-25 08:02

回复: SysHu0teR [syshunter]   版主   登录
什么手机上的啊?这么高级

B1层 发表时间: 06-09-25 19:31

回复: ProgramLive [coolcall]   论坛用户   登录
我正在考虑买什么系统的手机。。好,多发点

B2层 发表时间: 06-09-26 00:30

回复: NetDemon [netdemon]   ADMIN   登录
标题都说了阿,就是基于Windows_Mobile的手机嘛

B3层 发表时间: 06-09-26 04:59

回复: BBL [bbl]   论坛用户   登录
ND...可否把你学习编程的经历给我们写一下呀...拯救我们吧..偶学C++中..
前辈们能给我们你们的学习历程吗?

B4层 发表时间: 06-10-12 09:47

回复: TecZm [teczm]   版主   登录
Coooool!

B5层 发表时间: 06-10-12 10:20

回复: sniper167 [sniper167]   论坛用户   登录
看不懂

B6层 发表时间: 06-10-12 15:27

回复: BearKing [bking]   版主   登录
天啦! 落伍了落伍了

B7层 发表时间: 06-10-14 00:47

回复: NetMairco [jbcsk]   论坛用户   登录
我们猪头老大简直是"狂人"

B8层 发表时间: 06-10-17 16:46

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号