Vista対策 Service Pack 1at TECH
Vista対策 Service Pack 1 - 暇つぶし2ch22:デフォルトの名無しさん
07/08/29 04:21:42
APIスレだとすぐ過去ログに埋もれてしまうのでこっちにコピペ

436 名前:デフォルトの名無しさん[sage] 投稿日:2007/08/26(日) 21:33:13
Vistaで、管理者権限で起動されても、制限ユーザーにダウンさせるAPIを教えてください。

445 名前:デフォルトの名無しさん[sage] 投稿日:2007/08/27(月) 04:22:51
だからFirefoxのソース見ろ
インストーラやアップデータが最後にFirefoxを起動するとき権限降格やってる

472 名前:デフォルトの名無しさん[sage] 投稿日:2007/08/28(火) 00:14:17
しょーがねーなーほれ
URLリンク(mxr.mozilla.org)

474 名前:471[sage] 投稿日:2007/08/28(火) 00:43:21
>>472
どうもありがとう。
結局、プロセスの起動は CreateProcessWithTokenW を使い、
そこに渡す制限トークンはデスクトップのshellのものを使うだけと。
最初、自分が想像してたよりはかなり簡単だった。

ただ、shellからトークン取得するのはかなり行儀がわるそうなので、
きれいに実装するなら、ここはCreateRestrictedTokenを使うべきなのかもね。

479 名前:デフォルトの名無しさん[sage] 投稿日:2007/08/28(火) 01:01:59
>>474
CreateRestrictedTokenで作ったトークンだといろいろ問題がある
デスクトップが標準ユーザーでも管理者ユーザーの制限されたトークンに
なってしまうとか
UACが制限されたトークンであることを認識できなくてさらに昇格したくなったとき
ダイアログを出してくれないとか
あと詳しく追求してないけどCOMサーバーとの通信でも何か問題が起きるらしい

23:デフォルトの名無しさん
07/08/29 04:21:51

480 名前:デフォルトの名無しさん[sage] 投稿日:2007/08/28(火) 01:02:36
アー二回も書いちまった

>>474
> ただ、shellからトークン取得するのはかなり行儀がわるそうなので、

モジラの場合はこれが正しいんじゃないかな
現在のユーザの「デスクトップ権限」が欲しいわけだし

482 名前:471[sage] 投稿日:2007/08/28(火) 01:15:30
>>479,480
指摘されてみれば確かにそのとおり。
別に正式とは関係なく、「firefoxでは」デスクトップの権限で動作するのが
正しいから現在のソースになってるってことね。
恥ずかしい。。。

24:デフォルトの名無しさん
07/08/29 16:29:26
URLリンク(www.codeproject.com)
URLリンク(www.codeproject.com)
降格ネタじゃないけど、暇な時の読み物に

25:デフォルトの名無しさん
07/08/29 20:00:15
降格もある
URLリンク(www.codeproject.com)

26:デフォルトの名無しさん
07/08/30 03:42:37
>>25
shellのウィンドウをFindWindow("Progman", NULL)で見つけるところは一緒だな
その後のアプローチがかなり違うけど

27:デフォルトの名無しさん
07/08/30 12:16:07
フック時にShellのスレッドIDを指定できない理由があるんだろうか


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch