c++ - Windowsネットワークマッピングのラベルの設定

c++ windows winapi networking

ネットワークドライブマッピング(WNetAddConnection関数または「ネットワークドライブの割り当て...」GUIで作成)に、デフォルトの「<ターゲット名>(<ターゲットパス>)(<ドライブ文字>: )" 1?

私はSetVolumeLabelを試してみましたが、これは常に失敗し、表示ラベルを指定するWNet APIには何も表示されません。
答え
これは100%の解決策ではありませんが、コメントというよりは答えです...

マップされたネットワークドライブの名前をGUIで変更する場合(GUIを右クリックして[名前の変更]に移動)、レジストリに値を追加します。さまざまなサイト(特にthis one)でラウンドを読むと、Windowsがこの値を散発的に削除する可能性があるため、これは永続的な解決策ではない可能性があります...

regeditを使用して手動で実行したところ、GUIで機能したため、プログラムで機能しないはずの理由はわかりません。

_LabelFromRegという文字列値を、ラベルにしたい値をレジストリキーに追加します。

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##<server-name>#<share-name>


共有をすでに作成している場合、このキーはすでに存在しているはずです。

どうやら(上記のリンクを参照)、そのキーを読み取り専用にして、OSが自由に変更できないようにする必要があります。プログラムでそれを行う方法はわかりませんが、確実に実行できます。

私はこの答えに大きなギャップがあることを知っていますが、おそらくそれは正しい方向への突如でしょうか?
関連記事

c++ - C++からDelphiへの変換(単純)

c++ - アイテムを正しい方法で分類する

c++ - DirectX 9での.Xモデルの読み込み

c++ - OSX C++ Eclipseが頻繁にクラッシュします。どうすればよいですか?

c++ - アプリにVisual Studioエディターを埋め込む

c++ - Boost::uBLASベクトルでのSTL操作の実行

c++ - LoadLibraryEx:パラメータが64ビットで失われる

java - MICO Corbaのドロップイン交換?

c++ - カスタムクライアントアプリ-ドキュメントの保存場所を制御する機能が必要

c++ - libSoXはスレッドセーフですか?