アプリ版:「スタンプのみでお礼する」機能のリリースについて

Administrator以外のユーザでログオンし、
プログラムを右クリックして、「管理者として実行」した場合に、
問題があります。(Windows Vista,7/UAC ON環境下)

プログラム内で「subst」を行い、仮想ドライブを
作成しているのですが、「管理者として実行」を行った場合、
作られた仮想ドライブに、ログオンユーザからアクセスできず、
エクスプローラからも見れません。
(コマンドプロンプトを右クリックで「管理者として実行」で起動し、
 substコマンドを実行しても再現できます)

プログラム内で、substを行う前に、ログオンユーザとして
実行したものと偽装し、substを行うこと、または、
そもそも、「管理者として実行」を行えないようにする
手段はあるのでしょうか?

A 回答 (2件)

そうでっか


じゃ
これ参考になるかな?

下に下に
http://dev.activebasic.com/egtra/?p=166

SetTokenInformation
で・・・
    • good
    • 0
この回答へのお礼

リンク先がアクセスできませんでした。。。

FireFoxのソースに参考になるものがあったので、
CreateProcessWithTokenWで、substを実行するように
したらうまくいきました。
http://mxr.mozilla.org/firefox/source/toolkit/xr …

お礼日時:2010/02/10 13:52

制限つきトークンを使えば出来るかな?



CreateRestrictedToken

LUA_TOKEN
で試してみてください

Googleで検索してね

この回答への補足

回答ありがとうございます。

OpenProcessToken→
CreateRestrictedToken→
ImpersonateLoggedOnUser→
ShellExecute→
RevertToSelf

という流れで、プログラムを組んでみましたが、
うまく行きませんでした。
(LUA_TOKENがどのheaderに定義されているのか不明だったので
0x4としてコーディングしましたが)

補足日時:2010/02/08 10:27
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!