当前位置: 代码迷 >> Windows Mobile >> 请教,在VS2005,pocket pc下面怎么用VC++获得用户当前所设置的铃声呢
  详细解决方案

请教,在VS2005,pocket pc下面怎么用VC++获得用户当前所设置的铃声呢

热度:153   发布时间:2016-04-25 07:53:14.0
请问,在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;
  相关解决方案