zoukankan      html  css  js  c++  java
  • Windows 的公共文件夹

    在 Windows 中,存放软件运行后产生的数据主要有两个地方,一个是 C:ProgramData 文件夹,一个是 C:UsersAdministratorAppData 文件夹。

    ProgramData

    一般来讲,ProgramData 存储一些公共文件,以供所有用户使用。但是 Windows 的多用户功能几乎完全没有接触过。。。

    Environment.SpecialFolder.CommonApplicationData
    

    AppData(Application Data Folders)

    如果应用程序要为每个用户建立单独的文件夹,就应该使用 AppData 文件夹。AppData 文件夹下有三个子文件夹:

    AppData/Local

    用作当前非漫游用户使用的应用程序特定数据的公共储存库的目录。非漫游是指这些文件由于特定于 PC 或者太大等,不应随用户配置文件进行同步或者移动。

    Environment.SpecialFolder.LocalApplicationData

    其中 AppDataLocalTemp 存储了一些临时文件,可以删除。

     要获取 Temp 的路径,有两种方法:

    System.IO.Path.GetTempPath();
    
    Environment.GetEnvironmentVariable("TEMP");
    

    AppData/LocalLow

    LocalLow 也是包含了无法同步的数据,不够这些数据具有较低的访问级别。如果用户以安全模式运行程序,该程序将只能访问 LocalLow 文件夹的数据。

    在 C# 中没有直接的访问 LocalLow 文件夹的方式,要获取该文件夹的路径,可以用 Local 的路径拼接,或者使用 shell32 中的 SHGetKnownFolderPath 方法:

    void LocalLow()
    {
        string locallowPath;
        Guid localLowId = new Guid("A520A1A4-1780-4FF6-BD18-167343C5AF16");
        IntPtr pszPath = IntPtr.Zero;
        try
        {
            int hr = SHGetKnownFolderPath(localLowId, 0, IntPtr.Zero, out pszPath);
            if (hr >= 0)
                locallowPath = Marshal.PtrToStringAuto(pszPath);
            throw Marshal.GetExceptionForHR(hr);
        }
        finally
        {
            if (pszPath != IntPtr.Zero)
                Marshal.FreeCoTaskMem(pszPath);
        }
    }
    
    [DllImport("shell32.dll")]
    static extern int SHGetKnownFolderPath([MarshalAs(UnmanagedType.LPStruct)] Guid rfid, uint dwFlags, IntPtr hToken, out IntPtr pszPath);
    View Code

    AppData/Roaming

    Roaming 就是“漫游”的意思,这个文件夹是用作当前漫游用户的应用程序特定数据的公共储存库的目录。既可以存储配置文件等可以进行同步或移动的数据。

    Environment.SpecialFolder.ApplicationData
  • 相关阅读:
    通过Get-Group导出组的成员
    VNC Server (CentOS 7 GNOME)
    VNC Server (Ubuntu 16.04.3 GNOME)
    输入输出重定向
    Linux下的网卡Bonding
    硬件性能测试
    Linux里的稀疏文件
    Linux下CPU信息的查看
    工作中常用到的Linux命令
    Putty+Xming实现在Windows客户端显示Linux服务器端的图形化程序
  • 原文地址:https://www.cnblogs.com/heimao233/p/10406115.html
Copyright © 2011-2022 走看看