Sto scrivendo un'app (in C#) che come parte di esso deve simulare e inviare alcuni tratti chiave a un'altra applicazione. Sto usando il progetto http://inputsimulator.codeplex.com/ per simulare le chiavi, e funziona in molte applicazioni, ma in alcune non lo fa - cioè Mortal Combat 4.Come simulare l'input da tastiera in TUTTE le applicazioni?
Ho cercato su Google e ho trovato molte risposte che variano da 'è impossibile 'a' devi usare la libreria di XXX 'ecc. Quelli che mi hanno risposto mi hanno spaventato molto, e sono quasi convinto di non essere in grado di farlo in quel momento, MA ...
M $ Tastiera virtuale funziona. Funziona in TUTTE le applicazioni. Quindi è possibile ... Qualcuno di voi, ragazzi intelligenti, sa come posso ottenerlo?
quale codice hai effettivamente fino ad ora che hai provato ..? – MethodMan
Sto usando il progetto che ho menzionato sopra. Il metodo più basso è [DllImport ("user32.dll", SetLastError = true)] interno statico esterno UInt32 SendInput (UInt32 numberOfInputs, InputMsg [] input, Int32 sizeOfInputStructure); e funziona perfettamente in molte app, ma non tutte. :/ –
@FenixVoltres: ho eseguito il reverse engineering della tastiera su schermo di Windows e utilizza lo stesso metodo di input della libreria a cui è collegato ('SendInput'). Ho collegato tutte le funzioni relative alla tastiera che mi venivano in mente ('keybd_event',' SendInput', 'SetKeyboardState', ecc.) E l'unica funzione che è stata chiamata era' SendInput'). Prova a ricontrollare il codice della libreria con la documentazione MSDN. –