2017年5月4日木曜日

Windows 10 でスタートメニューに表示されないアプリがある

写真の現像に Canon の Digital Photo Professional (以下 DPP) を使っているのだが、
ふと気が付くとスタートメニューに DPP が表示されていない。
本来なら Canon Utilities の下にあるはず

アプリ本体はちゃんと
C:\Program Files\Canon\Digital Photo Professional 4\Dpp4.exe
に存在し、起動することもできる。

ネットで調べてみたが、似た症状も有用な情報も見つからない。
俺の環境だけか?とちょっと絶望しかけたが、なんとか解決したので経緯をメモしておく。

まず、Windows のスタートメニューは、以下にあるショートカットを表示する仕組みである。
C:\Users\《ユーザー名》\AppData\Roaming\Microsoft\Windows\Start Menu (ユーザー個別)
C:\ProgramData\Microsoft\Windows\Start Menu\ (全ユーザー共通)
で、何かの表示に上記フォルダから DPP のショートカットを削除してしまったかと思い
確認したが、以下の場所にちゃんとある。
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Canon Utilities
C:\Users\《ユーザー名》\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\_MyLauncher
(下の方は、よく使うアプリをまとめるために作ったフォルダである)

そういえば、スタートメニューの _MyLauncher 以下には DPP はちゃんと表示されている。
自作の _MyLauncher 以下にはちゃんと存在

そこで、ふと思った。
「もしかして、スタートメニューに表示されるアプリは一つだけじゃね?」
ということで、 _MyLauncher 以下の DPP ショートカットを消してみたところ
ちゃんと Canon Utilities 以下に表示された。
復活!?

やはり、複数ショートカットを作ってもスタートメニューに表示されるものは一つだけのようだ。
念のため、 Canon Utilities 以下のショートカットをコピーで 2 つに増やしてみたが
スタートメニューに表示されるのは一つだけだった。

つまり、ユーザー個別領域の _MyLauncher 以下にショートカットがあったため、そっちが優先されて
本家の Canon Utilities の方には表示されなかった、というのが真相のようだ。

と言うわけで DPP だけではなく _MyLauncher にショートカットを置いたアプリが全て
スタートメニューの「本来の位置」に表示されなくなっているわけだが、
スタートメニューには普通に表示させたい。

そこで、対策として _MyLauncher の位置を別の位置に変えることにした。
どうせ _MyLauncher を見るのはファイラーとして使っている X-Finder からであり、
別にスタートメニューに表示されなくてもよい。
これで解決。

しっかし…。 Windows 7 のころは両方とも表示されている※1ので
Windows 10 で変わったぽいが、なんでそんな意味不明の仕様に変えたんだろう???

※1
会社の Win7 で確認している

2017年5月3日水曜日

Windows10 の IME 状態をアプリ毎に変えるための設定

仕事でもプライベートでも Windows 上で emacs を使っているのだが
キーバインドが干渉するため IME を emacs とその他のアプリで分けている。
  • emacs 使用時: Microsoft IME1
  • 上記以外: SKKFEP
Win10 になってもその辺の事情は変わらないのだが、 Win10 になってから
これまではアプリ毎に保持されていた「使用している IME の種類、 ON/OFF 状態」が全アプリ共通になったらしい。
どういうことかといえば、例えば
  1. emacs を「Microsoft IME」「オフ」で使用
  2. ブラウザを立ち上げ「SKKFEP」を「オン」にして日本語入力
  3. emacs に戻ってくる
という操作を行なった場合、これまでは「Microsoft IME」「オフ」の状態に戻っていたのだが Win10 からは「SKKFEP」「オン」の状態のままになった。
当然、そのあと「Microsoft IME」「オフ」に再設定した後、ブラウザに移動すると「Microsoft IME」「オフ」の状態になる。

これでは、使い難くてしょうがないので、以前のようにアプリ毎に IME 状態を保持する設定に戻す方法を調べてみた。
たぶん、俺の『Windows を入れたときに必ず行う初期設定』に追加されるべき設定だと思うので、メモとして残しておく。
  1. 「設定」画面を開く
  2. 「時刻と言語」のアイコンをクリック
  3. 左側にある「地域と言語」をクリック
  4. 関連設定欄にある「日付、時刻、地域の追加設定」をクリック →コントロールパネルの「時計、言語、および地域」ウィンドウが開く
  5. 言語欄にある「入力方法の変更」をクリック
  6. 左側にある詳細設定をクリック
  7. 入力方式の切り替え欄にある、「アプリウィンドウごとに異なる入力方式を設定する」にチェックを入れ保存
…と、ここまで書いておいてなんだが 手順 4 でコントロールパネルが開くんだからコントロールパネルからいった方が早いw

スタートボタン右クリックから「コントロールパネル」→「言語」→「詳細設定」

Footnotes:

1
ただしオフの状態で使用。日本語入力は emacs 上で動く ddskk を使っている。

Created: 2017-05-03 水 08:21
Emacs 24.5.1 (Org mode 8.2.10)

EXCEL での正規表現置換

エクセルで、"No" の後の数字を一括で A1 セルで指定した内容に置換したくて REGEXREPLACE(B10,"(No)[0-9]+","$1"&A1) と書いたらエラーになった。なんで?  "...