C++ hWnd = FindWindow("Shell_TrayWnd"); // volume up SendMessage(hWnd, WM_APPCOMMAND, 0, APPCOMMAND_VOLUME_UP << 16); // volume up - using only decimal values SendMessage(hWnd, 793, 0, 655360); // volume down SendMessage(hWnd, WM_APPCOMMAND, 0, APPCOMMAND_VOLUME_UP << 16); SendMessage(hWnd, 793, 0, 589824);
We use SendMessage to send a message to increase volume in Windows:
LRESULT WINAPI SendMessage( _In_ HWND hWnd, - handler of our window or any handler because is the handler of the window that sends the message. _In_ UINT Msg, - WM_APPCOMMAND which is defined as 0x0319 (hex) in Windows so we use 793 (decimal). _In_ WPARAM wParam, - 0 _In_ LPARAM lParam - message specific information derived from APPCOMMAND_VOLUME_UP which is defined as 10 (decimal) in Windows );
To get a handler we use FindWindow to get the Tray window:
HWND WINAPI FindWindow( _In_opt_ LPCTSTR lpClassName, _In_opt_ LPCTSTR lpWindowName );
Useful definitions from here:
#define WM_APPCOMMAND 0x0319 APPCOMMAND_VOLUME_MUTE 8 APPCOMMAND_VOLUME_DOWN 9 APPCOMMAND_VOLUME_UP 10