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

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@799) [低] [未処理]
@799■ (#2499) WIndows7以上の標準の付箋紙・キャプチャー機能・ワードパット - E.Y (2015-12-16 09:15) /低 調査中
【【要望】どのような解決が望ましいか?
なでしこでメモ帳を起動するには、
「notepad」を起動。
 というプログラムで起動しますが、Windows7以上で標準搭載されている「付箋」機能である「stikynot」や・「キャプチャー機能」・「ワードパット」などをメモ帳のように起動する命令があると助かります。キー送信で可能ですが、キー送信のため、WINDOWSの画面が一瞬でますので、命令があれば幸いです。

(#2500) notepad」を起動の追加 - E.Y (2015-12-17 08:21) /低 調査中
Windows7では、notepad」を起動。で付箋紙は動きましたが、Windows10の64Bit版だと起動は無理なようです

(#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も同じっぽい。

なでしこで自動的に行えば便利そうに見えますが、上記に描いたとおり、いろいろ制約があるので、自動的に参照してしまうのを望まないケースも多そうです。

(#2502) 調べてみました - E.Y (2015-12-18 08:16) /低 未処理
うぇいくさん鋭い意見ありがとうございました。
Windows10の64Bit版で調べた結果②の場合に付属の付箋紙が起動しました。
①と③は起動しませんでした。

   ①「{WINDOWSパス}System32\\\\stikynot.exe」を起動      ×
   ② 「{WINDOWSパス}Sysnative\\\\stikynot.exe」を起動     ○
   ③ 「{WINDOWSパス}SysWOW64\\\\stikynot.exe」を起動   ×

 Windows7の32Bit版は、①のみ付箋が起動しました。

 ①「{WINDOWSパス}System32\\\\stikynot.exe」を起動      ○
 ② 「{WINDOWSパス}Sysnative\\\\stikynot.exe」を起動   ×
 ③ 「{WINDOWSパス}SysWOW64\\\\stikynot.exe」を起動  ×

このように32Bit版と64Bit版では、違うようです。
ちなみにキー送信で行った結果Windows10の64Bit版でもWindows7の32Bit版でも動きましたので、しばらくキー送信でプログラムを組んでいきたいと思います。いろいろとアドバイスありがとうございました。勉強になりました。

(#2499)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

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

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