サービスプログラムからSHGetFolderPathの使いから – プログラミング – Home

サービスプログラムからSHGetFol...
 
通知
すべてクリア

[解決済] サービスプログラムからSHGetFolderPathの使いから


中谷
 中谷
(@中谷)
ゲスト
結合: 14年前
投稿: 4
Topic starter  

サービスのプログラムを作成しています。
現在ログインユーザのユーザ名で、
SHGetFolderPathを使用して各ディレクトリのパスを取得したいのですが、
方法がいまいちわかりません。第3引数のトークンで引っかかっています。

ログインユーザのトークンの作成方法教えていただけないでしょうか?


引用未解決
トピックタグ
aetos
(@aetos)
Noble Member
結合: 5年前
投稿: 1480
 

HandlerEx で SERVICE_CONTROL_SESSIONCHANGE を捕まえて、
WTSSESSION_NOTIFICATION::dwSessionId を WTSQueryUserToken に渡すことで
トークンを得ることができます。

あるいは、リモート等でなく、現在マシンの前にいてログインしているユーザーのセッ
ションであれば、WTSGetActiveConsoleSessionId で取れるでしょう。

サービスは誰もログインしていない時でも動いていることに注意してください。


返信引用
中谷
 中谷
(@中谷)
ゲスト
結合: 14年前
投稿: 4
Topic starter  

ありがとうございます。
返信遅れて申し訳ありません。

WTSGetActiveConsoleSessionIdとWTSQueryUserTokenの組み合わせで問題なく
取得できました。ログアウト時や、リモートアクセスなどの問題も少しでてきましたが
、この点をもう少し考えてみたいとおもいます。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました