28 lines
962 B
C
Raw Normal View History

#pragma once
2018-08-22 12:24:55 -04:00
#include "common.h"
2018-07-23 12:25:02 -07:00
#include "textthread.h"
namespace Host
{
2019-02-04 15:18:47 -05:00
using ProcessEventHandler = std::function<void(DWORD)>;
using ThreadEventHandler = std::function<void(TextThread&)>;
2019-06-10 01:49:11 -04:00
using HookEventHandler = std::function<void(HookParam, const std::wstring& text)>;
2019-02-04 15:18:47 -05:00
void Start(ProcessEventHandler Connect, ProcessEventHandler Disconnect, ThreadEventHandler Create, ThreadEventHandler Destroy, TextThread::OutputCallback Output);
2018-08-24 14:04:23 -04:00
2019-02-16 00:33:38 -05:00
void InjectProcess(DWORD processId);
void DetachProcess(DWORD processId);
void InsertHook(DWORD processId, HookParam hp);
2019-06-10 01:49:11 -04:00
void RemoveHook(DWORD processId, uint64_t address);
2019-06-02 02:09:17 -04:00
void FindHooks(DWORD processId, SearchParam sp, HookEventHandler HookFound = {});
2018-08-24 12:50:20 -04:00
HookParam GetHookParam(ThreadParam tp);
2019-02-04 15:18:47 -05:00
TextThread& GetThread(ThreadParam tp);
2019-06-10 01:49:11 -04:00
2018-08-24 12:50:20 -04:00
void AddConsoleOutput(std::wstring text);
2019-01-05 03:47:32 -05:00
inline int defaultCodepage = SHIFT_JIS;
2019-01-09 22:35:01 -05:00
constexpr ThreadParam console{ 0, -1LL, -1LL, -1LL }, clipboard{ 0, 0, -1LL, -1LL };
2018-07-23 12:25:02 -07:00
}