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);
|
||||
}
|
||||
|
||||
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
|
||||
VOID SetUserSettings(VOID)
|
||||
{
|
||||
|
@ -640,6 +685,7 @@ wWinMain(IN HINSTANCE hInst,
|
|||
SetUserSettings();
|
||||
StartShell();
|
||||
NotifyLogon();
|
||||
PlayLogonSound();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue