代码之家  ›  专栏  ›  技术社区  ›  bporter

在获取启动路径、应用程序数据路径等方面,wpf与“system.windows.forms.application.x”是什么等价物?

  •  17
  • bporter  · 技术社区  · 14 年前

    我正在将Windows窗体应用程序转换为WPF应用程序。在不引用system.windows.forms的情况下,是否有方法获取诸如启动路径、用户应用程序数据路径、公共应用程序数据路径等内容?

    以前,我用 System.Windows.Forms.Application.StartupPath 但是 System.Windows.Application.Current 对象不包含相同的信息。

    4 回复  |  直到 14 年前
        1
  •  14
  •   Dan Tao    14 年前

    你可能想看看 System.Environment.GetFolderPath .

    的值 SpecialFolder 枚举数众多:

    ApplicationData
    CommonApplicationData
    CommonProgramFiles
    Cookies
    Desktop
    DesktopDirectory
    Favorites
    History
    InternetCache
    LocalApplicationData
    MyComputer
    MyDocuments
    MyMusic
    MyPictures
    Personal
    ProgramFiles
    Programs
    Recent
    SendTo
    StartMenu
    Startup
    System
    Templates
    

    这有帮助吗?

        2
  •  6
  •   Camilo Sanchez    14 年前

    这将有帮助

    对于application.startuppath,请使用appdomain.currentdomain.basedirectory

    http://msdn.microsoft.com/en-us/library/system.appdomain.basedirectory.aspx

        3
  •  2
  •   mdm20    14 年前

    可以使用环境类获取所有类型的系统信息。对于目录,请使用environment.getfolderpath方法。

    Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
    
        4
  •  0
  •   Community Nick Dandoulakis    7 年前

    我理解并同意引用 System.Windows.Forms.dll 看起来很难看,但我认为这比减少代码的重复使用和重新发明自行车要好,而只是多了一个参考。

    我举个例子 System.Windows.Forms.Application.ProductVersion 在我的控制台应用程序中,不喜欢这样,但认为这是小邪恶。

    也见 this 关于这样的问题