Где хранятся пути к стандартным пользовательским папкам. У каждого пользователя в системе Windows есть свой уникальный рабочий стол, панель закладок, панель быстрого запуска, мои документы, моя музыка, мои картинки и т.д. Так вот адреса и настройки всех этих папок можно легко вынуть из системного реестра.
Ниже приведен ко программы на C++, которая показывает все пути к этим папкам.
#include <stdio.h>
#include <windows.h>int main(int argc, char* argv[])
{
//——————————-
// Windows shell folders
//——————————-
HKEY pKey;
unsigned char Shell[1024];
DWORD ShellPath = sizeof(Shell);
RegOpenKeyEx(HKEY_LOCAL_MACHINE, «SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders», 0, KEY_QUERY_VALUE, &pKey);
RegQueryValueEx(pKey, «Common Administrative Tools», NULL, NULL, Shell, &ShellPath);
printf(«Common Administrative Tools — %s\n»,Shell);
RegQueryValueEx(pKey, «Common AppData», NULL, NULL, Shell, &ShellPath);
printf(«Common AppData — %s\n»,Shell);
RegQueryValueEx(pKey, «Common Desktop», NULL, NULL, Shell, &ShellPath);
printf(«Common Desktop — %s\n»,Shell);
RegQueryValueEx(pKey, «Common Documents», NULL, NULL, Shell, &ShellPath);
printf(«Common Documents — %s\n»,Shell);
RegQueryValueEx(pKey, «Common Favorites», NULL, NULL, Shell, &ShellPath);
printf(«Common Favorites — %s\n»,Shell);
RegQueryValueEx(pKey, «Common Programs», NULL, NULL, Shell, &ShellPath);
printf(«Common Programs — %s\n»,Shell);
RegQueryValueEx(pKey, «Common Start Menu», NULL, NULL, Shell, &ShellPath);
printf(«Common Start Menu — %s\n»,Shell);
RegQueryValueEx(pKey, «Common Startup», NULL, NULL, Shell, &ShellPath);
printf(«Common Startup — %s\n»,Shell);
RegQueryValueEx(pKey, «Common Templates», NULL, NULL, Shell, &ShellPath);
printf(«Common Templates — %s\n»,Shell);
RegQueryValueEx(pKey, «CommonMusic», NULL, NULL, Shell, &ShellPath);
printf(«CommonMusic — %s\n»,Shell);
RegQueryValueEx(pKey, «CommonPictures», NULL, NULL, Shell, &ShellPath);
printf(«CommonPictures — %s\n»,Shell);
RegQueryValueEx(pKey, «CommonVideo», NULL, NULL, Shell, &ShellPath);
printf(«CommonVideo — %s\n»,Shell);
RegQueryValueEx(pKey, «Personal», NULL, NULL, Shell, &ShellPath);
printf(«Personal — %s\n»,Shell);
RegCloseKey(pKey);
//——————————
getchar();
return 0;
}