我想在我将此程序发送到的任何用户计算机的桌面上创建一个文本文件。本质上,我想弄清楚如何找到其桌面路径,以及创建 .txt 文件以填充信息,以及如何将其放置在桌面上。

最佳答案

首先获取到桌面的路径:

#include <windows.h>
#include <shlobj.h>
#include <string>


int main()
{
    wchar_t* pszDesktopFolderPath = NULL;
    HRESULT hr = SHGetKnownFolderPath(FOLDERID_Desktop, KF_FLAG_DONT_VERIFY, NULL, &pszDesktopFolderPath);

    if (SUCCEEDED(hr))
    {
        std::wstring strFileName(pszDesktopFolderPath);
        strFileName = strFileName + L"\\" + L"MyFileName.txt";
        CoTaskMemFree(pszDesktopFolderPath);
        pszDesktopFolderPath = NULL;
    }
    return 0;
}

然后_wfopen_s或任何其他I / O打开API(CreateFile,open等)。

09-06 10:59