windows - 文档和音乐文件夹 - > Windows Defender 勒索软件保护破坏了我的应用程序
问题描述
所以看起来 Windows 10 勒索软件破坏了我的应用程序(StationRipper)。这是一个 C++/MFC 应用程序,但看起来它会破坏任何正在执行 StationRipper 正在执行的应用程序。
我的高级问题:
我的应用程序需要在记录文件时写入文件(例如,mp3)。如果打开勒索软件保护,实际上是否有一个明智的地方可以这样做(比如音乐文件夹),或者我只是在某个地方创建了一个任意文件夹?我的应用程序正在幕后进行录制,因此用户无法为每个文件选择目录。
细节:
我的应用程序录制音乐文件。很久以前(比如,在 2002 年),它把它写到了用户的“Music”目录中。效果很好,但现在我看到了一个问题 - 我收到“系统找不到指定的文件”的错误代码。在我的应用程序的 CreatedDirectory 上(这真的很有趣,因为该错误代码未列为 CreateDirectory 要返回的错误),并且当我尝试将任何文件写入该目录时,如果我通过文件资源管理器手动创建它.
我终于尝试运行 mkdir,并在该目录中创建一个文件,在我的应用程序之外......同样的事情发生了。
我在 Windows Defender 中关闭了勒索软件保护......现在它可以在我的应用程序中使用。
看起来我必须使用文件选择器之类的东西来保存到该目录?正如我所说,这将不起作用,因为用户在开始录制后不参与其中。
我不能只告诉我的用户关闭勒索软件保护以使用我的应用程序,但我更愿意将音乐文件放在他们的音乐文件夹中......
有什么建议么?
评论中要求的其他信息:
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();
}
在上面运行带有勒索软件保护的结果为零。关闭它返回 1(并创建目录)。
解决方案
(注意:不支持SHGetSpecialFolderPath ,但它的现代等效项 SHGetKnownFolderPath有同样的问题)
您可以要求他们将您的应用程序列入白名单,而不是要求用户完全禁用勒索软件保护。请参阅本文的具有受控文件夹访问权限的白名单应用部分(官方文档有些欠缺)。
推荐阅读
- flutter - Flutter Sound CocoaPods 找不到 pod "tau_sound_core" 的兼容版本:
- tailwind-css - 自定义配置类的响应变体
- mysql - mysql 查询使数据库存储满
- javascript - 如果模拟了两种方法,则 Jest 测试失败
- c++ - 不能将字段“”声明为抽象类型“”
- python - 如何通过jinja2中另一个列表中的项目数重复列表项目
- matlab - 如何在 Matlab 中找到并突出显示图像中最亮的区域?
- javascript - antd输入字段中的object对象
- pandas - 使用熊猫导入excel文件时出现内存错误
- swift - Textview 只显示最后一个查询项 - MacOS App