C#获取用户桌面等特殊系统路径
不同的操作系统,桌面的路径不尽相同,而且随着用户安装位置的不同也不同。
C#可以从Windows注册表读取得到用户的特殊文件夹(桌面、收藏夹等等)的位置。
代码如下:
using Microsoft.Win32;
namespace JPGCompact
{
public partial class MainForm : Form
{
private void Test()
{
RegistryKey folders;
folders = OpenRegistryPath(Registry.CurrentUser, @"\software\microsoft\windows\currentversion\explorer\shell folders");
// Windows用户桌面路径
string desktopPath = folders.GetValue("Desktop").ToString();
// Windows用户字体目录路径
string fontsPath = folders.GetValue("Fonts").ToString();
// Windows用户网络邻居路径
string nethoodPath = folders.GetValue("Nethood").ToString();
// Windows用户我的文档路径
string personalPath = folders.GetValue("Personal").ToString();
// Windows用户开始菜单程序路径
string programsPath = folders.GetValue("Programs").ToString();
// Windows用户存放用户最近访问文档快捷方式的目录路径
string recentPath = folders.GetValue("Recent").ToString();
// Windows用户发送到目录路径
string sendtoPath = folders.GetValue("Sendto").ToString();
// Windows用户开始菜单目录路径
string startmenuPath = folders.GetValue("Startmenu").ToString();
// Windows用户开始菜单启动项目录路径
string startupPath = folders.GetValue("Startup").ToString();
// Windows用户收藏夹目录路径
string favoritesPath = folders.GetValue("Favorites").ToString();
// Windows用户网页历史目录路径
string historyPath = folders.GetValue("History").ToString();
// Windows用户Cookies目录路径
string cookiesPath = folders.GetValue("Cookies").ToString();
// Windows用户Cache目录路径
string cachePath = folders.GetValue("Cache").ToString();
// Windows用户应用程式数据目录路径
string appdataPath = folders.GetValue("Appdata").ToString();
// Windows用户打印目录路径
string printhoodPath = folders.GetValue("Printhood").ToString();
}
private RegistryKey OpenRegistryPath(RegistryKey root, string s)
{
s = s.Remove(0, 1) + @"\";
while (s.IndexOf(@"\") != -1)
{
root = root.OpenSubKey(s.Substring(0, s.IndexOf(@"\")));
s = s.Remove(0, s.IndexOf(@"\") + 1);
}
return root;
}
}
}
分享到:
相关推荐
但如果你的目标是兼容较旧的操作系统,或者特定情况需要从注册表中获取信息,那么以上所述的方法仍然是有效的。 总结来说,C#通过注册表读取系统中安装的应用程序是一种常见的做法,主要涉及对`RegistryKey`对象的...
利用C#编写的注册读、写、删除、查询以及修改的...2、调用方法,下面是修改注册表桌面图标的显隐的键值的方法(0=显示,1=隐藏) RegistryKeys.ModifyRegistData(Registry.CurrentUser, "NoDesktop", openSubKey, "0");
在C#编程中,获取系统特殊文件夹及路径信息是一项常见的任务,这涉及到对操作系统环境的深入理解。本文将详细讲解如何使用C#语言来访问和操作这些特定的系统路径。 首先,C#提供了`System.Environment`类,该类包含...
在C#中获取用户的桌面路径通常可以通过以下方法实现: 1. **`Environment.GetFolderPath(Environment.SpecialFolder.Desktop)`** - **作用**:获取当前用户的桌面路径。 - **示例代码**: ```csharp string ...
此外,如果你需要编程自动化获取QQ的安装路径,可以使用各种编程语言(如Python、C#、VBScript等)的API函数来查询注册表。例如,在Python中,可以使用`winreg`模块访问注册表,如下: ```python import winreg ...
获取指定程序的运行路径,前段时间项目中要用到该功能,网上很多都是获取当前程序的运行路径,最后找了很久才找到类似的代码,修改了传上来共享下,帮助需要的人
在计算机操作系统中,特殊文件夹是指那些由系统预定义并具有特定功能的文件夹,例如用户的桌面、文档、图片、下载等。这些文件夹通常有固定的逻辑位置,并且可以通过编程接口(API)方便地获取其路径。在Windows操作...
不过,由于注册表的修改会影响系统和应用程序的运行,因此在进行注册表操作时应格外小心,确保操作的正确性,并且通常需要有适当的权限,特别是在对Registry.LocalMachine等系统级别键进行操作时。错误的注册表操作...
### C# 获取系统特殊图标(如:我的电脑,回收站)技术详解 #### 概述 在Windows系统中,存在一些特殊图标,如“我的电脑”、“回收站”等,这些图标代表了特定的系统资源或功能。对于开发人员而言,能够有效地获取...
- **获取AutoCAD版本信息**:注册表中的键值可能包括安装路径、版本号、产品ID等,可以读取这些信息以确定安装的AutoCAD版本。 4. **.NET程序随CAD启动自动加载**: - **COM组件自动化**:AutoCAD支持通过COM...
本篇将详细介绍C#中获取不同类型的当前路径的方法,并提供相关的源码示例。 1. **应用程序执行目录(Assembly Location)** 当我们需要获取应用程序可执行文件所在的目录时,可以使用`System.Reflection.Assembly`...
在C#编程中,获取系统特殊目录是常见的需求,这些目录通常包含操作系统的重要组件或用户数据。例如,`System32`目录存储系统核心文件,`Windows`目录包含操作系统的主要组件,`Program Files`用于安装应用程序,而`...
通过熟练掌握这些技巧,开发者可以方便地在应用程序中存储配置信息、用户设置等,同时需要注意遵循安全最佳实践,确保系统的稳定性和数据的安全性。在实际项目中,还可以考虑使用配置文件或数据库来存储数据,以降低...
在探讨如何使用C#语言修改Windows注册表值之前,我们首先需要了解几个基本概念:注册表的作用、如何安全地操作注册表以及C#语言提供的工具和技术。本篇将围绕“C# 修改注册表值”这一主题展开深入讨论,旨在帮助读者...
在IT行业中,操作系统与用户界面的交互是至关重要的,而注册表则是Windows操作系统中存储配置信息的核心数据库。本文将深入探讨如何使用C#编程语言来操作注册表键值,从而实现隐藏或显示桌面上的图标。这个功能在...
`Registry`类提供了几个静态属性,分别对应注册表的不同根键,如`Registry.LocalMachine`(本地机器)、`Registry.CurrentUser`(当前用户)等。下面的代码演示了如何打开`HKEY_LOCAL_MACHINE\Software`下的一个键...
在IT领域,C#是一种广泛使用的面向对象的编程语言,尤其在开发Windows桌面应用程序时,如本案例中的“系统注册表编辑器”。该程序模仿了Windows操作系统自带的regedit工具,提供用户友好的界面来查看和修改注册表...
在IT领域,C#是一种...在这个压缩包文件`ConsoleClient`中,可能包含了一个使用上述方法实现的控制台应用程序示例,通过运行这个程序,你可以更直观地了解C#操作注册表的实际过程。建议结合源代码学习,以加深理解。
在C#中,操作注册表是一项常见的任务,用于读取、写入或修改系统设置。在C#中,我们可以利用.NET Framework提供的`Microsoft.Win32`命名空间中的类来实现这个功能。`Registry`类提供了对Windows注册表的访问,而`...
C#编程 系统及注册表操作 DummyKey(源码)(源码)C#编程 系统及注册表操作 DummyKey(源码)(源码)C#编程 系统及注册表操作 DummyKey(源码)(源码)C#编程 系统及注册表操作 DummyKey(源码)(源码)C#编程 系统及注册表操作 ...