托管代码注入非托管程序
我想把托管的dll注入到非托管程序中执行,但遇到了问题
ICLRRuntimeHost *pHost;
HRESULT hr=CorBindToRuntimeEx(
NULL,
NULL,
0,
CLSID_CLRRuntimeHost,
IID_ICLRRuntimeHost,
(PVOID*)&pHost);
pHost->Start();
ICLRControl* clrControl = NULL;
hr = pHost->GetCLRControl(&clrControl);
DWORD* returnvalue=NULL;
//开始运行托管代码
pHost->ExecuteInDefaultAppDomain(
L"..\\..\\..\\SimpleAssembly\\bin\\Release\\SimpleAssembly.dll",
L"NET.MST.Eighth.SimpleAssembly.SimpleAssembly",
L"WriteString",
L"David Zhu",
returnvalue);
system("pause");
这段代码在控制台程序中可以正确执行,但把它封装到一个dll中然后注入到非托管进程中就不能正确执行,我通过附加调试发现在这句卡住了:
pHost->Start();
请问有接触过的么?目的就是把托管代码注入到非托管程序并执行 --------------------编程问答-------------------- 自己顶下,希望有懂的人看到 --------------------编程问答-------------------- 继续顶啊,大家一起讨论 --------------------编程问答-------------------- 你在怎么注入都是不能运行的。非托管的注入到托管的是可以运行的。饭过来 你懂的。
补充:.NET技术 , .NET Framework