最佳做法是什么?是否可以获取该进程(通过Process.GetProcessesByName)并以某种方式在我的C#项目中调用它的函数?
如果函数具有1个参数,则可以使用CreateRemoteThread()并在lpParameter参数中传递单个参数来调用该函数。在lpStartAddress中传递函数的地址。
如果函数接受多个参数,则不能使用CreateRemoteThread()从外部调用它。
要获取该函数的地址,您可以使用GetProcAddress(),您需要将其锁定,但这仅在导出该函数时有效。
如果未导出,则可以通过逆向工程对找到的地址进行硬编码。