Как я получаю путь данных приложения в Windows с помощью C++?

Если вы попытаетесь импортировать файл css с этой строкой:

import '../css/style.css';

и добавили style-loader в конфигурацию вашего веб-пакета.

Ошибка:

Модуль не найден: Ошибка: не удается разрешить модуль «загрузчик стиля»

модуль с именем «style-loader» не является разрешен.

Вам необходимо установить этот модуль с помощью:

$ npm install style-loader --save

Или, если вы используете пряжу:

$ yarn add style-loader

Затем запустите webpack снова.

26
задан Brian T Hannan 24 May 2010 в 17:46
поделиться

3 ответа

Используйте SHGetFolderPath с CSIDL_COMMON_APPDATA в качестве CSIDL.

TCHAR szPath[MAX_PATH];
if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_COMMON_APPDATA, NULL, 0, szPath)))
{
    //....
}
44
ответ дан 28 November 2019 в 06:44
поделиться

Просто чтобы дополнить ответ Interjay

  1. Мне пришлось включить shlobj.h, чтобы использовать SHGetFolderPath.

  2. Часто вам может понадобиться прочитать файл из appdata, для этого вам нужно использовать функцию pathAppend (для этого требуется shlwapi.h).

#include <shlwapi.h>
#pragma comment(lib,"shlwapi.lib")
#include "shlobj.h"

TCHAR szPath[MAX_PATH];
// Get path for each computer, non-user specific and non-roaming data.
if ( SUCCEEDED( SHGetFolderPath( NULL, CSIDL_COMMON_APPDATA, NULL, 0, szPath ) ) )
{
    // Append product-specific path
    PathAppend( szPath, _T("\\My Company\\My Product\\1.0\\") );
}

См. здесь для более подробной информации.

18
ответ дан Sam 28 November 2019 в 06:44
поделиться

вы также можете прочитать значение из реестра

path = HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell Folders

key = Common AppData

-3
ответ дан 28 November 2019 в 06:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: