Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Tytuł: MKSim.dll

Wersja: 1.2

 

Download: >>>DOWNLOAD<<<

Rozmiar pliku: 243 KB (spakowane)

 

 

Autorzy:

Programowanie:
Utermiko

Ken Henderson (unit sndkeys32.pas, potrzebny był tylko do funkcji wysuwającej okno na wierzch)

 

Opis: Jest to dll do symulowania kliknięcia myszki/klawiatury.

 

Creditsy nie są obowiązkowe, ale miło byłoby gdybym się znalazł :D

 

Działanie sprawdzałem na Windowsowym notaniku :P

 

W paczce znajduje się:

- MKSim.dll (dllek ;p)

- MKSimScripts.gml (skrypty ;d Importujemy je w GM'ie Scripts>Import Scripts)

- test.gmk (przykladowe uzycie)

- Readme.txt (lektura :D)

 

 

FUNKCJE:

 

GML
//INICJALIZACJA

mk_init(); //inicjalizuje dll'a

//MYSZ

mk_getmousex(); //zwraca polozenie myszki X

mk_getmousey(); //zwraca polozenie myszki Y

mk_setmouse(x,y); //ustawia myszke na podanych wspolrzednych(x, y)

mk_mousepress(x,y,button); //symuluje wcisniecie klawisza myszki (button [1 - lewy, 2 - srodkowy, 3- prawy]) na podanych wspolrzednych(x, y)

mk_mouserelease(x,y,button); //symuluje puszczenie klawisza myszki (button [1 - lewy, 2 - srodkowy, 3- prawy]) na podanych wspolrzednych(x, y)

mk_mousedoubleclick(x,y,button); //symuluje podwojne klikniecie myszki (button [1 - lewy, 2 - srodkowy, 3- prawy]) na podanych wspolrzednych(x, y)

mk_getdoubleclicktime(); //zwraca maksymalny czas podowjnego klikniecia(w ms), aby otworzyc np folder

//UWAGA Przed wywołaniem kliknięcia należy ustawić myszkę w podanej pozycji [mk_setmouse(x,y)]

 

//KLAWIATURA

mk_keyboardpress(key); //symuluje wcisniecie klawisza klawiatury (key [string])

mk_keyboardrelease(key); //symuluje puszczenie klawisza klawiatury (key [string])

mk_keyboardasciipress(key); //symuluje wciśnięcie podanego klawisz ascii(key [real])

mk_keyboardasciirelease(key); //symuluje puszczenie podanego klawisz ascii(key [real])

mk_writetext(text); //symuluje pisanie tekstu (text [string])

//INNE

mk_showmsg(text); //pokazuje zwykly komunikat windowsowy o tresci(text [string]) z przyciskiem OK

mk_getpixel(x,y); //zwraca kolor piksela na podanej pozycji (x,y)

mk_getpixelr(x,y); //zwraca kolor piksela R na podanej pozycji (x,y)

mk_getpixelg(x,y); //zwraca kolor piksela G na podanej pozycji (x,y)

mk_getpixelb(x,y); //zwraca kolor piksela B na podanej pozycji (x,y)

mk_moveupapp(tytul); //aktywuje okno aplikacji o podanym tytule[string], np Bez tytułu - Notatnik

mk_drag(x1,y1,x2,y2); //symuluje przeniesienie np. ikony z podanego miejsca (x1,y1) na inne miejsce (x2,y2)

//RYSOWANIE

mk_drawline(w,s,r,g,b,x1,y1,x2,y2); //rysuje linię prostą na ekranie o grubości (w [real]), stylu(s [real],opis niżej), kolorze(r,g,b) na współrzędnych(x1,y1,x2,y2)

//styl linii(1 - Prosta, 2 - Kropki, 3 - Myslniki, 4 - Myslink.Kropka, 5 - Myslnik.Kropka.Kropka, 6 - Przezroczysty

mk_drawellipse(s,r,g,b,x1,y1,x2,y2); //rysuje elipsę na ekranie o stylu wypełnienia(s [real], opis niżej), kolorze(r,g,b) na współrzędnych(x1,y1,x2,y2)

//styl wypelnienia elipsy(1 - Prosty, 2 - linie poziome, 3 - Linie pionowe, 4 - Linie ukosne od lewej do prawej, 5 - Linie ukosne od prawej do lewej, 6 - Kratka, 7 - Kratka pod katem 45, 8 - Przezroczysty

mk_drawrectangle(w,s,r,g,b,x1,y1,x2,y2); //rysuje prostokat na ekranie o grubosci linii(w [real]), stylu linii (s [real], opis niżej), kolorze (r,g,b) na współrzędnych(x1,y1,x2,y2)

//styl linii prostokata 1 - Prosta, 2 - Kropki, 3 - Myslniki, 4 - Myslink.Kropka, 5 - Myslnik.Kropka.Kropka, 6 - Przezroczysty

mk_drawrectanglespecial(s,r,g,b,x1,y1,x2,y2); //rysuje prostokąt z wypełnieniem o stylu wypełnienia(s [real], opis niżej), kolorze(r,g,b), na współrzędnych(x1,y1,x2,y2)

//styl wypelnienia prostokata(1 - Prosty, 2 - linie poziome, 3 - Linie pionowe, 4 - Linie ukosne od lewej do prawej, 5 - Linie ukosne od prawej do lewej, 6 - Kratka, 7 - Kratka pod katem 45, 8 - Przezroczysty

mk_drawtext(x,y,txt); //wypisuje tekst na ekranie na współrzędnych(x,y) o treści (txt)

//UWAGA!!! Style linii będą działać tylko przy grubości 1! Inna grubość powoduje rysowanie linii prostej!

//TYCH FUNKCJI NIE TRZEBA UZYWAC W DRAW'ie :)

//ZWOLNIENIE DLLA

mk_free(); //zwalnia dll'a z pamieci</span>

Opublikowano

Dzięki za ocenę :P Nie sądziłem, że komuś się przyda :P

Symulacja ruchu myszki jest :

GML
mk_setmouse(x,y); //ustawia myszke na podanych wspolrzednych(x, y)</span>
Opublikowano

UPDATE v 1.1:

Dodano nowe funkcje:

GML
mk_getpixel(x,y); //zwraca kolor piksela na podanej pozycji (x,y)

mk_moveupapp(tytul); //aktywuje okno aplikacji o podanym tytule[string], np Bez tytułu - Notatnik

mk_drag(x1,y1,x2,y2); //symuluje przeniesienie np. ikony z podanego miejsca (x1,y1) na inne miejsce (x2,y2)</span>
Opublikowano

Mam nadzieję, że wpisałeś TYTUŁ aplikacji. Tzn. wpisujesz Bez tytułu - Notatnik, a nie notepad.exe

Jeśli tak to ja nic nie mogę poradzić. Z takimi aplikacjami jak Notatnik i Ventrilo mi działa (choć czasem nie przerzuca) Jeszcze sprawdzę czy działa z grami zrobionymi w GM'ie. Dam odpowiedź w Editcie

 

BTW. przerzuca*

 

mk_moveupapp(tytul); //aktywuje okno aplikacji o podanym tytule[string], np Bez tytułu - Notatnik

@Edit No otworzyłem twój przykład i jest tam błąd. Mianowicie należy wpisać w Caption for the room TrollerGM81 :)

Opublikowano

UPDATE 1.2:

Dodano nowe funkcje:

GML
//MYSZ

mk_getdoubleclicktime(); //zwraca maksymalny czas podowjnego klikniecia(w ms), aby otworzyc np folder

//KLAWIATURA

mk_keyboardasciipress(key); //symuluje wciśnięcie podanego klawisz ascii(key [real])

mk_keyboardasciirelease(key); //symuluje puszczenie podanego klawisz ascii(key [real])

//INNE

mk_getpixelr(x,y); //zwraca kolor piksela R na podanej pozycji (x,y)

mk_getpixelg(x,y); //zwraca kolor piksela G na podanej pozycji (x,y)

mk_getpixelb(x,y); //zwraca kolor piksela B na podanej pozycji (x,y)

//RYSOWANIE

mk_drawline(w,s,r,g,b,x1,y1,x2,y2); //rysuje linię prostą na ekranie o grubości (w [real]), stylu(s [real],opis niżej), kolorze(r,g,b) na współrzędnych(x1,y1,x2,y2)

//styl linii(1 - Prosta, 2 - Kropki, 3 - Myslniki, 4 - Myslink.Kropka, 5 - Myslnik.Kropka.Kropka, 6 - Przezroczysty

mk_drawellipse(s,r,g,b,x1,y1,x2,y2); //rysuje elipsę na ekranie o stylu wypełnienia(s [real], opis niżej), kolorze(r,g,b) na współrzędnych(x1,y1,x2,y2)

//styl wypelnienia elipsy(1 - Prosty, 2 - linie poziome, 3 - Linie pionowe, 4 - Linie ukosne od lewej do prawej, 5 - Linie ukosne od prawej do lewej, 6 - Kratka, 7 - Kratka pod katem 45, 8 - Przezroczysty

mk_drawrectangle(w,s,r,g,b,x1,y1,x2,y2); //rysuje prostokat na ekranie o grubosci linii(w [real]), stylu linii (s [real], opis niżej), kolorze (r,g,b) na współrzędnych(x1,y1,x2,y2)

//styl linii prostokata 1 - Prosta, 2 - Kropki, 3 - Myslniki, 4 - Myslink.Kropka, 5 - Myslnik.Kropka.Kropka, 6 - Przezroczysty

mk_drawrectanglespecial(s,r,g,b,x1,y1,x2,y2); //rysuje prostokąt z wypełnieniem o stylu wypełnienia(s [real], opis niżej), kolorze(r,g,b), na współrzędnych(x1,y1,x2,y2)

//styl wypelnienia prostokata(1 - Prosty, 2 - linie poziome, 3 - Linie pionowe, 4 - Linie ukosne od lewej do prawej, 5 - Linie ukosne od prawej do lewej, 6 - Kratka, 7 - Kratka pod katem 45, 8 - Przezroczysty

mk_drawtext(x,y,txt); //wypisuje tekst na ekranie na współrzędnych(x,y) o treści (txt)

//UWAGA!!! Style linii będą działać tylko przy grubości 1! Inna grubość powoduje rysowanie linii prostej!

//TYCH FUNKCJI NIE TRZEBA UZYWAC W DRAW'ie :)</span>

 

DOWNLOAD W OPISIE ZAKTUALIZOWANY OFC :P

Opublikowano

oO nawet nie wiedziałem :P Teraz sprawdziłem i to chodzi o funkcję keyboard_key_press tak?

Mimo wszystko ta funkcja nie wciska klawisza w innej aplikacji np. Notatniku :P (sprawdzałem przed chwilą :D), ale myślę, że inne funkcje z mojej DLL'ki się przydadzą komuś być może. Zresztą, pisze tego DLL'ka tak żeby się nauczyć to robić i wg. mnie nieźle mi wyszło :P

  • 4 tygodnie później...
  • 4 miesiące temu...
Opublikowano

heh jak zobaczylem jakie mozliwosci ma ten dll odrazu przyszlo mi do glowy napisanie jakiegos bota do gry xd bo cheaty ktore symuluja klawiature i myszke sa trudne do wychwycenia ;D Dobry Dll ;)

  • 1 miesiąc temu...
Opublikowano

Nie wiem jakim cudem w notatniku ci nie działa keyboard_key_press z gm

 

lepiej właśnie sprawdzi swoja bibliotekę na aplikacjach nie polach tekstowych

 

bo nie wiem jak teraz ale gm'owe keyboard_key_press nie działało w aplikacjach (np. w jakiejś grze) tylko w polach tekstowych

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...