c# 开发的winform软件 怎么样使其只能在xp系统下运行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 开发的winform软件 怎么样使其只能在xp系统下运行相关的知识,希望对你有一定的参考价值。
参考技术A .NET CLR托管代码,还是要开发本机代码?我主要是以64位Win7 + Visual Studio 2008为平台来开发本机代码,并部署在32位XP/2003/Vista下。
1)如果是基于.NET平台,那就非常简单了,只要编译配置选项为x86,在客户机上部署,只需要有对应的.NET运行库就行,不存在兼容性问题。因为MSIL代码要由JIT编译器实时映射为机器代码。如果是本机代码,就有点麻烦,除了要确保编译配置选项为Win32,还牵扯到Unicode与ASCII库、各种Run-Time库,真是!@#$%^&
2)第二个问题就是纯粹的硬件配置问题了。有时为了彻底解决兼容问题,我在64位Win7下装了XP+VC6虚拟机。我用的是ThinkPad本本,还是很令我满意的。内存越大越好,如果是固态硬盘会更好,只是钞票…… 囧~
3)第三个问题和以一个问题差不多,咱们程序员应该都明白,100%是没人敢“保证”的。就好像不可能没有Bug,只是你没发现Bug而已。但如果基于.NET,事情会好办得多,.NET是不存在“平台输出”概念的,因为它本身与平台无关。至于本机代码,很麻烦,很痛苦的……
4)综上所述,由于使用64位Win7并没有明显的优势,故我觉得你暂时没有必要换64位Win7,除非你想像我一样调试来调试去,汗~
5)有时,你满怀信心的把编译好的MFC程序copy到客户机上,却跳出个错误对话框,那心情…… 但如果是.NET,就不存在这个问题了。
以上是我的实际经验,虽然是90后程序员,汗~
希望能对你有所帮助。
另外,站长团上有产品团购,便宜有保证 参考技术B 貌似只能在你程序内部限制,每个操作系统都有自己的版本号,对比版本号,排除其他操作系统追问
怎么对比,请详细点!
追答Environment.Version
可以获得操作系统的版本信息 类似于5.2.3.201
比对这个信息
我该在app.config配置文件里怎么样比对!请大虾明示!谢谢
追答Environment.Version
是.net提供的一个获取操作系统版本的方法
还有其他的获取名称等方法
就在system命名空间下
看下参考文章,可能有帮助
参考资料:http://www.abc188.com/info/html/chengxusheji/C-C--/20080224/13707.html
本回答被提问者和网友采纳 参考技术C 这个要求有点好玩,我给你提几个思路:1,程序运行一开始读取系统的信息,这样的话,别说只能在XP下了,就算只能在XP SP3下运行都没问题。
2,程序引用一个只有XP系统用的dll,那么其他系统也就不能用了。
3,总的思路就是,找出XP中特有的,不可复制的东西判断一下。 参考技术D 你的思路挺怪的,别人都是想尽办法提高兼容性,你却朝相反的方向努力
一定接受IBM PS2的教训
c# winform背景图片超过屏幕分辨率怎么办
参考技术A 如何在分辨率为1680*1050的屏幕上开发超过些分辨率的winfrom应用程序比如我现在有一张1920*1080的图片,让它去做from的背景,遇到的问题是,1)VS开发环境中,form的size属性值最大只能手动设置为当前屏幕的分辨率2)运行起来后,超过屏幕分辨率真的图像显示不出来解决方法1)设置AutoScrollMinSize属性,把它设置为你背景图片的分辨率,这样运行起来后,点击向下还原会出现滚动条,拖动滚动条,剩下的图像就可以显示出来了2)在VS开发环境中,还是看不到剩下的图像,这样你就没法在上面做东西了,这时要设置一下AutoScroll属性为true,你的开发环境中就会出现双层的滚动条,剩下的图像也会显示出来 另外,若设置label为热区后,防止窗口大小变化时,热区会移动,可以不让背景自动拉伸或自适应,然后把label的lock属性设置为true本回答被提问者采纳以上是关于c# 开发的winform软件 怎么样使其只能在xp系统下运行的主要内容,如果未能解决你的问题,请参考以下文章
C# WinForm开发 需要一个类似office 2007 菜单栏的控件