无.NET框架运行 .NET托管应用程序

 

   先下载中国移动的飞信安装程序,然后进行安装,将其安装目录下的VMDotNet文件夹COPY出来。
   在该目录中有一个 v2.0.50727文件夹 ,进入这个文件夹,里面有一个FetionVM.exe的可执行文件(飞信的图标),这个便是我们要利用用的虚拟机主执行程序,其实现机制暂且不考虑。该程序带入一个参数,即要在此虚拟环境下运行的程序的路径,如C:/WINDOWS/regedit.exe,也可以使用相对目录。

   我采用 Dev-C++ 编写了一个入口程序,代码如下:

#include <windows.h>

int main()
{
    char sCommandLine[MAX_PATH];
    PROCESS_INFORMATION pi;
    STARTUPINFO si = {sizeof(si)};
if (CreateProcess(NULL,"FetionVM.exe C:/WINDOWS/regedit.exe",NULL,NULL,FALSE,0,NULL,NULL,&si,&pi))
/*启动"注册表"作为子进程
 被调用对象在这里是个示例,请根据自己需要设置路径,也可以使用相对路径,请将来该路径设置成我们需要运行的.NET应用程序。*/
            {
        CloseHandle(pi.hThread);//关闭子进程的主线程句柄
        //WaitForSingleObject(pi.hProcess, INFINITE);// 等待子进程的退出 注释掉该句 调用对方后马上关闭自身
        CloseHandle(pi.hProcess);// 关闭子进程句柄
    }
}

   用Dev-C++编译该段代码,生成的EXE存放于 FetionVM.exe同一目录,运行生成的该EXE既可实现无框架运行.NET 托管应用程序。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值