C:WindowsSystem32 フォルダは、OS やアプリのターゲットCPU (x86 or x64) によって、見えているものが違います。
具体的には、x64 Windows の 32bit モードで動作するアプリで C:WindowsSystem32 を参照すると、C:WindowsSysWOW64 が見えます。
多くの場合、問題は出ませんが、たとえば 32bit モードで動作しているアプリから msg.exe を呼ぶと失敗します。
これは、C:WindowsSysWOW64 に msg.exe がないからです。
この事態を回避するためには、C:WindowsSysnative というフォルダにアクセスします。このフォルダは C:WindowsSystem32 を見ているため、msg.exe を見つけることができます。
しかし、この C:WindowsSysnative は x64 Windows の 32bit モードでしか使用できないので、x86 Windows や x64 Windows の 64bit モードでこのフォルダをアクセスしようとすると失敗します…
…なんと難儀な(汗
- cmd.exe (32bitモード, c:WindowsSysWOW64cmd.exe) で msg.* を検索した視た結果
C:WindowsSysnative でのみ msg.exe が見つかる。
- cmd.exe (64bit モード) で msg.* を検索した視た結果
C:WindowsSystem32 で msg.exe が見つかるが、C:WindowsSysnative にはアクセスできない。