Win32API質問箱 Build ..
600:デフォルトの名無しさん
08/05/04 15:32:50
>>598
とくに意味はないんですが、好奇心です^^
601:デフォルトの名無しさん
08/05/04 15:50:34
>>599
WriteProcessMemory、CreateRemoteThreadを使って相手プロセスにDLLを入れる
GetWindowLongでターゲットウィンドウのウィンドウプロシージャの前に自前のウィンドウプロシージャを挿入
ウィンドウメッセージのキーコードを見張って書き換えてから元のウィンドウプロシージャに渡す
602:デフォルトの名無しさん
08/05/04 15:56:59
>>601
ありがとうございます。
DLL INjectionってやつですか?
流れ書いてくれたおかげで、できそうです。
どうもありがとうございました。
603:デフォルトの名無しさん
08/05/04 16:01:22
どうしてこうフックまがいの話ばかりに…
604:デフォルトの名無しさん
08/05/04 16:14:45
便利だからじゃない、フック。
フックでアプリをファックするわけだよ。ぷぷっ
605:デフォルトの名無しさん
08/05/04 16:25:03
ほとんどが悪用だからな
606:デフォルトの名無しさん
08/05/04 16:52:50
ここで質問するような奴は悪用できないだろう。常考
607:デフォルトの名無しさん
08/05/04 16:54:30
>>601
そんな面倒な方法を取らなくてもできるだろ
ホント、フック厨は短絡思考だな
608:デフォルトの名無しさん
08/05/04 17:15:23
>>607
だったら書いてやれよw 悪態ついてないでさ。
609:デフォルトの名無しさん
08/05/04 18:13:53
SetWindowsHookExをMSDNで調べれば>>601のような面倒な手段を取る必要が無いぐらい分かるだろう
回答者がその程度のスキルじゃ質問者が可哀想だ
610:デフォルトの名無しさん
08/05/04 18:19:08
どうだろ。
別にフックする事が目的でないんなら601のような回答でも問題はないような。
611:デフォルトの名無しさん
08/05/04 18:40:51
キーイベントを弄るだけにWriteProcessMemoryやCreateRemoteThreadを使うのはナンセンス
612:デフォルトの名無しさん
08/05/04 20:21:58
>>609
SetWindowsHookEx
を使うとしたら、
SetWindowsHookEx(? @HookProc, HInstance, 0);
第一引数はなに使うんだ?
613:デフォルトの名無しさん
08/05/04 21:04:29
>>612
WH_GETMESSAGEかな。
GETMESSAGEフックならWM_KEYDOWN拾えるし
メッセージやパラメータの書き換えも出来たはず。
多分ね。
614:デフォルトの名無しさん
08/05/04 21:38:12
現在マウスのボタンが押下されてるかどうかを知る方法ってありますか
キーでいうGetAsyncKeyStateのマウス版がほしいのですが・・・
615:デフォルトの名無しさん
08/05/04 21:42:46
>>613
595読むとマウスでボタンクリックされた場合も考慮する必要がありそうだからダメだと思う。
SetWindowsHookEx はプロセスへのDLL注入目的に使うのかと思ったら違ったのか。
>>612
自分なら SetWindowsHookEx でプロセスを注入、メッセージ投げてフックプロシージャ内から
SetWindowLongPtr でウィンドウプロシージャの差し替えってやりそう。
616:デフォルトの名無しさん
08/05/04 21:44:55
>>614
MSDN の GetAsyncKeyState の項目に
> GetAsyncKeyState 関数は、マウスボタンの状態も取得できます。
> ただしこの関数は、物理的なボタンのマップ先である論理的なマウスボタンの
> 状態ではなく、物理的なマウスボタンの状態を取得します。
って書いてあるけど、ダメなの?
617:デフォルトの名無しさん
08/05/04 21:47:17
>>615
orz
キーボードだけだと思ってた。ごめんね。
618:デフォルトの名無しさん
08/05/04 21:51:18
流れも読めない奴がレスすべきではない。
と煽ってみる。
619:デフォルトの名無しさん
08/05/04 21:51:18
どないしたらWindowsアプリ
620:デフォルトの名無しさん
08/05/04 21:51:43
>>619
気になるので最後まで書き込んでください。
621:デフォルトの名無しさん
08/05/04 21:52:55
>>615
ボタンの位置をMoveWindowで動かして変えればいいんじゃね?
てかいつの間にか電卓のボタンがButtonコントロールになってるんだな
Win98以降文字が小さくなって見づらいと思っていたらそれが原因か
622:デフォルトの名無しさん
08/05/04 21:56:36
>>621
感動した。なんてスマートな方法なんだ。
623:デフォルトの名無しさん
08/05/04 22:03:07
>>615
まず何をフックするかじゃね?
この場合は3を押された事をフックするから何使うかわからないが・・・。
624:デフォルトの名無しさん
08/05/04 22:11:53
自分で電卓作ればよくね?
いや、電卓のUIだけ作って見えない本物のcalc.exeに計算させるとか。
625:デフォルトの名無しさん
08/05/04 22:12:19
電卓の改造 〜結論〜
・calc.exeをリソースエディタで書き換える
原則的に、フックやDLL注入などで動的に書き換える必要があるのは
対象アプリが限定されていない場合、または対象アプリがCRCやMD5などで改竄チェックしている場合に留めるべき
・どうしてもフックで解決したいならSetWindowsHookEx(WH_GETMESSAGE)でWM_COMMANDを書き換える
キー(0〜9、+-*/など)を押された場合もアクセラレータテーブルに基づいて
TranslateAcceleratorがWM_COMMANDを発行するようになっている
626:デフォルトの名無しさん
08/05/04 22:23:08
>>619
何を書き込もうとしたのか気になって昼寝ができませんでした。
627:デフォルトの名無しさん
08/05/04 22:36:04
>>626
ヨーロッパ辺りに住んでる人ですか?
628:デフォルトの名無しさん
08/05/04 22:36:19
>>616
失礼シマスタ・・・
キーだけだとばかり・・・
629:デフォルトの名無しさん
08/05/04 22:47:51
619は書き込んでる途中で来客か何かあったんだろう。
鼻歌を歌ってて、おっと、ここは用心しなければ。な事態になったとかな。
630:デフォルトの名無しさん
08/05/04 22:55:25
猫とwisdomが久しぶりに更新。
改訂第3版とな?
631:デフォルトの名無しさん
08/05/04 22:58:02
誰があんなとこ見てんだよ
632:デフォルトの名無しさん
08/05/04 23:02:36
久米井もよくやるもんだw
633:デフォルトの名無しさん
08/05/04 23:10:50
Win32APIの解説サイトってあまり良質な所は無いよね
まあそれに気づくのはスキルがそこそこ付いてきた頃だけど
この辺、Javaや.NETとかの解説サイトはどうなんだろう・・・
634:デフォルトの名無しさん
08/05/04 23:17:55
良質な所って例えばどこ?
635:デフォルトの名無しさん
08/05/04 23:44:01
完全無欠なサイトなど存在しない
636:デフォルトの名無しさん
08/05/04 23:46:01
↑話を理解してない馬鹿
637:デフォルトの名無しさん
08/05/04 23:51:22
どんな(へぼ)サイトでも役に立つよ
638:デフォルトの名無しさん
08/05/05 00:53:40
これ読めよ
URLリンク(www.amazon.co.jp)
639:デフォルトの名無しさん
08/05/05 02:48:04
SetForegroundWindow() するとウィンドウが最前面に来るけど、フォーカスだけを
当てて、ウィンドウは動かさない方法ない?
640:デフォルトの名無しさん
08/05/05 03:05:05
SetWindowPosでできそうな気がしたけど、URLリンク(msdn.microsoft.com)
641:デフォルトの名無しさん
08/05/05 03:06:24
途中で書き込んでしまった..。
SetWindowPosでできそうな気がしたが、できないようですね..。
URLリンク(msdn.microsoft.com)
642:デフォルトの名無しさん
08/05/05 03:39:35
ワロタ。じゃあ書くなよw
643:デフォルトの名無しさん
08/05/05 11:26:12
>>639
何のためにWin98でSetForegroundWindowの仕様が変更されたのかよく考えてみよう
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4992日前に更新/131 KB
担当:undef