
タイトル通り、他のアプリケーションを左クリックしたときのイベントを得たいのですが、うまくいきません。
具体的には、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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.NETで起動したExcelの閉じ方...
-
バックグラウンドのプロセスの...
-
Linuxでのスレッド間メッセージ...
-
services.exeが延々と。
-
プロセスIDの取得方法について
-
警告『 別のプロセスで使用され...
-
外部プロセスを終了したい!!
-
【C#】別プロセスがロックか...
-
特定ユーザーのプロセス情報を...
-
タスクマネージャーのプロセス...
-
Core 2 Duo T8100はなぜT7500の...
-
別のプロセスの関数を呼び出す...
-
セマフォとmutexの違いは?
-
VB.NET 自プログラムのプロセス...
-
Windowsのユーザログイン/ログ...
-
C#でのbatファイル実行結果取得
-
Linuxのchdir(カレントディレク...
-
windows プロセス間の連携で問題
-
ADOでアクセスのレコードに...
-
プロセスが実行中かどうか調べ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
VB6.0 SHELLで起動...
-
プロセスIDの取得方法について
-
C#でのbatファイル実行結果取得
-
タスクマネージャーのプロセス...
-
プロセスのアタッチ・デタッチ...
-
vb.netでEXCEL起動がうまくでき...
-
SendMessageが失敗するときがある
-
ADOでアクセスのレコードに...
-
非表示になったエクセルは?
-
explorer.exeが異様にメモリを食う
-
怪しいプロセス教えてください。
-
Process.Startの戻り値を後で取得
-
プロセスIDからウィンドウハ...
-
Linuxでのスレッド間メッセージ...
-
警告『 別のプロセスで使用され...
-
Visual C++からpingを実行して...
-
WSH.Runで待機できません
-
c言語でプロセスIDを調べたい
-
API関数 GetExitCodeProcess
おすすめ情報