mirror of
https://github.com/reactos/reactos.git
synced 2024-10-15 13:45:58 +00:00
- Play default logon sound when logging on
- Due to unknown issues, this only works at the 2nd login ATM svn path=/trunk/; revision=40967
This commit is contained in:
parent
6888a29db0
commit
175447b431
|
@ -591,6 +591,51 @@ static VOID SetUserPreferences(VOID)
|
||||||
WARN("RegOpenKeyEx() failed with error %lu\n", rc);
|
WARN("RegOpenKeyEx() failed with error %lu\n", rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static VOID
|
||||||
|
PlayLogonSound()
|
||||||
|
{
|
||||||
|
HKEY hKey;
|
||||||
|
WCHAR szBuffer[MAX_PATH] = {0};
|
||||||
|
WCHAR szDest[MAX_PATH];
|
||||||
|
DWORD dwSize = sizeof(szBuffer);
|
||||||
|
HMODULE hLibrary;
|
||||||
|
typedef BOOL WINAPI (*PLAYSOUNDW)(LPCWSTR,HMODULE,DWORD);
|
||||||
|
PLAYSOUNDW Play;
|
||||||
|
|
||||||
|
if (RegOpenKeyExW(HKEY_CURRENT_USER, L"AppEvents\\Schemes\\Apps\\.Default\\WindowsLogon\\.Current", 0, KEY_READ, &hKey) != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (RegQueryValueExW(hKey, NULL, NULL, NULL, (LPBYTE)szBuffer, &dwSize) != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
RegCloseKey(hKey);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
RegCloseKey(hKey);
|
||||||
|
|
||||||
|
if (!szBuffer[0])
|
||||||
|
return;
|
||||||
|
|
||||||
|
|
||||||
|
szBuffer[MAX_PATH-1] = L'\0';
|
||||||
|
if (ExpandEnvironmentStringsW(szBuffer, szDest, MAX_PATH))
|
||||||
|
{
|
||||||
|
hLibrary = LoadLibraryW(L"winmm.dll");
|
||||||
|
if (hLibrary)
|
||||||
|
{
|
||||||
|
Play = (PLAYSOUNDW)GetProcAddress(hLibrary, "PlaySoundW");
|
||||||
|
if (Play)
|
||||||
|
{
|
||||||
|
Play(szDest, NULL, SND_FILENAME);
|
||||||
|
}
|
||||||
|
FreeLibrary(hLibrary);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
VOID SetUserSettings(VOID)
|
VOID SetUserSettings(VOID)
|
||||||
{
|
{
|
||||||
|
@ -640,6 +685,7 @@ wWinMain(IN HINSTANCE hInst,
|
||||||
SetUserSettings();
|
SetUserSettings();
|
||||||
StartShell();
|
StartShell();
|
||||||
NotifyLogon();
|
NotifyLogon();
|
||||||
|
PlayLogonSound();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue