gpt4 book ai didi

c++ - 如何向使用 IFileOperation 创建的文件添加文本?

转载 作者:行者123 更新时间:2023-11-28 03:07:05 27 4
gpt4 key购买 nike

我查看了 IFileOperation 的 MSDN 示例,它们展示了如何创建文件,但我不想创建空白文件,我想在其中添加一些文本。这是我从样本中得到的:

IFileOperation *pfo;
HRESULT hr = CreateAndInitializeFileOperation(IID_PPV_ARGS(&pfo));
if (SUCCEEDED(hr))
{
hr = pfo->NewItem(psiFolder, FILE_ATTRIBUTE_NORMAL, c_szFileName, NULL, NULL);
if (SUCCEEDED(hr))
{
hr = pfo->PerformOperations();
}
pfo->Release();
}

在 pfo->NewItem 调用中,第四个参数用于模板,但我不想定义模板。我想创建一个包含内容的 .Url 文件:

[InternetShortcut]
URL=www.google.com

我什至无法控制文件的格式,更不用说内容了。请帮忙!

最佳答案

IFileOperation::NewItem 允许您访问“ShellNew”菜单的功能(如果您在文件夹中右击并选择 New上下文菜单)。它旨在让您创建文件夹或空文件,或从预先存在的模板创建新文件。它不允许您创建包含任意数据的文件。

创建新的空文件后,您可以使用 CreateFile() 打开它并使用 WriteFile() 将数据写入其中。但请注意 CreateFile() 也可以为您创建文件 - 真的没有必要使用 IFileOperation 来创建一个空文件(除非您需要它支持 UAC在 protected 位置创建文件,但在这种情况下,您之后将无法写入文件)。

关于c++ - 如何向使用 IFileOperation 创建的文件添加文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19415722/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com