所以看起来 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(并创建目录)。