|
Ver7.00β7から異なるユーザーでの同時実行を出来ないように
修正されているようですが、同時実行できるようにならないでしょうか?
今の仕様になっている理由は
・共有メモリへのアクセスがあとから起動する方が拒否される
・ウィンドウ間のメッセージのやり取りが出来ない
・全ウィンドウにまたがるマクロが実行できない
といったことではないかと思いますが、共有メモリの名前を
ユーザーユニークにしてユーザー権限ごとに別空間で実行する
ようにはできないでしょうか?
(例えばプロセストークンのユーザーSIDを利用する)
Vistaについてはいくつかの過去ログで権限を降格しようと
されているようですが、個人的には降格させることは以下の理由から
反対です。
・管理者権限がないと編集出来ないファイルが扱えなくなる
・意図的に昇格させることが出来ない
また、UAC絡みの場合には昇格した側から降格した側へのメッセージの
やり取りには制限がないはずなのでうまくやれば混在して動く気が
しなくもないです。
ちゃんと確認したわけではないですが、v5.18で常駐秀丸を昇格させて
起動すると、制限された秀丸があってもとりあえず動いているように
見えます。
普段はXPを制限ユーザーで使っているので管理者権限と同時実行
出来るようになるとうれしいです。よろしければご検討ください。
よろしくお願いします。(無理難題だったらごめんなさい)
※Vistaで降格させる方法も一応調べてみました。
起動中のプロセスの権限を変えるのは無理みたいで
プロセスを再起動させるしかないみたいですが。
・runasを使う
過去ログにありましたがrunas /trustlevel:0x20000を使えば
降格して起動するみたいです。
・CreateProcessWithTokenWを使う
制限された状態のトークンを作るか、取得して起動させます。
デスクトップウィンドウのプロセス(explorer.exe)のトークンを
使うと簡単に試せます。
・タスクスケジューラを使う
・デスクトップをフックして起動する
codeprojectのサンプルではこんなことしてました。
|
|