Delphi Jezyk aktywna aplikacja

0

Witam jak z poziomu aplikacji wykryc na klawiaturze zmiane jezyka jezeli moja aplikacja jest aktywna to nie ma problemu co innego jak aplikacja aktywna jest np: Notatnik it.. wtedy zmiana jezyka zachodzi dla aktywnej aplikacji jest mozliwosc tego przechwycenia i sprawdzenie jaki jezyk jest uzywany Dzieki za Pomoc

0

keyspyxp albo global hook poszukaj w google ew w kompendium programisty masz w Rozdział 5 i zacznij od podstaw a nie keyloggery ;]

0

Po pierwsze robie programik do tlumaczenia textu hook juz dawno zalozylem tylko wlasnie miam problem ze zmiana jezyka na klawiaturze

0

Jeśli poprawnie założysz haka na klawiaturę, będziesz mógł sprawdzać klawisze płynące zewsząd, czyli z każdej aplikacji, każde naciśnięcie klawisza będzie przepływało przez Twój program;

Jak powszechnie wiadomo, zmianę jeżyka można wykonać na kilka sposobów, jednak większość użytkowników odkrywa to przypadkowo;

Musisz jedynie monitorować stan wciskanych klawiszy i czekać na wciśnięcie kombinacji Ctrl+Shift;


Na pewno istnieje inna metoda, którą można sprawdzić jakie są dostępne w systemie języki klawiatury, jaki jest aktualny oraz wychwycić moment jego zmiany - tu pomoże WinAPI; Speca od tego mamy na forum, zapytaj go; Ponadto w Google też coś powinno się znaleźć, niekoniecznie w polskich serwisach;


manstr napisał(a)

Po pierwsze robie programik do tlumaczenia textu hook juz dawno zalozylem tylko wlasnie miam problem ze zmiana jezyka na klawiaturze

Nie dziw sie takiej reakcji, bo Hook'a zakłada się właśnie po to, by śledzić wciskane klawisze, czyli najczęściej wykorzystują to newbie przy pisaniu własnych keylogger'ów;

0

Musisz jedynie monitorować stan wciskanych klawiszy i czekać na wciśnięcie kombinacji Ctrl+Shift;

A co jak ktoś zmienił kombinacje/wyłączył ją/miał inny layout zanim program się włączył?

można sprawdzić jakie są dostępne w systemie języki klawiatury, jaki jest aktualny oraz wychwycić moment jego zmiany - tu pomoże WinAPI; Speca od tego mamy na forum, zapytaj go

Nie wiem o jakiego speca WinAPI ci chodzi (olesio mi do głowy przychodzi), ale to jest lepsze rozwiązanie niż patrzenie na klawisze...
Sam znalazłem to: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646296(v=vs.85).aspx

0

A co jak ktoś zmienił kombinacje/wyłączył ją/miał inny layout zanim program się włączył?

Dlatego piszę, że na pewno istnieje inna możliwość, przede wszystkim bezbłędna, którą można kontrolować wszystkie warianty;

Nie wiem o jakiego speca WinAPI ci chodzi (olesio mi do głowy przychodzi), ale to jest lepsze rozwiązanie niż patrzenie na klawisze...

Owszem, dlatego wolałbym poszukać czegokolwiek w ten deseń; Spec to zmienna, wpisz do niej kogo chcesz, byle by znał WinAPI do tego stopnia;


GetKeyboardLayout przyda się, ewentualnie warować na WM_INPUTLANGCHANGE;

0

Witam na razie nie siadalem do psania po Swietach zamierzam cos dalej kombinowac. Chcialem to opedzic funkcja GetKeyboardLayout(idThread:integer):HKL; ale dziala to dla aktywnej aplikacji a jezeli zmieniam jezyk w Notatniku czy w Word to wtedy lipa moge na formie umiescic jakis sposob zmiany jezyka ale po co powieliec czynosci. Chodzi zeby zrobic program idioto odporny ze wzgledu na to ze korzystac beda z niego starsze panie a klikanie i myslenie sprawia problem co niektorym :). Dzieki Panowie za jakies pomysly bede cos po swietach dalej kombinowale Zycze Wesolych i Radosnych Swiat :)

0

Poza ta fukcja nie wiem czego moge uzyc zeby sprawdzic ten jezyk dla aktywnej aplikacji Moze ktos ma pomysl ??

0

Poza ta fukcja nie wiem czego moge uzyc zeby sprawdzic ten jezyk dla aktywnej aplikacji Moze ktos ma pomysl ??

Ciężko pogooglować:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646292(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633522(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms646296(v=vs.85).aspx
Z pomocą tych trzech funkcji, pobierzesz aktywne okno, znajdziesz odpowiadający jej wątek i pobierzesz ustawienia klawiatury tego wątku.

0

Wielkie dzieki za pomoc temat ogarniety :)

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