Witam, postanowiłem napisać mały programik do “trollingu”(tylko w ramach ćwiczeń), jednak napotkałem na problem, ponieważ nie wiem jak sprawdzić czy tacka od napędu jest wysunięty, czy użytkownik wsunął ją. A ogólnie to coś ma działać tak:
Po włączeniu program wysuwa po raz pierwszy wysuwa tackę.
Użytkownik zauważając, że się wysunęła, wsuwa ją z powrotem. (może być to od razu, ale też po 5 minutach/8 godzinach/po roku/za 7 wieków… Czyli w każdym momencie.
Program “wyłapuje”, że użytkownik wsunął tą tackę i znów ją wysuwa. itd.
Na razie napisałem coś takiego, korzystając z dobrodziejstw internetu:
Spojrzałem tylko pod ten link wyżej i już coś się nie zgadza.
Drugi i trzeci parametr:
Powinieneś podać pointer do bufora, gdzie zostanie zapisana informacja zwrotna, a nie jak w tym kodzie c-string którego oczekujesz i chcesz sprawdzić. Dopiero później możesz zweryfikować co zostało wpisane do bufora przez funkcję, i określić stan urządzenia. Kolejny parametr to wielkość bufora, do którego pointer podałeś w poprzednim parametrze.
W tym przypadku akurat nic by ci to nie dało bo współczwesne procesory mają tzw. tryb chroniony, programy użytkownika nie mają bezpośredniego dostępu do sprzętu, mogą się komunikować jedynie z systemem operacyjnym.