• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Działanie w tle.

42 Warsaw Coding Academy
0 głosów
1,725 wizyt
pytanie zadane 12 marca 2016 w C i C++ przez sebastian970 Użytkownik (710 p.)
Witam piszę program sobie mający pracować w tle i otwierać cd-room po wciśnięciu przycisku jak i zamykać go po ponownym wciśnięciu.

Wszystko działa tylko problem w tym, że gdy po skompilowaniu programu np. wejdę na pulpit to program dalej działa w tle, ale nie czyta już znaków.

Oto kod: http://codepad.org/XyptX387

Proszę o pomoc.

3 odpowiedzi

+1 głos
odpowiedź 12 marca 2016 przez draghan VIP (106,230 p.)
O ile się orientuję w działaniu managera okien, to tzw. focus może mieć tylko jedno okno w danym czasie. Kiedy zaś focus nie jest przyznany oknu Twojej aplikacji, nie będzie ona czytać żadnych danych z klawiatury.

Obejściem tego problemu są tzw. haki (ang. hooks), ale nigdy się temu bliżej nie przyglądałem. W każdym razie podrzuciłem Ci hasło, przynajmniej wiesz czego szukać. :) O ile w ogóle dobrze zrozumiałem problem. ;)
komentarz 12 marca 2016 przez sebastian970 Użytkownik (710 p.)
Dzięki, trochę mi nakreśliłeś wygląd sytuacji. Postaram się dowiedzieć czegoś więcej o tych hakach ;)
0 głosów
odpowiedź 12 marca 2016 przez pingwindyktator Użytkownik (520 p.)
Takie rzeczy (mające działać w tle) przeważnie implementuje się jako deamony. Jak to zrobić? Tworzysz wątek i robisz na nim detach. Natomiast nie ma uniwersalnej metody czytania znaków z klawiatury przez okno, na którym nie ma focusa. Przecież tak działają keyloggery. Stosują pewne mechanizmy, które to omijają. Po stronie OS / kernelu leży sprawa tego, która aplikacja ma dostęp do urządzeń. More or less. Zatem pytasz nas jak napisać keyloggera. Nieładnie.
komentarz 12 marca 2016 przez sebastian970 Użytkownik (710 p.)
Nie zachowujmy się jak dzieci... Piszę program na urodziny kolegi który będzie imitował działanie maszyny hazardowej -> wygrana wysunie cd-room z nagrodą.

Działanie w tle było mi potrzebne przez to, że maszynę będzie imitował inny program a sam program wysuwający miał być nie widoczny.
komentarz 12 marca 2016 przez pingwindyktator Użytkownik (520 p.)

To było półżartem. Żartem było to, że chcesz napisać keylogger, a na poważnie było to, że chcesz napisać coś, co działa jak keylogger.

–3 głosów
odpowiedź 12 marca 2016 przez Mateusz11 Pasjonat (22,910 p.)
#include <Windows.h>
#include <windows.h> 

Gratulacje "Miszczu" xDDDDD

1
komentarz 12 marca 2016 przez sebastian970 Użytkownik (710 p.)
pisane na szybko, więc mogło mi się zdarzyć...

Nie naprawia to problemu, więc twój komentarz jest zbędny.
komentarz 12 marca 2016 przez Mateusz11 Pasjonat (22,910 p.)
Spoko, chciałem tylko powiedzieć, przecież w regulaminie forum nie ma punktu "Nie możesz dawać innych odpowiedzi, niż prosi Cię o to autor tematu"

 

Pozdrawiam

Podobne pytania

0 głosów
2 odpowiedzi 847 wizyt
pytanie zadane 5 maja 2018 w C i C++ przez FaloY Bywalec (2,180 p.)
0 głosów
1 odpowiedź 283 wizyt
pytanie zadane 18 listopada 2015 w C i C++ przez qwertz Użytkownik (850 p.)
+1 głos
1 odpowiedź 8,536 wizyt
pytanie zadane 26 września 2016 w HTML i CSS przez SebbaGamess Użytkownik (690 p.)

93,381 zapytań

142,380 odpowiedzi

322,535 komentarzy

62,737 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...