大家好,欢迎你阅读此贴.我想问一下各位朋友,有关在Window7和Windows XP开发Winform程序有哪些区别,我没有用过Windows 7,对它的功能和我也不了解.我在使用XP开发应用程序的时候有些疑惑,虽然我大多数时候使用的是.Net Framework里面的类来进行开发.但有时候为了实现某些功能还是会调用系统API,或者XP系统System32里面的Dll来进行开发.所以我觉得调用系统的API和Dll这段代码在程序移植到Windows 7下面应该会出问题.
希望大家能够讨论一下 在Window7和Windows XP开发Winform程序的区别,最好能提出兼容这两个操作系统的解决方案.谢谢.呵呵.祝大家工作顺利!

解决方案 »

  1.   

    有些场合 在不同的语言版本的时候关于DOS命令的输出结果显示 会有一些差别。
      

  2.   

    基本无区别,但如果真有在win 7调用的系统dll报错,那也是个别的dll与xp系统存放路径不同而已,而且是个例,我在win7 os,用.net 3.5框架开发的几套程序基本与xp环境下一样。
      

  3.   

    还是有差别的,有些api还是有不一样的地方
      

  4.   

    没有什么特别的。就是比xp 方便些,写的程序显示也更好看些。
    特点 就是支持office2007 更好些。
    我家里计算机用的windows7  挺好的。
      

  5.   

    只能说一句,win7超好用,大势所趋呀!
      

  6.   

    谢谢大家,我把我程序中调用Dll的代码贴出来给大家看一下:        
    // 这段是为了限制主程序只运行一次的,我怕在Windows 7会失效
            [DllImport("User32.dll")]
            public static extern void SetForegroundWindow(IntPtr hwnd);        [DllImport("User32.dll")]
            private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow);
    再比如操作注册表的:string[] keys = Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("Microsoft").OpenSubKey("Windows").OpenSubKey("CurrentVersion").OpenSubKey("Uninstall").GetSubKeyNames();
                    foreach (string key in keys)
                    {
                        if (key.Equals(@"SLABCOMM&10C4&EA60"))
                        {
                            hasInstall = true;
                            break;
                        }
                    }
    这个是调用COM组件来创建快捷方式的,using IWshRuntimeLibrary;//在桌面创建快捷方式
                    WshShell shell = new WshShell();
                    IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(
                        Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\" + name + ".lnk"
                        );
    其中这句代码Environment.SpecialFolder.DesktopDirectory,不知道能不能定位到Windows 7的桌面呢?我知道Windows 7有XP兼容模式,但是我想说的是这些代码不是在兼容模式运行的情况.希望大家帮我解答一下,小弟没有测试环境.
      

  7.   

    我也沒有用過win7。所以不清楚。
    幫頂哈··
      

  8.   

    界面显示上不一样,同一个程序在xp、win7上效果不太一样
      

  9.   

    1.有些场合 在不同的语言版本的时候关于DOS命令的输出结果显示 会有一些差别。
    2.如果真有在win 7调用的系统dll报错,那也是个别的dll与xp系统存放路径不同而已,而且是个例,
    3.界面显示上不一样,同一个程序在xp、win7上效果不太一样
      

  10.   

    麻烦大家说说我那些调用系统Dll,操作注册表,调用COM组件的,在Windows 7上面还能不能使用呢?
      

  11.   

    应该没什么不同吧。
    win7已经自带.net3.5 SDK了,所以wpf应该会很快取代winform做为开发界面的框架吧
      

  12.   

    没感觉有什么区别啊.....公司用的XP...家里用的WIN7...挺好啊...
      

  13.   

    有区别的哦  我最近的那个项目就是 有些dll根本掉不了,兼容性不是 全部都一样的,
      

  14.   

    因为Windows 7有TaskBar显示,你的winform程序需要添加两个dll才能让你的程序有那个特效。
    命名空间:
    Microsoft.WindowsAPICodePack.Dialogs 
    Microsoft.WindowsAPICodePack.Taskbar 
    Microsoft.WindowsAPICodePack.Shell 
    现在大部分日常软件还还没针对Windows 7那个特效升级。
    你可以在Windows 7上安装个MSN 最高版本的。体验下。我这里有用那个特效做得一个MP3播放器。看看。
    http://blog.csdn.net/dujingjing1230/archive/2010/03/14/5379417.aspx
      

  15.   

    基本没有区别,但是有一些控件的表示形式,以及处理Windows 7 还有问题.
      

  16.   

    要用API时,先去查一下MSDN。在API介绍说明的最下面会说明,这个API适用于那些系统。如果将被放弃的API,会有建议你用那个API来代替的
      

  17.   

    不过有人多第三方控件 在windows7上用有问题。
    必须更新最新版本才行。
      

  18.   

    win7安全性设置高了后,一些程序中的文件夹无法安装。
      

  19.   

    嗯,我最怕有些API使用不了和一些COM组件也用不了.
    因为我的程序在安装的时候,桌面的快捷方式,还有判断某些程序是否已经安装,都是调用了API的还有一些地方调用API也不可避免,比如最近写了一个播放器就要调用COM组件和控制声音的API