Прежде всего, я не хочу следить за клавиатурой или мышью, я хочу только загрузить свою dll в адресное пространство другого процесса. В настоящее время я делаю это с внешней неуправляемой dll, которая выполняет WriteProcessMemory, VirtualAllocEx, а затем CreateRemoteThread. Но это обычно определяется как вирус. Будет ли SetWindowsHookEx безопаснее для антивирусов? И если да, то как использовать его из С# - какое значение WH_* мне следует использовать?
РЕДАКТИРОВАТЬ: моя DLL неуправляемая (написана на C)