0

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 呼び出しでは、4 番目のパラメーターはテンプレート用ですが、テンプレートを定義したくありません。コンテンツを含む .Url ファイルを作成したいと考えています。

[InternetShortcut]
URL=www.google.com

コンテンツは言うまでもなく、ファイルの形式を制御することさえできないようです。助けてください!

4

1 に答える 1

2

IFileOperation::NewItem「ShellNew」メニュー (フォルダを右クリックし、コンテキスト メニューから[新規] を選択すると表示されるメニュー) の機能にアクセスできます。フォルダーまたは空のファイルを作成したり、既存のテンプレートから新しいファイルを作成したりできるように設計されています。任意のデータを含むファイルを作成することはできません。

新しい空のファイルを作成したら、 を使用して開き、 を使用CreateFile()してデータを書き込むことができますWriteFile()。ただしCreateFile()、ファイルも作成できることに注意してください-IFileOperation空のファイルを作成するために単に使用する必要はありません(保護された場所にファイルを作成するためにUACのサポートが必要な場合を除きますが、その場合は問題が発生します後で書き込みます)。

于 2013-10-16T23:37:55.463 に答える