winform能在linux运行吗,脱离.net运行winform程序

下载测试程序,是一个用C#做的串口工具,下载解压后有两个文件夹(FrameWork和APP)和一个程序(串口工具.exe),在APP文件夹下有一个名为9527.exe的程序,这个是C#真正的“串口工具.exe”,而主目录下的串口工具.exe只是一个Loader程序,它运行后首先判断电脑上有没有安装framework,若有,则直接启动APP下的9527.exe程序;若无,则通过framework虚拟机(FrameWork下的VM.exe(其实是飞信框架里的FetionVM.exe,修改了它的图标和版权,想改成其它的大家可以用VC改一下,有网友强列要求指出这一点,想不明白为什么,呵呵,让指出就指出吧,还要求指出调用的方法,,其实我连源程序都公布了,用说的这么明白吗))启动9527.exe程序。Loader程序不会打开任何窗口,并在启动真正应用程序后立即退出。Loader程序主函数(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\\9527.exe");//直接运行

}

else

{

//应用程序放在APP目录下,要启动的程序的名字为9527.exe,

//9527周星弛在《唐伯虎点秋香》的代号,呵

RunApplication(".\\FrameWork\\VM.exe \".\\app\\9527.exe\"");//通过虚拟机运行

}

}

else

{

RunApplication(".\\FrameWork\\VM.exe \".\\app\\9527.exe\"");//通过虚拟机运行

}

return 0;

}

判断是否安装的代码就不贴出来了,可以在文章末尾下载整个VC6的工程文件看。

下面总结一下如何使用:

1. 下载我的例子程序

2. 清空APP下的所有文件

3. 把你自已的.net可执行程序和相关文件全部复制到APP下,并将可执行程序的名字改为9527.exe (不喜欢这个名字可以修改Loader程序重新编译)

4. 把主目录的“串口工具.exe"名字改成任何你想要的名字。(要改图标的话,建议下载我的Loader源程序,修改后重新编译)

大功告成,拿到一台没装.net的电脑上试试吧。祝好运。

安装好VC++6.0,以工作区方式打开vmloader.dsw,然后对VMLoader.cpp进行相应内容的更改,

找到一个图标文件覆盖016.ico

最后按F7或组建生成EXE

当出现 类似于下面的警告:

warning C4996: strcpy was declared deprecated

出现这样的警告,是因为VC2005中认为CRT中的一组函数如果使用不当,可能会产生诸如内存泄露、缓冲区溢出、非法访问等安全问题。这些函数如:strcpy、strcat等。

对于这些问题,VC2005建议使用这些函数的更高级的安全版本,即在这些函数名后面加了一个_s的函数。这些安全版本函数使用起来更有效,也便于识别,如:strcpy_s,calloc_s等。

当然,如果执意使用老版本、非安全版本函数,可以使用_CRT_SECURE_NO_DEPRECATE标记来忽略这些警告问题。办法是在编译选项 C/C++ | Preprocessor | Preprocessor Definitions中,增加_CRT_SECURE_NO_DEPRECATE标记即可。

中文:项目的属性-C\C++---预处理器-----预处理器定义-------增加_CRT_SECURE_NO_DEPRECATE标记即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值