Zastępowanie skrótów systemowych

0

W jaki sposób zablokować i inaczej obsłużyć skróty systemowe typu:
alt+tab
ctrl+alt+del
ctrl+shift+esc
win_key+d
win_key+m

i wiele innych.
Piszę aplikację, która nie powinna być wyłączana przez niepowołane osoby. Aktualnie sprawdzam czy aplikacja jest na wierzchu (nie jest zminimalizowana, nie ma na niej okna itp), jeśli nie jest to wyrzucam ją na wierzch, jednak zdaję sobie sprawę, że nie jest to zbyt doskonałe rozwiązanie stąd moje pytanie.

0

Poszukaj na forum informacji o czymś takim jak globalny hook.

0

znalazłem to, ale mam przeczucie, że po zaimplementowaniu tego mój antywirus zacznie szaleć komunikatami, że jest to prawdopodobnie keylogger
http://4programmers.net/Delphi/FAQ/Win_API/Jak_za%C5%82o%C5%BCy%C4%87_globalnego_Hooka_niskiego_poziomu_na_klawiatur%C4%99

podobno nie działa to również na alt+ctrl+del

0

Nie wszystkie z tych skrótów klawiaturowych da się przechwycić/zablokować. Może by tak zrobić usługę z ustawionym automatycznym ponownym uruchomieniem, po każdym zakończeniu jej działania? Zależy co tak naprawdę robisz.

Edit: na SAS (ctrl+alt+del) nie działa NIC. Jest obsługiwane bezpośrednio przez win32k.sys - część podsystemu Windows znajdującą się w przestrzeni jądra systemu, winlogon jest odpowiednio powiadamiany o jego wystąpieniu.

0

Przepis na zablokowanie ALT+CTRL+DELETE jest tu:
http://4programmers.net/Forum/viewtopic.php?id=75618

0

Tja, wyłączenie dostępu do taskmgr w ogóle albo upośledzenie systemu... Nadal hotkey'a nie wykryjesz.

0

Ale zapobiegniesz zamknięciu aplikacji z poziomu taskmgr, a o to chyba chodziło autorowi.

0

Ale nie zapobiegniesz zabiciu czymkolwiek innym, kto wtedy odblokuje Menadżer Zadań albo przywróci do działania winlogon? Nie wiemy o co tak naprawdę chodzi, jaki cel ma ten cyrk.

0

Blokowanie taskmgr za pomocą wpisu w rejestrze jest całkowicie odwracalne, więc nie rozumiem w czym problem. Pozostałe możliwości zamknięcia programu można zablokować za pomocą hooka.

0

Tak, jest odwracalne, tylko wytłumacz użytkownikowi jak ma to naprawić po wysypaniu softu, który to zablokował... Takie zagrywki są zwyczajnie nieodpowiedzialne.

0

Tego typu blokady stosuje się w oprogramowaniu dla kafejek, bibliotek, publicznych terminali itp gdzie użytkownik z założenia nie ma mieć możliwości grzebania w systemie. Stosuje się je również we wszelkiego rodzaju trojanach, które z założenia mają wyrządzać jakąś szkodę. Nie widzę celu implementowania takiej funkcjonalności w oprogramowaniu innego typu, więc nadal nie wiem dlaczego się tak oburzasz?!

0

W takich sytuacjach to pisze się odpowiednią usługę i ew. drugi soft do komunikacji z użytkownikiem, bez robienia durnych hacków. Użytkownik z definicji nie ma praw admina więc usługa z automatycznym restartem jest bezpieczna i odporna na praktycznie wszystkie sposoby ubijania.

0
deus napisał(a)

W takich sytuacjach to pisze się odpowiednią usługę i ew. drugi soft do komunikacji z użytkownikiem, bez robienia durnych hacków.

Każdy orze jak może. Nie mów mi tylko, że nie widziałeś oprogramowania pisanego w ten sposób?!

0

Widziałem. Widziałem też drabinki ifów zamiast pętli na trzy linie, masę C-c C-v, walenie wszędzie *_ALL_ACCESS itd.

0

W chyba najpopularniejszym oprogramowaniu do kafejek CafeSuite blokady możliwości wyłączenia programu klienta CafeAgent lub blokady całego stanowiska są porobione za pomocą takich durnych hacków. Przynajmniej były w tej wersji, którą widziałem na oczy kilka lat temu.

0

chyba poczytam jak to zrobić jako usługę, bo blokowanie w rejestrze również uważam za nieodpowiedzialne, z tego względu że program ma działać w tle i od czasu do czasu pojawiać się na całym ekranie blokując dosłownie wszystko. deus, mógłbyś dać namiary na jakieś materiały na temat usług? (wdk?) i pytanie czy bedzie kompatybilny z roznymi systemami operacyjnymi czy raczej bede musial kombinowac..

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