私のC++/ WinAPIアプリケーションでは、次のコードを使用してマイドキュメントフォルダのパスを取得します。
wchar_t path[MAX_PATH];
SHGetFolderPathW(NULL,CSIDL_PERSONAL,NULL,SHGFP_TYPE_CURRENT,path);
ユーザーの1人が、自分の企業ネットワークに接続されたPCで私のプログラムを実行しています。彼はネットワーク上にマイドキュメントフォルダを持っています。したがって、私のコードは\\ paq \ user.name $ \ My Documentsのようなものを返しますが、彼はMyDocumentsのローカルコピーを持っていると言っています。問題は、彼が「VPNをスワップ」すると、オンラインのマイドキュメントが使用できなくなり、システムエラーコード64「指定されたネットワーク名は使用できなくなりました」でプログラムがクラッシュすることです(オンラインで開いたファイルに書き込もうとします。 docsフォルダー)。
C ++ / WinAPIを使用してローカルのマイドキュメントフォルダパスを常に取得するにはどうすればよいですか?