public int init(bool isCompat) { lock (this) { if (isInitialized) { if (this.isCompat == isCompat) { return(TextHook.OK); } else { throw new MyException("Initialization error. Please restart Chiitrans Lite and try again."); } } else { this.isCompat = isCompat; try { handleCreateThreadDelegate = new TextHookInterop.OnCreateThreadFunc(handleCreateThread); handleRemoveThreadDelegate = new TextHookInterop.OnRemoveThreadFunc(handleRemoveThread); handleConnectDelegate = new TextHookInterop.CallbackFunc(handleConnect); handleDisconnectDelegate = new TextHookInterop.CallbackFunc(handleDisconnect); handleInputDelegate = new TextHookInterop.OnInputFunc(handleInput); int res; if (isCompat) { TextHookInteropCompat.TextHookOnConnect(handleConnectDelegate); TextHookInteropCompat.TextHookOnCreateThread(handleCreateThreadDelegate); TextHookInteropCompat.TextHookOnRemoveThread(handleRemoveThreadDelegate); TextHookInteropCompat.TextHookOnDisconnect(handleDisconnectDelegate); TextHookInteropCompat.TextHookOnInput(handleInputDelegate); res = TextHookInteropCompat.TextHookInit(); isInitialized = res == TextHook.OK; return(res); } else { TextHookInterop.TextHookOnConnect(handleConnectDelegate); TextHookInterop.TextHookOnCreateThread(handleCreateThreadDelegate); TextHookInterop.TextHookOnRemoveThread(handleRemoveThreadDelegate); TextHookInterop.TextHookOnDisconnect(handleDisconnectDelegate); TextHookInterop.TextHookOnInput(handleInputDelegate); res = TextHookInterop.TextHookInit(); isInitialized = res == TextHook.OK; return(res); } } catch (Exception ex) { Logger.logException(ex); return(1); } } } }
public int init(bool isCompat) { lock (this) { if (isInitialized) { if (this.isCompat == isCompat) { return TextHook.OK; } else { throw new MyException("Initialization error. Please restart Chiitrans Lite and try again."); } } else { this.isCompat = isCompat; try { handleCreateThreadDelegate = new TextHookInterop.OnCreateThreadFunc(handleCreateThread); handleRemoveThreadDelegate = new TextHookInterop.OnRemoveThreadFunc(handleRemoveThread); handleConnectDelegate = new TextHookInterop.CallbackFunc(handleConnect); handleDisconnectDelegate = new TextHookInterop.CallbackFunc(handleDisconnect); handleInputDelegate = new TextHookInterop.OnInputFunc(handleInput); int res; if (isCompat) { TextHookInteropCompat.TextHookOnConnect(handleConnectDelegate); TextHookInteropCompat.TextHookOnCreateThread(handleCreateThreadDelegate); TextHookInteropCompat.TextHookOnRemoveThread(handleRemoveThreadDelegate); TextHookInteropCompat.TextHookOnDisconnect(handleDisconnectDelegate); TextHookInteropCompat.TextHookOnInput(handleInputDelegate); res = TextHookInteropCompat.TextHookInit(); isInitialized = res == TextHook.OK; return res; } else { TextHookInterop.TextHookOnConnect(handleConnectDelegate); TextHookInterop.TextHookOnCreateThread(handleCreateThreadDelegate); TextHookInterop.TextHookOnRemoveThread(handleRemoveThreadDelegate); TextHookInterop.TextHookOnDisconnect(handleDisconnectDelegate); TextHookInterop.TextHookOnInput(handleInputDelegate); res = TextHookInterop.TextHookInit(); isInitialized = res == TextHook.OK; return res; } } catch (Exception ex) { Logger.logException(ex); return 1; } } } }
public static extern Int32 TextHookOnInput(TextHookInterop.OnInputFunc callback);