W moim nowym monitorze przy każdym uruchomieniu środowiska graficznego (MS Windows 6.1) muszę otworzyć okienko obsługi sterowników, by nacisnąć jeden przycisk który znacząco poprawia jakość obrazu. Chyba nie trzeba pisać jak bardzo to mnie wkurza ;) Tutaj moje pytanie- czy da się napisać program, który po odpaleniu odpala okienko innego programu i klika w punkt o ściśle określonych współrzędnych? Jeśli tak, to prosiłbym o jakieś wskazówki, np. jakiej funkcji z danej biblioteki użyć .
Można, ale prościej byłoby chyba dowiedzieć się co ten przycisk robi i napisać program który zrobi to samo.
Tezcatlipoca napisał(a)
Można, ale prościej byłoby chyba dowiedzieć się co ten przycisk robi i napisać program który zrobi to samo.
Po prostu muszę wejść do okienka i nacisnąć "Zastosuj" , wtedy automagicznie wszystko się reguluje. Zawsze mogę poznać dwie metody rozwiązania tego problemu, więc byłbym wdzięczny za jakiekolwiek rady/wskazówki. Niestety biblioteka windows.h (a w niej pewnie są jakieś przydatne funkcje) jest mi słabo znana.
W takim razie zamykam swoje pytanie: czy po tym http://guidecpp.cal.pl/winapi,window kursie będę miał wiedzę wystarczającą do rozwiązania mojego problemu?
HWND WINAPI FindWindow(
__in_opt LPCTSTR lpClassName,
__in_opt LPCTSTR lpWindowName
);
tą funkcją uzyskasz uchwyt do okna programu
int hWnd = FindWindow(null, "nazwa okienka twojego programu");
HWND WINAPI FindWindowEx(
__in_opt HWND hwndParent,
__in_opt HWND hwndChildAfter,
__in_opt LPCTSTR lpszClass,
__in_opt LPCTSTR lpszWindow
);
tą funkcją uzyskasz uchwyt do przycisku
int buttonWnd = FindWindowEx(hWnd, 0, null, "nazwa wyświetlana na przycisku");
LRESULT WINAPI SendMessage(
__in HWND hWnd,
__in UINT Msg,
__in WPARAM wParam,
__in LPARAM lParam
);
tą funkcją "naciśniesz" przycisk
SendMessage(buttonWnd, 0x0F5, 0, 0);
SendMessage(hWnd, 0x0112, 0xF060, 0);
Tą funkcją zamkniesz program
Dodaj do autostartu oba programy, żeby uruchomiły się przy starcie systemu.