Похоже, Windows 10 Ransomware сломал мое приложение (StationRipper). Это приложение на C ++ / MF C, но похоже, что оно сломает любое приложение, которое делает то, что делает StationRipper.
Мой вопрос высокого уровня:
Мое приложение должно записывать файлы (например, mp3-файлы) по мере их записи. Есть ли на самом деле разумное место для этого (например, папка Musi c), если включена защита Ransomware, или я застрял, просто создавая произвольную папку где-нибудь? Мое приложение делает запись за кулисами, поэтому пользователь не может выбрать каталог для каждого файла.
Подробности:
Мое приложение записывает файлы c. Очень долгое время go (например, в 2002 году) он записывал его в каталог пользователей "Musi c". Это работало нормально, но теперь я вижу проблему - я получаю код ошибки «Система не может найти указанный файл». в CreatedDirectory для моего приложения (это было действительно интересно отследить, так как этот код ошибки не указан как ошибка, которую CreateDirectory возвращает), и когда я пытаюсь записать любой файл в этот каталог, если я создаю его вручную с помощью проводника ,
Я наконец попытался запустить mkdir и создать файл в этом каталоге вне моего приложения ... происходит то же самое.
Я отключил защиту от вымогателей в Windows Защитник ... и теперь он работает из моего приложения.
Похоже, мне нужно использовать что-то вроде средства выбора файлов, чтобы сохранить в этом каталоге ? Что, как я уже сказал, не будет работать, поскольку пользователь не участвует после того, как он начинает запись.
Я не могу просто сказать своим пользователям отключить защиту Ransomware для использования моего приложения, но я бы предпочел поместить файлы musi c в их папку Musi c ...
Есть какие-либо предложения?
Дополнительная информация, запрошенная в комментариях:
TCHAR szDocPath[MAX_PATH];
szDocPath[0] = 0;
if (::SHGetSpecialFolderPath(NULL, szDocPath, CSIDL_PERSONAL, FALSE))
{
_tcscat(szDocPath, "\\StationRipper");
DWORD m_dwLastError = ::GetLastError();
BOOL bResult = CreateDirectory(szDocPath, NULL);
m_dwLastError = ::GetLastError();
}
Запуск вышеупомянутого с защитой Ransomware приводит к нулю. С выключенным возвращает 1 (и каталог создан).