「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板

↑ (#2501) Re: 「notepad」を起動の追加 - うぇいく (2015-12-17 14:52) /低 調査中
 追加の情報のおかげで、原因が大体分かりました。

 notepadやstikynotは、Windowsのシステムフォルダ(windows/system32)にあるはずのアプリケーションで、通常、システムフォルダはPATHが通っているので、ファイル名のみで実行できます。

ところで、64bitsOSの場合、32bitsアプリケーションからWindowsのシステムフォルダ(windows/system32)を参照しようとすると、仮想化(実体はwindows/SysWOW64)されます。これは、実在するwindows/system32フォルダの中は、64bitsOSの場合は64bitsのアプリケーションやDLL等を保持するための場所だからであり、exeとdllとは、32bits/64bitsのいずれか一方でそろっている必要があるためです。
(システムフォルダが仮想化されている場合、本来のシステムフォルダはwindows/Sysnativeに仮想化されます)

そうすると、notepadはなぜ64bits環境でも32bits環境でも同じように起動できるのか ということになるのですが、notepadについては、windows/SysWOW64配下に32bits版notepadがあり、windows/system32配下に64bits版notepadがあるようです。そして、stikynotは一方にしか存在しないため、PATHの通っているフォルダのどこにも見つからない状態になることがあるということのようでした。
(どちらにあるのか確認できてません。)

試していませんが、stikynotを絶対パスにて、いかのいずれかの場所として見えてくるはずです。

「{WINDOWSパス}System32\\stikynot.exe」を起動
もしくは
「{WINDOWSパス}Sysnative\\stikynot.exe」を起動
もしくは
「{WINDOWSパス}SysWOW64\\stikynot.exe」を起動
のどれか。

注意点として、どれなのかは、環境によって変わるので、OSが32bitsか64bitsかによって、切り替える必要があります(なでしこの命令にありましたっけ?)
※SnippingTool.exeも同じっぽい。

なでしこで自動的に行えば便利そうに見えますが、上記に描いたとおり、いろいろ制約があるので、自動的に参照してしまうのを望まないケースも多そうです。
編集
📌 WIndows7以上の標準の付箋紙・キャプチャ.. / E.Y (2015-12-16 09:15) (#2499) /低 調査中
└─ notepad」を起動の追加 / E.Y (2015-12-17 08:21) (#2500) /低 調査中
└─ Re: 「notepad」を起動の追加 / うぇいく (2015-12-17 14:52) (#2501) /低 調査中
│  └─ 調べてみました / E.Y (2015-12-18 08:16) (#2502) /低 未処理

✏️ (#2501)へ返信する

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能