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を指定できない理由があるんだろうか