2019-07-25 21:12:52
Re⑤:他のプログラムを操作している状態で押されたキーを拾う
いつもありがとうございます。
OSの制限です。
使わず嫌いで文句を言わずに、ご指示の下つくってみました。 起動したら、タスクトレイをクリックして母艦を閉じないとずっと回る感じです。 #-------------ここから !母艦設計=「母艦の可視はオフ」 母艦のタスクトレイ入れる。 母艦のタスクトレイクリックした時は 母艦の可視はオン。 オンの間 「電卓*」を窓ハンドル検索し もしそれ <> 0 ならば、 「電卓*」を窓最前面 「電卓*」を窓アクティブ 5秒待つ 違えば、2秒待つ #-------------ここまで が、うまくいきません。 これを起動させてから電卓を起動し、他の画面をアクティブにすると、 起動時は(当然?)アクティブになりますが、2週目からは 下のタスクバーは光るんですが、アクティブになってくれません。 簡単なループに見えるんですが、、落とし穴にはまっているのかもしれません。 お力添えをいただけると幸いです。 基本的に、アクティブを与えることができるのは、自分がアクティブである場合だけです。 (持ってない権利はあげられない) これは、ユーザの操作を介さずに、フォーカス(つまり、キーボードからの入力)を 奪ってしまうことで、入力内容を盗んだり、ユーザが意図しない操作を誘発してしまうことを 防ぐものです。たしか、2000かXPぐらいに変更になりました(あの頃、キーロガーとかはやりましたね) セキュリティ上の制限なので、より便利なAPIでなんとかなる・・・というおとはありません。 が、ものすごく簡単な手としては、SendInputなどで、マウスのクリックを模倣することで、 アクティブを与えることはできる気がします(未確認) |