2013年05月19日

EmEditorはUAC環境下にきちんと対応しているんだなと今更ながら思った

EmEditor Professional 12 が最新で、そろそろ13も出るので楽しみです。

今回はあえてV9.17で検証。
古いモノでもUACに対応しているのを改めて確認です。

たとえば Windows7で、C:\Program Files\ 以下のファイルをメモ帳などで普通に開いた後で編集し、保存しようとすると上書き保存ができず「名前をつけて保存」が出た上で、同じフォルダーに保存しようとすると更に以下のダイアログが出ます。
uac2013-05-19_004912.png
結局、同じフォルダーには書き込みが一切できないのです。

ここまで来て、[メモ帳を管理者として実行をしていなかった」ということに気づいて、いったん保存を止め、管理者で立ち上げ直したメモ帳で 該当のファイルを再度編集して上書き保存、という手順になるのがよくある風景です。

それがEmEditorではスムーズさが違います。

エムエディタで同様に普通にファイルを開き、保存をしようとすると以下のダイアログが出ます。
emUac2013-05-19_005241.png

コレで続行を選ぶと、
eeadmin_2013-05-19_005325.png
UACの画面が出てくるので[はい]をクリックすると保存完了。

いちいち管理者でEmEditorを開き直す必要は無いのです。

この仕組みをもう少し細かく見ていくと、以下のように EmEditor本体とは別の EEADMIN.exe が管理者として実行され、代わりにファイルを保存していることがわかります。
emuac2_2013-05-19_005822.png
ユーザーの利便性のためにかなりややこしいことをやっているなという印象です。(すばらしい対応です)

この仕組み(普通に起動したプログラムから管理者で実行の操作が必要な作業を実行)を自分の作ったプログラムでも採用したいと思い、もう少し調べてみることにしました。

EmEditorのインストールフォルダーを見ると以下のように、EmEditor.exe には シールド(盾)アイコンがありませんが、eeadmin.exe には 盾アイコンがあります。
shiled_2013-05-19_010710.png
この盾アイコンは exe を実行するときに管理者として実行することが強制される exe であることを意味しています。
このようなexeは、Exeをつくるときに明示的にフラグをつけることで実現できるようです。

何となく、コレを参考に自分のプログラムも作れそうな気がしてきた。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/67927337
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

・おすすめ楽天ショップ1:trendyimpact楽天市場店
・おすすめサプリショップ:iHerb.com
・おすすめ楽天ショップ2:上海問屋
Powered by さくらのブログ