请问,在VS2005,pocket pc下面如何用VC++获得用户当前所设置的铃声呢?
请问,在VS2005,pocket pc下面如何用VC++获得用户当前所设置的铃声呢?
可以用SDK或者什么API可以获得到吗?
[解决办法]
应该可以,通过操作注册表的相关函数得到铃声的文件名,具体在注册表的哪个位置得自己去找一下。
[解决办法]
我记得是HLKC\controlpanel\phone\ringtone0
[解决办法]
HKEY g_hkResult = NULL;
DWORD dwDisposition;
DWORD dwDWORD1=0;
int iResult;
if (RegCreateKeyEx(REGISTRY_ROOT, REGRING0_KEY, (DWORD) 0, TEXT(""), 0, 0, NULL, &g_hkResult, &dwDisposition) != ERROR_SUCCESS)
{
return dwDWORD1;
}
if (REG_OPENED_EXISTING_KEY != dwDisposition)
{
}
// sanity check
VERIFY(g_hkResult);
DWORD dwSize=0;
iResult = RegQueryValueEx(g_hkResult, name, (LPDWORD) NULL,NULL, (PBYTE) NULL, &dwSize);
if (ERROR_SUCCESS == iResult)
{
// now that we have the length, malloc space and get the string
strnull = new TCHAR[dwSize];
if (NULL == *strnull)
{
RegCloseKey(g_hkResult);
dwDWORD1=0;
}else
{
iResult = RegQueryValueEx(g_hkResult, name, (LPDWORD)NULL,NULL, (PBYTE)&strnull, &dwSize);
if (ERROR_SUCCESS != iResult)
{
delete [] strnull;
strnull = NULL;
dwDWORD1=0;
}else
{
dwDWORD1=dwSize;
}
}
}
if (ERROR_SUCCESS != iResult)
{
dwDWORD1=0;
}
RegCloseKey(g_hkResult);
return dwDWORD1;