

他プロセスのウィンドウをいじりたい
自分でマクロソフトを作ろうとしたのですが、
自分のプロセス内のウィンドウにしかアクセスできないことに気づきました。
やりたいことは
・他のプロセスのウィンドウのメッセージプロシージャをすりかえて
他のプロセスのウィンドウに送られたメッセージを見たりすること
・マウスをクリックさせたり、キーボードを押したりすること
です。要するに他のプロセスのウィンドウを自分の操り人形のようにしたいわけです
いろいろ調べたけれど自分のDLLを読み込むように他のプロセスのメモリを
書き換える方法など、怪しいものしかなかったので
他の方法を教えてください
No.2ベストアンサー
- 回答日時:
SetWindowsHookEx というフックを使います。
フックするタイミングはいろいろありますので、
必要な個所をフックします。但し、「閉じる」等の
イベントとマウス系のイベントはフックタイプが
異なるなど、通常のウィンドウプロシージャとは
違い、分類を掌握しておく必要があります。
また、特定のプロセスだけを選べないので、全ての
ウィンドウをフックすることになります。従って、
マシンの性能が劣化する危険があります。
詳しくは上記のAPIをキーワードに調べてください。
>他のプロセスのウィンドウのメッセージプロシージャをすりかえて
これはできません。プロテクションモードのCPU
ではプロセス毎のメモリ空間は保護されているので、
ポインタが同じ値を示してもメモリ空間は別物に
なっています。また、コード部は変更することが
できません。書き込もうとすると例外が発生します。
No.1
- 回答日時:
http://dobon.net/vb/bbs/log3-20/12272.html
上記に近い事がやりたいとの認識で宜しいでしょうか?
基本的には操作したアプリケーションのウィンドウハンドルを取得する
FindWindow(WIN API)
取得したハンドルに対してPostMessage、SendMessageでメッセージでWindowメッセージを送信してあげれば可能かと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- 環境学・エコロジー 二酸化炭素の排出 1 2023/08/07 16:40
- 出会い・合コン 相談です。 会社と自宅の往復で、ふと、彼女の作り方を忘れた自分がいます。出会いの場にそろそろ出たいと 2 2022/05/14 20:59
- 医学 医学に詳しい方にお尋ね致します。 摂取した水分は最終的には尿になりますが、そのプロセスがよく分かりま 4 2023/01/16 14:57
- その他(OS) エクスプローラのアクティブウィンドウのタイトルバーに色がつかない 3 2023/07/18 18:34
- 政治 私は文部科学省ヘ入り込んで投稿した私の建議文を彼らが私の依頼まましましょうか。? 2 2023/08/22 07:08
- 不安障害・適応障害・パニック障害 認知療法について 1 2022/09/14 20:20
- 心理学 もう駄目です 5 2023/01/13 12:29
- Firefox(ファイヤーフォックス) firefoxが頻繁に停止する 1 2023/01/09 10:26
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バックグラウンドのプロセスの...
-
共有メモリの使い方について
-
GPLによるソース公開の回避方法
-
WSH.Runで待機できません
-
C#でのbatファイル実行結果取得
-
ADOでアクセスのレコードに...
-
WebBrowserでPDF表示でのトラブル
-
タスクマネージャーのプロセス...
-
DLLにおいて、最後のプロセスデ...
-
プロセスIDの取得方法について
-
フックのタイミング
-
IISがフリーズ
-
C#で指定した名前のすべてのプ...
-
CreateProcess時の実行ユーザ変...
-
ファイルの書き込みOpen中に、...
-
ロードアベレージが高いのです...
-
Linuxでのスレッド間メッセージ...
-
VBからのACCESSの起動...
-
ActiveX EXEのオブジェクトに渡...
-
ShellExecuteExでハンドルの取得
マンスリーランキングこのカテゴリの人気マンスリー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
おすすめ情報