程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 無.NET框架運行 .NET托管應用程序

無.NET框架運行 .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 托管應用程序。 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved