wince 来电防火墙静音实现的几种办法

 1.mixer驱动
优点:直接控制音量,静音实现没有时间限制,可以随时恢复
缺点:有一部分手机根本没有实现mixer这一层驱动
源码:
已丢失
2:注册表:
有2个地方可以改:
这个是改响铃方式,可以修改为振动,响一次,声音逐渐加大等等
a是没反应,script是正常响铃,其他的请查msdn,这个可以改掉为每个联系人定制的音乐改掉声音
HKEY_Current_UserControlPanelSoundsRingTone0Script

#define REG_SCRIPT L"Script"
void SetRing(BOOL Ring)
...{
    LONG lRet = 0;
    LPWSTR lpszSubKey = REG_SCRIPT;
    HKEY hkey = NULL;
    //LPWSTR ring;
    LPWSTR lpRing = NULL;

    lRet = RegOpenKeyEx(HKEY_CURRENT_USER,REG_MUTE,0,0,&hkey);
    if(lRet != ERROR_SUCCESS)
    ...{
        return;
    }

    if(Ring == FALSE)
    ...{
        lpRing = L"a";
    }
    else
    ...{
        lpRing = L"apw3r";
    }

    LPBYTE lpbring=new BYTE[MAX_PATH];
    memcpy(lpbring, lpRing, MAX_PATH);
    DWORD dwringlen = wcslen(lpRing);

    lRet = RegSetValueEx(hkey,lpszSubKey,0,REG_SZ,lpbring,dwringlen*2);
    RegFlushKey(hkey);
    if(lRet != ERROR_SUCCESS)
    ...{
        if(lpbring != NULL)
        ...{
            delete []lpbring;
            lpbring = NULL;
        }
        return;
    }
    if(lpbring != NULL)
    ...{
        delete []lpbring;
        lpbring = NULL;
    }
    return;
}
这个是改响铃的默认音乐,换一个没有有声音有的就好了
不过不能改掉为每个联系人定制的铃声
HKEY_CURRENT_USERControlPanelSoundsRingTone0]
  "Sound"="oemringtone.wav"
不过改注册表有一点不好就是wince不会一直查注册表,如果要恢复声音的话,你在查完数据库之后的时间不多
最后提一下改的时机,由于电话进来时最先得到的时Ril_Ring消息(多方通话不会有,不过也不会响铃),所以在这里
把声音去掉绝对不会有问题
posted @ 2008-11-28 15:17  googlegis  阅读(189)  评论(0编辑  收藏  举报

坐标合肥,非典型GIS开发人员 GitHub