サービスアプリからログオンユーザ名を取得するには?


おさとう  2005-11-29 15:38:45  No: 59834  IP: 192.*.*.*

サービスアプリからログオンユーザ名を取得したいのですが、
GetUserName()をしても"SYSTEM"というユーザ名が返ってきてしまいます。
サービスアプリを知らなさ過ぎるのかも知れませんが、
いい方法をご存知の方がいらっしゃいましたらぜひご教授ください。

編集 削除
ボコノン教徒  2005-11-30 16:02:05  No: 59835  IP: 192.*.*.*

「サービスアプリへのログオン」というのがよく判らんのだが、
IIS+ASPでサービスにアクセスしている、という意味ですか?

GetUserNameの説明を見ると、
「現在のスレッドがほかのクライアントを偽装している場合は、
偽装しているクライアントのユーザー名が返ります。」
とあります。
自分では「クライアントを偽装」というをやったことないのだが、
あなたのサービスソフトのどこで、それをやってるの?

編集 削除
dairygoods  2005-11-30 16:40:02  No: 59836  IP: 192.*.*.*

こういうことでしょうか。
http://forums.belution.com/ja/vc/000/311/95s.shtml

編集 削除
おさとう  2005-11-30 18:05:33  No: 59837  IP: 192.*.*.*

レスポンスありがとうございます。
質問の意図がわかりづらいものだったようで申し訳ないです。

「サービスアプリへのログオン」ではなく、
「サービスアプリケーションでログオンユーザ名を取得」したいのです。

dairygoodsさんのリンクありがとうございます。

私もリンク文書のようにレジストリ(SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName)
から取得していたのですが、
NT4.0の場合、自動ログインする設定で上記の値を書き換えてしまうらしく
正確なログオンユーザ名を取得できないことがあったので、
レジストリ以外で取得できる方法はないかと試しているところです。

API一発で取得はできなさそうだなぁと思い、
ご存知の方がいればと質問してみました。

リンク文書の方法で取得できるか試してみます。

編集 削除