首先,要说明的是飞信也是用C#写的,但是我们在运行C#时,并不用安装.NET Framework,这事因为,飞信本身内置了一个.NET 虚拟程序,由这个程序来调用我们飞信主程序。
同样,我们要可以利用这可现成的虚拟机来运行我们的C#.NET程序,这样即使在没有安装.NETFramework的windows系统中,也可以运行我们的C#.NET程序。
具体方法如下,复制飞信下的文件夹VMDotNetv2.0.50727文件夹到你的C#.NET目录程序,该文件夹下有一个程序FetionVM.exe,我们就是要通过它,运行我么的C#主程序,起调用方法如下:
"FetionVM.exe C#程序路径"(不包括引号),然后,我们只要用CC++、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('SOFTWAREMicrosoft.NETFrameworkv2.0.50727') then //通过注册表,判断系统是否安装有.NETFramework v2.0 如果有,直接运行C#程序,如果没有则通过虚拟机调用C#程序
BEGIN
winexec('.VMACs.exe',SW_Show);
END
else //如果键值不存在 调用虚拟机
begin
Form1.Visible := false;
winexec('.VMFetionVM.exe .VMACs.exe',SW_Show);
end;
reg.CloseKey;
reg.free;
ExitProcess(0);
Application.Terminate;
end;
end.
//------------------------这样主程序编写完成
然后选择 project>view source 然后添加语句
Application.ShowMainForm:=false; //隐藏程序主窗体
然后生成程序
然后把delphi生产的exe程序放在程序目录下,运行即可直接调用我们的C#程序
分享到:
相关推荐
标题中的"C#程序脱离.Net framework运行"涉及到一个关键的技术概念,即.NET Core或.NET 5及以上版本的跨平台能力。传统的C#程序依赖于特定版本的.NET Framework运行时环境,这个环境只在Windows系统上可用。然而,...
总的来说,.NET Framework 4.8 脱机安装程序是Windows平台上不可或缺的一部分,它不仅为用户提供了运行基于.NET的应用的基础,也为开发者提供了强大且稳定的开发环境。无论你是普通用户还是开发者,都应该考虑将这个...
2. **性能提升**:微软不断优化.NET Framework的性能,4.6.2版本包含了多项性能改进,使得应用程序运行更加流畅快速。 3. **安全性更新**:KB3151800是一个重要的安全更新,它修复了.NET Framework中的多个漏洞,...
通常,.NET程序需要依赖安装在目标机器上的.NET Framework才能运行,但通过一些技术手段,我们可以使.NET程序在不安装.NET Framework的环境下执行。 这个示例可能涉及到的技术是.NET Core或 Mono。.NET Core 是微软...
.NET Framework 3.5包含了从.NET Framework 1.0到3.5的所有版本的更新和改进,它支持C#、VB.NET、F#等编程语言,并提供了丰富的类库,如ASP.NET、ADO.NET和Windows Forms,便于开发者创建桌面应用程序、Web应用程序...
.NET Framework 4.8是微软开发的一个全面的、统一的编程模型,用于构建和运行Windows上的应用程序。这个框架集成了编程语言(如C#)、类库、编译器和服务,为开发者提供了强大的工具来创建、运行和管理各种类型的...
安装开发版.NET Framework后,你将能够使用它来开发和测试兼容该版本的.NET应用程序,同时也能够运行依赖此版本的软件,即使你的操作系统中已经有一个更高版本的.NET Framework。 需要注意的是,不同的.NET ...
在编程领域,.NET Framework是一个不可或缺的开发平台,尤其对于使用Visual Basic .NET(VB.NET)语言的开发者而言。本篇文章将深入探讨.NET Framework的经典案例,结合VB.NET类的使用,帮助学习者更好地理解和应用...
.NET Framework 4.8 运行库是微软开发的一个关键组件,它为Windows应用程序提供运行环境,支持多种编程语言,如C#、VB.NET、F#等。此运行库包含了.NET Framework的所有必需组件,包括公共语言运行时(Common ...
标题提到的"Microsoft .NET Framework 4(独立安装程序)"是指该版本的.NET Framework可以独立安装,无需依赖其他组件。 .NET Framework 4的特性包括: 1. **CLR (Common Language Runtime)**:这是.NET Framework...
用户可以通过运行这个安装程序来安装或更新到.NET Framework 4.5.2,以满足运行依赖此框架的软件的需求。 总的来说,.NET Framework 4.5.2对于开发者和用户来说都至关重要,因为它提供了强大的开发环境,同时也为...
.NET Framework是微软开发的一个全面的开发平台,用于构建、运行基于Windows的应用程序。它提供了语言互操作性,允许开发者使用多种编程语言编写代码,并且在不同的.NET语言之间共享代码和库。.NET Framework 4.6是...
它主要服务于Windows操作系统,并且是许多Windows应用程序运行的基础,尤其是那些使用C#、VB.NET或F#等.NET语言编写的程序。 在描述中提到的“解决证书过期问题”,这通常指的是.NET Framework的数字签名证书可能...
.NET Framework是微软开发的一个软件框架,它为开发者提供了一个用于构建、部署和运行基于Windows的应用程序的平台。此框架自2002年发布以来,经历了多次版本更新,包括.NET Framework 1.0到.NET Framework 4.8等多...
下载并运行这个安装程序,用户就可以在计算机上安装.NET Framework 4.0,从而能够运行依赖此框架的软件或进行.NET相关的开发工作。 总的来说,.NET Framework 4.0是一个强大的开发和运行环境,包含了丰富的类库和...
文件"ndp461-devpack-kb3105179-enu.exe"是.NET Framework 4.6.1 Developer Pack的安装程序,KB3105179是该版本的更新补丁编号,ENU代表“英文”(English),意味着这是英文版的安装包。通过运行这个程序,开发者...
.NET Framework 4.8是微软开发的一个重要组件,它为Windows应用程序提供了运行环境,支持多种编程语言,如C#、VB.NET、F#等。这个离线安装包包含了所有必要的组件,使得用户在没有网络连接的情况下也能安装.NET ...
.NET Framework是微软公司开发的一个应用程序框架,用于支持和运行基于.NET技术的应用程序。这个框架包含了开发者需要构建、运行和维护应用程序的所有组件,包括类库、编译器、配置工具和其他服务。此框架自2002年...
.NET Framework是微软开发的一个软件框架,它为开发者提供了在Windows操作系统上构建和运行应用程序的环境。这个框架包含了语言运行时(CLR,Common Language Runtime)和类库,支持多种编程语言,如C#、VB.NET、C++...
3. 使用管理员权限:以管理员身份运行安装程序,确保有足够的权限来修改系统文件。 4. 安装必要的更新:如KB2966828,这是一个针对Windows 10的.NET Framework 3.5的更新,可能需要先安装才能成功添加该框架。 5. ...