
タイトル通り、他のアプリケーションを左クリックしたときのイベントを得たいのですが、うまくいきません。
具体的には、DirectXを使って動いているフルスクリーンのアプリケーションを左クリックしたときにイベントを得るということです。
http://tokyo.cool.ne.jp/kanain/APIHTM/GetMsg.html
こちらで紹介されている方法でVBのフォームを左クリックしたときのイベントは得ることができました。
そして、他のアプリケーションのハンドルを取得して引数に指定してみましたが、うまくいきません。
分かりにくい説明ですみません^^;
何が間違っているのでしょうか。自分なりに作ってみたソースを記述した方がよいでしょうか?また、全く違う方法でも構わないので他のアプリケーションを左クリックしたときのイベントを得る方法がありましたら教えてください。
バージョン:VB6.0
No.1ベストアンサー
- 回答日時:
ここよりの引用
http://www.microsoft.com/JAPAN/developer/library …
「Windows 95/98:hWnd パラメータで指定したウィンドウが SetWindowLong 関数を呼び出したスレッドと同じプロセスに属していないと、SetWindowLong 関数は失敗します。」
他プロセスのイベントの取得はグローバルフックを使えばできますが、VBだけでは無理っぽいですね。
http://www.geocities.co.jp/SiliconValley/7406/ti …
回答ありがとうございます。
SetWindowLongでは別プロセスのイベントは取得できなかったんですね。
>他プロセスのイベントの取得はグローバルフックを使えばできますが、VBだけでは無理っぽいですね。
VBではできないんですか・・・。残念。
今回はマウスクリックではなくGetAsyncKeyStateとタイマーでキーボード入力からイベントを取得して代用することにしたいと思います。
No.2
- 回答日時:
#1の言うように
>SetWindowsHookEx
で、Windows全てのイベントを取得する方法のほかに、
95系
CreateFileMapping/MapViewOfFile
NT系
VirtualAllocEx/WriteProcessMemory/ReadProcessMemory
で特定ハンドルに対するイベントは取得できます。
参考URL(VCですが)
http://techtips.belution.com/ja/vc/0001/
で、別プロセスのリストビュー、ツリービュー(簡単に言ってしまえばエクスプローラ)のイベントを取得いたしました。VBにコンバートするにはチト厄介ですが、可能です。
もし完全に別プロセスのイベントが取得できないと言うのであれば、VisualStudio付属のアプリケーション「Spy++」はどうやってんだ?ってことになります。
回答ありがとうございます。
参考URL拝見しましたが難しくてよく分かりませんでした(汗
今回はマウスクリックのイベントを取得するのではなくキーボード入力からの取得で代用しようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- ネットワーク OSI参照モデルの各層の役割がわかりません。 3 2023/04/21 21:12
- 会社設立・起業・開業 e-Gov電子申請アプリケーションからGビズIDのアカウントをログアウトしたい 1 2023/07/04 20:21
- Mac OS Macのミュージック上で、アルバムのアートワークを取得させない方法について 3 2022/12/07 02:16
- Mac OS ミュージックのアートワークを自動取得させない方法について 1 2022/11/17 01:12
- Mac OS Mac book Proを使用しているものです。 最近バージョン12.6にアップデートしたのですが、 1 2022/09/28 22:05
- その他(コンピューター・テクノロジー) HOI4のクリックがバグった 2 2023/04/29 17:51
- Windows 8 動画の再生とタイトルの変更方法を教えてください。 3 2022/08/01 14:51
- ネットワーク クラウド環境の範囲について教えてください。 7 2023/03/09 15:50
- その他(ソフトウェア) ソフトが異常終了します 1 2022/08/28 01:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WINのタスクマネージャの強制終了
-
jdbcのプロセスの処理について
-
子プロセス(EXEファイル)が要求...
-
VBでエクセルを起動し、プロ...
-
ジョブの切り離し
-
プロセスの終了コードについて...
-
パイプ
-
共有メモリの同時アクセスにつ...
-
他のアプリケーションをクリッ...
-
ウインドウのプロセス終了について
-
VB6.0 SHELLで起動...
-
SendMessageが失敗するときがある
-
ライブラリのコンストラクタに...
-
プロセスのアタッチ・デタッチ...
-
非表示になったエクセルは?
-
VBS(WSH)で開いたIEのウィンド...
-
ウィンドウのタイトルからプロ...
-
他プロセスのウィンドウをいじ...
-
VB.NETで起動したExcelの閉じ方...
-
CreateObjectで作成したExcelの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
プロセスIDの取得方法について
-
ADOでアクセスのレコードに...
-
C#でのbatファイル実行結果取得
-
タスクマネージャーのプロセス...
-
VB6.0 SHELLで起動...
-
プロセスのアタッチ・デタッチ...
-
非表示になったエクセルは?
-
怪しいプロセス教えてください。
-
sleep関数の精度について
-
【C#】別プロセスがロックか...
-
Process.Startの戻り値を後で取得
-
IISがフリーズ
-
プロセスIDからウィンドウハ...
-
Linuxでのスレッド間メッセージ...
-
Windowsでのfork方法
-
SendMessageが失敗するときがある
-
警告『 別のプロセスで使用され...
-
WSH.Runで待機できません
-
VB.NETで起動したExcelの閉じ方...
おすすめ情報