Kontrolowanie Minecraft'em z pozycji programu

0

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?

2

"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.

0

Dlaczego miały były by być?
( WinAPI jest od razu zainstalowane w Windowsie? )

4

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.

2

Tutaj masz przykład i możliwy problem z jakim sie spotkasz
https://4programmers.net/Forum/C_i_C++/156790-WinApi_SendMessage_

0

@gswidwa1: A z ciekawości, wiesz czemu SendMessage i PostMessage działają tylko w czacie MC i nie mogę za ich pomocą ruszać postacią?

1

Tak. To dlatego, że łączysz się z oknem głównym. Okno główne ma okienka dzieci, które musisz wyszukać :)

0

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? )

1

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.

0

@gswidwa1: A jeżeli okno główne nie ma dzieci? Jest jakaś inna opcja zasymulowania GLFW że klawisz został wciśnięty?

1 użytkowników online, w tym zalogowanych: 0, gości: 1