2012-11-14 7 views
5

Ho scritto un programma di aggancio tastiera globale in C# .NET come un keylog, scrive i risultati in un file. Ma ho usato un altro programma, che supporta il tipo di lingua vietnamita nello stesso computer, ma usa anche un hook globale per sistemare le tastiere set sui caratteri vietnamiti - influisce sul mio programma!Un altro hook globale riguarda il mio hook globale

Esempio: quando scrivo in seguito: "xin chao2, to6i la2 mot65 nguoi72 Viet65 Nam" senza il mio programma, riparerà di nuovo dopo ogni carattere che ho digitato: xin chào, tôi là một người Việt Nam.

ma quando uso il mio gancio globale, ricevo risultato nel file:

xin chao2[Back] 
[Back] 
[Packet] 
[Packet] 
[Escape] 
toi6[Back] 
[Back] 
[Packet] 
[Packet] 
[Escape] 
la2[Back] 
[Packet] 
[Escape] 
nguoi7[Back] 
[Back] 
[Back] 
[Packet] 
[Packet] 
[Packet] 
[Escape] 
2[Back] 
[Back] 
[Packet] 
[Packet] 
[Escape] 
Viet6[Back] 
[Back] 
[Packet] 
[Packet] 
[Escape] 
5[Back] 
[Back] 
[Packet] 
[Packet] 
[Escape] 
Nam 

Così, come posso risolvere questo errore, esclude l'effetto del tipo di programma di sostegno vietnamita se non rimuovere o disabilitare, o accettare l'effetto da esso ma i risultati in file sembrano come quando si digita senza il mio programma?

Scusate se avete qualche disagio sul mio inglese!

+0

Non vedo l'ora di rispondere a questa domanda! Buona domanda +1 – FrostyFire

+0

Bene, stai vedendo questo altro programma che genera sequenze di tasti per mettere gli accenti sulle lettere. Il tuo keylogger sta registrando anche quelli. Non facile da risolvere, naturalmente. –

risposta

0

Supponendo di aver compreso correttamente la tua domanda, stai provando a creare un altro hook che agganci anche i caratteri dopo che sono stati corretti per utilizzare i caratteri vietnamiti? È un po 'una soluzione hacky, ma potresti provare ad aprire il programma vietnamita che sta creando l'hook in un debugger, trovare la funzione che sta facendo il hooking e agganciare il valore di ritorno di quella funzione.

Partenza finestre deviazioni http://research.microsoft.com/en-us/projects/detours/

e se si sta facendo .NET non è facile gancio http://easyhook.codeplex.com/

ecco un tutorial sulla creazione di ganci in C++ e deviazioni http://gamerztools.net/foros/showthread.php?933-C-Tutorial-Hooking-Functions-using-Detours

Speriamo che dovrebbe puntare nella giusta direzione!