Dzień dobry, pytanie mam pytanie, jest możliwość wysyłania Minecraft'owi poleceń z pozycji programu gdy ten odpalony jest w tle? Muszę napisać program który steruje graczem gdy użytkownik np. przegląda YouTube'a. Szukając odpowiedzi na moje pytanie znalazłem SendInput, ale z tego co widziałem na filmiku to po prostu symuluje naciśnięcie przycisku więc żeby to działało w MC to gra musi być cały czas aktywna ( nie może być w tle, tylko na pierwszym planie ). Wpadłem też na pomysł by użyć qProcess, ale użytkownik musiał by włączać grę z programu za każdym razem jakby chciał skorzystać z programu. Jest jakaś możliwość symulowania przycisku, ale tylko dla jeden, danej, aplikacji?
"To zależy". Generalnie możesz w WinAPI pobrać handle danego programu i wysyłać do niego sygnały, ale nie zdziwi mnie gdyby były przed tym jakieś zabezpieczenia.
Dlaczego miały były by być?
( WinAPI jest od razu zainstalowane w Windowsie? )
Dlaczego miały były by być?
Bo to gra komputerowa z opcją gry wieloosobowej, a te często mają tego typu zabezpieczenia, bo gracze oczekują tego od nich — że będą grać z ludźmi, a nie z ludźmi wspomaganymi maszynowo czy wręcz z samymi maszynami.
WinAPI jest od razu zainstalowane w Windowsie?
WinAPI to API Windowsa — czyli sposób, w jaki programy się z nim komunikują odnośnie swoich potrzeb („wyświetl mi okieko”, „otwórz mi plik”, „daj mi odczyt z myszki”, itd.). Mogą mieć po drodze różnych pośredników (i pośredników między pośrednikami), ale koniec końców wszystko przez to musi przejść. Więc tak, jest już wbudowane w system i na pewno je każdy ma.
Tutaj masz przykład i możliwy problem z jakim sie spotkasz
https://4programmers.net/Forum/C_i_C++/156790-WinApi_SendMessage_
@gswidwa1: A z ciekawości, wiesz czemu SendMessage i PostMessage działają tylko w czacie MC i nie mogę za ich pomocą ruszać postacią?
Tak. To dlatego, że łączysz się z oknem głównym. Okno główne ma okienka dzieci, które musisz wyszukać :)
No to mam problem bo nie widzę go w drzewku spy++. Ale mogę znaleźć okno poprzez znajdź okno. ( Mogę znaleźć jego pod okna gdzieś w okienku wyszukiwania okienka? )
Ta funkcja pobiera kontrolki dzieci https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-enumchildwindows. Pamiętaj, że to może być również dziecko "kontrolki dziecka" itd.
@gswidwa1: A jeżeli okno główne nie ma dzieci? Jest jakaś inna opcja zasymulowania GLFW że klawisz został wciśnięty?
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.