当前位置:编程学习 > C#/ASP.NET >>

托管代码注入非托管程序

我想把托管的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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,