首先,要说明的是飞信也是用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#程序
分享到:
相关推荐
.Net 脱离.Net framework 最好方法
对于学习.net的同学来说,.net framework是必须要学的,而选择一种好的资料有事学好他的关键
文件直接拷贝到.net项目里即可使用,文件所需要的DLL通过NuGet程序包可直接安装,压缩包中包含三个个文件,在使用的时候直接调用WeChatPayMain的方法并传入相应参数即可(无特殊支付需求不用改动),其他两个文件...
.NET Framework 4.5 包括针对 C#、Visual Basic 和 F# 的重大语言和框架改进(以便您能够更轻松地编写异步代码)、同步代码中的控制流混合、可响应 UI 和 Web 应用程序可扩展性。.NET Framework 4.5 添加了针对其他...
通过将 .NET Framework 4.5 RC 与 C# 或 Visual Basic 编程语言结合使用,您可以编写 Windows Metro 风格的应用程序。.NET Framework 4.5 RC 包括针对 C# 和 Visual Basic 的重大语言和框架改进,以便您能够更轻松地...
C# 教学资料 从基础只是到高级应用都有所讲解 ...首先介绍了Microsoft .NET Framework的框架,以及公共语言运行库、.NET Framework类库、ADO.NET和Web服务的特点。接着讲述了命名空间的基本定义和常用的类型。
.net Framework3.5,安装c#.net的软件需要用到5
是微软公司规划的一本基于.NET Framework 2.0 的考证教材的课后习题解答,对检验基于C#的.NET Framework程序设计能力很有帮助。对已具备.NET Framework 1.X的开发人员来说,可以更新知识;对于想学基于.NET ...
基于C#的 .NET Framework程序设计教程,很漂亮的。
怎么修改项目.NET Framework的版本
Discuz! ACCESS .net Framework_C#论坛社区程序
.NET Framework 2.0 C
解压后,直接复制粘贴,替换路径C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework下的对应的文件加即可。 之后再打开VS2022,就能看到支持framework4.0框架了
理解 .NET Framework 与 C# 用对象来思考:属性与方法 用对象来思考:值类型与引用类型 用集合组织相关数据 文件读写与 XML 用对象来思考:继承 用对象来思考:多态 用对象来思考:接口 序列化与...
c#.Net开发MQTT需要的文档记录、整理写的服务器客户端例子代码,M2QTT支持framework3.5. 整理了几个github、gitee,网上的例子,自己拼凑了个服务器和客户端。一个服务器、两种客户端。 M2Mqtt的github: ...
.NET是微软提供的平台及设备无关的软件开发模型。而.NET Framework则是一个用于创建、开发和运行Web服务及应用程序的平台,是.NET的基础。本课程介绍利用C#进行基于.NET Framework的程序设计的知识和技能。
.Net FarmWork4.8 使用C#8.0语法 可以学习到:1:C#5 2:C#6 3:C#7 4:C#8 新增语法
Kafka .Net Framework4.0 版本 有完整的依赖包 Visual C++ Redistributable Packages for Visual Studio 2013
此类的 API 扩展已添加到 SQL Server 的 .NET Framework 数据提供程序 ( System.Data.SqlClient) 中。 System.Data.SqlClient 包含封装 SQL Server .NET Framework 数据提供程序的类。SQL Server .NET Framework ...
基于C#的.NET Framework程序设计。 第1章 Microsoft .NET Framework概述 第2章 托管执行环境的介绍 第3章 使用组件 第4章 部署与版本控制 第5章 通用类型系统 第6章 类型的使用 第7章 字符串、数组和集合 第8章 ...