Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- HWND combo_box, standard;
- BOOL CALLBACK EnumChildProc(HWND hwnd, LPARAM lParam)
- {
- char szBuff[255];
- if(GetWindowText(hwnd, szBuff, sizeof(szBuff)))
- {
- if(!strcmp("&Als Standard", szBuff) && standard == NULL)
- {
- standard = hwnd;
- }
- }
- if(GetClassName(hwnd, szBuff, sizeof(szBuff)))
- {
- if(!strcmp("SysListView32", szBuff) && combo_box == NULL)
- {
- combo_box = hwnd;
- }
- }
- return true;
- }
- void changeAudio()
- {
- static boolean switcher = true;
- standard = NULL;
- combo_box = NULL;
- HWND Back;
- system("control mmsys.cpl");
- HWND appletWindow = FindWindowA(NULL,"Sound");
- do
- {
- Sleep(10);
- appletWindow = FindWindowA(NULL,"Sound");
- }
- while((appletWindow == NULL));
- do
- {
- Sleep(10);
- }while(!IsWindowVisible(appletWindow));
- EnumChildWindows(appletWindow,EnumChildProc,(LPARAM)&Back);
- LVITEM temp;
- DWORD PID;
- //DWORD threadId = GetWindowThreadProcessId(combo_box, &PID);
- GetWindowThreadProcessId(combo_box, &PID);
- HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, PID);
- LPVOID lpRemoteBuffer = VirtualAllocEx(hProcess, NULL, sizeof(LVITEM), MEM_COMMIT, PAGE_READWRITE);
- temp.mask = LVIF_STATE;
- temp.state = 15;
- temp.stateMask = LVIS_SELECTED | LVIS_FOCUSED;
- WriteProcessMemory(hProcess, lpRemoteBuffer, &temp,sizeof(LVITEM),NULL);
- SendMessage(combo_box, LVM_SETITEMSTATE, (int)switcher, (LPARAM)lpRemoteBuffer);
- switcher = !switcher;
- SendMessage(standard,BM_CLICK,0,0);
- VirtualFreeEx(hProcess, lpRemoteBuffer, 0, MEM_RELEASE);
- CloseHandle(hProcess);
- SendMessage(appletWindow,WM_CLOSE,0,0);
- }
Advertisement
Add Comment
Please, Sign In to add comment