Gli hook di Windows consentono di penetrare all'interno di altri processi e talvolta alterare i loro comportamenti.SetWindowsHookEx per Mac OS X?
Esiste qualcosa per Mac OS X?
Grazie!
Gli hook di Windows consentono di penetrare all'interno di altri processi e talvolta alterare i loro comportamenti.SetWindowsHookEx per Mac OS X?
Esiste qualcosa per Mac OS X?
Grazie!
SetWindowsHookEx
è più simile al vecchio hack InputManager
, nel senso che si modifica il codice di un'app da una libreria condivisa o da un plug-in caricato.
Vedere SIMBL per un iniettore di codice pronto per un altro processo. Per le classi Objective-C, è quindi necessario utilizzare method swizzling. Non ho provato a sostituire le classi C funzioni/C++, ma sicuramente si può fare usando mach_override. Vedi anche this blog post.
Di solito, se si desidera modificare un'app della GUI, è sufficiente accedere alle classi Objective-C.
I rubinetti degli eventi al quarzo possono monitorare e modificare eventi di basso livello come sequenze di tasti e clic del mouse, fatte salve alcune restrizioni. Puoi dire di più su cosa vuoi fare?
Cosa stai cercando di realizzare, in particolare? Puoi spiegare perché vuoi l'equivalente per Mac OS X di SetWindowsHookEx()
? (Risposta breve: non ce n'è una Risposta media: tutto ciò che puoi fare con SetWindowsHookEx()
su Windows può essere fatto su Mac OS X in qualche altro modo OO.)
In Windows 'SetWindowsHookEx' può aiutarti a ricevere eventi da ** altri ** processi. Come la chiusura della finestra, la finestra massimizza ... ecc. Sei sicuro che ciò potrebbe essere fatto su Mac OS X? –
Questa è una risposta molto vecchia a una domanda molto vecchia. :) Stavo dicendo che, se conoscessimo il problema che lo sviluppatore originale stava cercando di risolvere, potremmo raccomandare approcci alternativi. –
Diciamo che volevo agganciare la funzione che carica asdf.dylib. L'idea è di forzare un'applicazione per caricare la mia versione personalizzata di asdf.dylib, senza usare il trucco DYLD_INSERT_LIBRARIES. – karlphillip