Skocz do zawartości

MKSim.dll


Rekomendowane odpowiedzi

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>

Odnośnik do komentarza
Udostępnij na innych stronach

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>
Odnośnik do komentarza
Udostępnij na innych stronach

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

Odnośnik do komentarza
Udostępnij na innych stronach

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

Odnośnik do komentarza
Udostępnij na innych stronach

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

Odnośnik do komentarza
Udostępnij na innych stronach

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

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