Windows XP用のユーザートークンを使用してShgetKnownFolderPathの代替方法はすべてですか?

StackOverflow https://stackoverflow.com//questions/22055822

質問

私のソフトウェアはまだWindows XPをサポートするために必要です。その中で私は shgetknownfolderpath FOLDERID_Desktopによるユーザー固有のパス(hTokenなど)を取得するためのWindowsサービスからのAPI。そのAPIはXPではサポートされていないので、そのOSでこれを行う方法がある場合は興味がありますか?

役に立ちましたか?

解決

使用する適切な関数は shgetfolderlocation NULLまたは-1をアクセストークンとして渡す:

HTOKEN [in]

タイプ:ハンドル

特定のユーザーを表すために使用できるアクセストークン。通常はNULLに設定されていますが、そこにあるときに必要な場合があります。 に属するものとして扱われるフォルダの複数のユーザー シングルユーザー。このタイプの最も一般的に使用されているフォルダは私です 文書呼び出し側アプリケーションは正しい責任を負います HTOKENがNULL以外の場合の偽装。それは適切でなければなりません 特定のユーザーのセキュリティ特権、およびユーザーのレジストリ ハイブは現在マウントされている必要があります。さらにアクセス制御を参照してください アクセス制御の問題の説明

HTokenパラメータの割り当て-1の値はデフォルトのユーザーを示します。これにより、ShgetFolderLocationのクライアントがフォルダを見つけることができます デフォルトユーザーの場所(デスクトップフォルダなど)。 the デフォルトのユーザーユーザープロファイルは、新しいユーザーアカウントがある場合に重複しています 作成され、私の文書などの特別なフォルダが含まれています デスクトップ。デフォルトのユーザーフォルダに追加された項目もすべて表示されます。 新しいユーザーアカウント

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top