之前看到有用别的方法来实现的,但我还是选择了现在比较流行的软件飞信中带的VMDotNet,也就是所谓的.NET FRAMEWORK虚拟机吧。相信有很多人也已经看过相关文章了,但是对于新手我还是再提一下,在你的飞信的安装目录下有一个VMDotNet文件夹,这 个就是我们要用的最主要的内容了,先把它COPY出来吧!
下面先来简单说明一下VMDotNet文件夹吧,在这个文件夹之下有一个v2.0.50727文件夹,很明显是.NET FRAMEWORK的版本号啦,进入这个文件夹,里面有一个FetionVM.exe的可执行文件(飞信的图标),这个便是我们要用到的虚拟机文件了。其它文件我们不用考虑。这个程序可以带入一个参数,即要在此虚拟环境下运行的程序的路径。形如FetionVM.exe C:/1.exe,也可以使用相对路径:FetionVM.exe 1.exe,当然这样要求两者在同一目录下啦。这里顺便要再说一下VMDotNet.log这个文件,这里记录了在调用FetionVM.exe时的错误信息,主要是路径不对,找不到对应的程序。在了解了这个文件夹之后,我们可以动手开始做啦!
在这里我们需要再新建一个C#应用程序项目,我把它命名为PicStart,把FORM1.CS删除,或者直接新建一个控制台程序,在Program.cs中写入以下代码:
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace PicStart
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
//下面是调用外部程序的代码
System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
Info.FileName = "VMDotNet//v2.0.50727//FetionVM.exe"; //这里是你要调用到的外部程序
Info.Arguments = "PicProcessor.exe"; //调用外部程序的参数,这里是图片处理项目的可执行文件,注意不是现在这个项目的可执行文件
System.Diagnostics.Process Proc;
try
{
//
//启动外部程序
//
Proc = System.Diagnostics.Process.Start(Info);
}
catch (System.ComponentModel.Win32Exception e)
{
Console.WriteLine("系统找不到指定的程序文件。/r{0}", e);
return;
}
}
}
}
在做完了这个项目以后我们生成此项目,这个时候我们就可以开始制作程序的安装文件了。
以前我们利用VS2005做安装包的时候可以选择把.NET FRAMEWORK集成进去,但现在我们不用了,请大家把相应的选项全部去掉,
PicStart程序主函数(VC6.0编写)的代码如下:
主函数:
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
TCHAR fwVersion[VERSION];
if(CheckRegistryKeyExistance(fwVersion))
{
if(CompareFWVersions(fwVersion, "2.0"))//最低版本要求2.0
{
RunApplication(".//app//PicProcessor.exe");//直接运行
}
else
{
//应用程序放在APP目录下,要启动的程序的名字为PicProcessor.exe,
RunApplication(".//FrameWork//FetionVM.exe/".//app//PicProcessor.exe/"");//通过虚拟机运行
}
}
else
{
RunApplication(".//FrameWork//VM.exe /".//app//PicProcessor.exe/"");//通过虚拟机运行
}
return 0;
}
分享到:
相关推荐
让C#写的WINFORM程序脱离框架运行 利用飞信的框架 1、把飞信安装目录下的VMDotNet文件夹拷出来。放到你的程序所在目录下。 2、编写一个批处理程序,保存为Start.bat. @echo off set vmpath=%cd%\VMDotNet\v2.0....
.Net 脱离.Net framework 最好方法
C#使用飞信虚拟机脱离.net framework及win32引导程序
这里要介绍的方法是直接利用飞信的框架来实现脱离 .Net framework运行。 首先下载一个飞信的程序安装。在安装目录中会有 VMDotNet 目录。这个就是.Net框架虚拟环境需要的文件。 直接把整个目录提取出来。 如何利用...
VMDotNet c#程序利用飞信虚拟环境脱离.net框架
修改网络配置.zip C#.NET .NET .NET Framework 3.5 修改网络配置.zip C#.NET .NET .NET Framework 3.5 修改网络配置.zip C#.NET .NET .NET Framework 3.5 修改网络配置.zip C#.NET .NET .NET Framework 3.5
C#脱离.NET环境,飞信虚拟机,.net framework 2.0
基于C#的 .NET Framework程序设计教程,很漂亮的。
是微软公司规划的一本基于.NET Framework 2.0 的考证教材的课后习题解答,对检验基于C#的.NET Framework程序设计能力很有帮助。对已具备.NET Framework 1.X的开发人员来说,可以更新知识;对于想学基于.NET ...
基于C#的.NET Framework程序设计。 第1章 Microsoft .NET Framework概述 第2章 托管执行环境的介绍 第3章 使用组件 第4章 部署与版本控制 第5章 通用类型系统 第6章 类型的使用 第7章 字符串、数组和集合 第8章 ...
防止反编译及使.net程序脱离.net环境的工具
对于学习.net的同学来说,.net framework是必须要学的,而选择一种好的资料有事学好他的关键
一、直接利用飞信程序运行C#程序 没有.net framework的话不能运行的。会报错,找不到程序入口。如果你想脱离。net框架运行的话,你可以试试飞信。就是移动的那个。那个可以让你的程序脱离框架运行,已成功试验了。...
C#程序脱离.net框架的多种方法与应用一步之遥
C# 教学资料 从基础只是到高级应用都有所讲解 ...首先介绍了Microsoft .NET Framework的框架,以及公共语言运行库、.NET Framework类库、ADO.NET和Web服务的特点。接着讲述了命名空间的基本定义和常用的类型。
文件直接拷贝到.net项目里即可使用,文件所需要的DLL通过NuGet程序包可直接安装,压缩包中包含三个个文件,在使用的时候直接调用WeChatPayMain的方法并传入相应参数即可(无特殊支付需求不用改动),其他两个文件...
通过将 .NET Framework 4.5 RC 与 C# 或 Visual Basic 编程语言结合使用,您可以编写 Windows Metro 风格的应用程序。.NET Framework 4.5 RC 包括针对 C# 和 Visual Basic 的重大语言和框架改进,以便您能够更轻松地...
最近偶然发现一种方法可以做到真正使程序脱离.net环境运行且没有任何版权信息添出,现将使用方法、源代码、测试程序发布于此: 请首先在文章末尾下载测试程序,是一个用C#做的串口工具,下载解压后有两个文件夹...
通过将 .NET Framework 4.5 与 C#、Visual Basic 或 F# 编程语言结合使用,您可以编写 Windows 应用程序。.NET Framework 4.5 包括针对 C#、Visual Basic 和 F# 的重大语言和框架改进(以便您能够更轻松地编写异步...
使用.NET Framework编写应用程序,就是使用.NET代码库编写代码(使用支持Framework的任何一种语言)。本书中所有的示例都使用VS进行开发,VS是一种强大的集成开发环境,支持C#(以及托管和非托管C++、Visual Basic和...