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消息(多方通话不会有,不过也不会响铃),所以在这里
把声音去掉绝对不会有问题
优点:直接控制音量,静音实现没有时间限制,可以随时恢复
缺点:有一部分手机根本没有实现mixer这一层驱动
源码:
已丢失
2:注册表:
有2个地方可以改:
这个是改响铃方式,可以修改为振动,响一次,声音逐渐加大等等
a是没反应,script是正常响铃,其他的请查msdn,这个可以改掉为每个联系人定制的音乐改掉声音
这个是改响铃的默认音乐,换一个没有有声音有的就好了
不过不能改掉为每个联系人定制的铃声
HKEY_CURRENT_USERControlPanelSoundsRingTone0]
"Sound"="oemringtone.wav"
不过改注册表有一点不好就是wince不会一直查注册表,如果要恢复声音的话,你在查完数据库之后的时间不多
最后提一下改的时机,由于电话进来时最先得到的时Ril_Ring消息(多方通话不会有,不过也不会响铃),所以在这里
把声音去掉绝对不会有问题