タイトル通り、他のアプリケーションを左クリックしたときのイベントを得たいのですが、うまくいきません。
具体的には、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も見ています
-
餃子を食べるとき、何をつけますか?
みんな大好き餃子。 ふと素朴な疑問ですが、餃子には何をつけて食べますか? 王道は醤油とお酢でしょうか。
-
大人になっても苦手な食べ物、ありますか?
大人になっても、我慢してもどうしても食べれないほど苦手なものってありますよね。 あなたにとっての今でもどうしても苦手なものはなんですか?
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
ハマっている「お菓子」を教えて!
この世には、おいしいお菓子がありすぎて……。 次何を食べたらいいか迷っています。 みなさんが今、ハマっている「お菓子」を教えてください!
-
他のアプリケーションとの連携
Visual Basic(VBA)
-
CloseとDisposeの違い
Visual Basic(VBA)
-
自作アプリからAPIで他のアプリとデータやり取り
その他(プログラミング・Web制作)
-
-
4
C# ReadOnlyのTextBoxで
C言語・C++・C#
-
5
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
怪しいプロセス教えてください。
-
VBSからbat実行(WMI)して戻り値...
-
Trend Micro Anti-Malware Solu...
-
コンピュータのCPU使用率が常に...
-
C++でシェルを起動
-
タスクマネージャーのプロセス...
-
プロセスが実行中かどうか調べ...
-
Macターミナルで実行中のプログ...
-
家電製品の電力周波数を変える機械
-
アセンブラ言語の数字を数値に...
-
スーパーのレジで並んでいたら...
-
緯度、経度の 10進法と 60進法...
-
Mac 乗数の入力方法
-
C言語で、メモリを解放しないで...
-
VBAを使って二進法計算
-
フレームワーク「4.8.1」で、[S...
-
pthread_attr_tへの値の代入に...
-
組み込みマイコンでのソフトウ...
-
C/C++→JAVAに変換するツール
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
C#でのbatファイル実行結果取得
-
explorer.exeが異様にメモリを食う
-
プロセスのアタッチ・デタッチ...
-
タスクマネージャーのプロセス...
-
怪しいプロセス教えてください。
-
非表示になったエクセルは?
-
Process.Startの戻り値を後で取得
-
ADOでアクセスのレコードに...
-
Windowsでのfork方法
-
プロセスIDからウィンドウハ...
-
他のコンピュータのプロセスを取得
-
SendMessageが失敗するときがある
-
プロセスが実行中かどうか調べ...
-
IISがフリーズ
-
ロードアベレージが高いのです...
-
プロセスIDの取得方法について
-
OSPFでプロセスを分ける意義に...
-
API関数 GetExitCodeProcess
-
別のプロセスの関数を呼び出す...
おすすめ情報