托管代码注入非托管程序

hljlpz 2012-11-10 10:26:12
我想把托管的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();
请问有接触过的么?目的就是把托管代码注入到非托管程序并执行
...全文
228 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinodzh 2012-11-12
  • 打赏
  • 举报
回复
你在怎么注入都是不能运行的。非托管的注入到托管的是可以运行的。饭过来 你懂的。
hljlpz 2012-11-11
  • 打赏
  • 举报
回复
继续顶啊,大家一起讨论
hljlpz 2012-11-11
  • 打赏
  • 举报
回复
自己顶下,希望有懂的人看到

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧