不安裝.NET Framework 運行C#.NET程式

來源:互聯網
上載者:User

不安裝.NET Framework 運行C#.NET程式 收藏
首先,要說明的是飛信也是用C#寫的,但是我們在運行C#時,並不用安裝.NET Framework,這事因為,飛信本身內建了一個.NET 虛擬程式,由這個程式來調用我們飛信主程式。
   同樣,我們要可以利用這可現成的虛擬機器來運行我們的C#.NET程式,這樣即使在沒有安裝.NETFramework的windows系統中,也可以運行我們的C#.NET程式。

    具體方法如下,複製飛信下的檔案夾VMDotNet/v2.0.50727檔案夾到你的C#.NET目錄程式,該檔案夾下有一個程式FetionVM.exe,我們就是要通過它,運行我麼的C#主程式,起調用方法如下:

"FetionVM.exe C#程式路徑"(不包括引號),然後,我們只要用C/C++、VB、DELPHI等等windows下課直接啟動並執行程式,寫一個程式來調用該虛擬機器來運行我們的C#.NET程式。

  下面一delphi為例子:

首先,程式目錄下虛擬機器的檔案夾名稱為VM,該目錄下有編寫好的C#程式名為ACs.exe,delphi代碼如下

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,registry;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  reg:tregistry;
begin

reg:=tregistry.Create;             
reg.RootKey:=HKEY_LOCAL_MACHINE;

if reg.KeyExists('SOFTWARE/Microsoft/.NETFramework/v2.0.50727') then     //通過註冊表,判斷系統是否安裝有.NETFramework v2.0 如果有,直接運行C#程式,如果沒有則通過虛擬機器調用C#程式
BEGIN
  winexec('./VM/ACs.exe',SW_Show);
END
else                                      //如果索引值不存在 調用虛擬機器
begin
  Form1.Visible := false;
  winexec('./VM/FetionVM.exe ./VM/ACs.exe',SW_Show);
end;
reg.CloseKey;
reg.free;

ExitProcess(0);
Application.Terminate;
end;

end.

 

//------------------------這樣主程式編寫完成

然後選擇 project>view source 然後添加語句

Application.ShowMainForm:=false;        //隱藏程式主表單

 

然後產生程式

然後把delphi生產的exe程式放在程式目錄下,運行即可直接調用我們的C#程式

 

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/wazhpi/archive/2008/12/29/3634763.aspx

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.