- 1 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 15:51:24 ]
- スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。 過去スレ、関連リンクは>>2-10くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版(msdn2.microsoft.com/library/)の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで - Win32API質問箱 wiki wiki.livedoor.jp/program1/d/FrontPage Win32API質問箱 Build64 pc11.2ch.net/test/read.cgi/tech/1207099291/
- 607 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 16:54:30 ]
- >>601
そんな面倒な方法を取らなくてもできるだろ ホント、フック厨は短絡思考だな
- 608 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 17:15:23 ]
- >>607
だったら書いてやれよw 悪態ついてないでさ。
- 609 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:13:53 ]
- SetWindowsHookExをMSDNで調べれば>>601のような面倒な手段を取る必要が無いぐらい分かるだろう
回答者がその程度のスキルじゃ質問者が可哀想だ
- 610 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:19:08 ]
- どうだろ。
別にフックする事が目的でないんなら601のような回答でも問題はないような。
- 611 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:40:51 ]
- キーイベントを弄るだけにWriteProcessMemoryやCreateRemoteThreadを使うのはナンセンス
- 612 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 20:21:58 ]
- >>609
SetWindowsHookEx を使うとしたら、 SetWindowsHookEx(? @HookProc, HInstance, 0); 第一引数はなに使うんだ?
- 613 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:04:29 ]
- >>612
WH_GETMESSAGEかな。 GETMESSAGEフックならWM_KEYDOWN拾えるし メッセージやパラメータの書き換えも出来たはず。 多分ね。
- 614 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:38:12 ]
- 現在マウスのボタンが押下されてるかどうかを知る方法ってありますか
キーでいうGetAsyncKeyStateのマウス版がほしいのですが・・・
- 615 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:42:46 ]
- >>613
595読むとマウスでボタンクリックされた場合も考慮する必要がありそうだからダメだと思う。 SetWindowsHookEx はプロセスへのDLL注入目的に使うのかと思ったら違ったのか。 >>612 自分なら SetWindowsHookEx でプロセスを注入、メッセージ投げてフックプロシージャ内から SetWindowLongPtr でウィンドウプロシージャの差し替えってやりそう。
- 616 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:44:55 ]
- >>614
MSDN の GetAsyncKeyState の項目に > GetAsyncKeyState 関数は、マウスボタンの状態も取得できます。 > ただしこの関数は、物理的なボタンのマップ先である論理的なマウスボタンの > 状態ではなく、物理的なマウスボタンの状態を取得します。 って書いてあるけど、ダメなの?
- 617 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:47:17 ]
- >>615
orz キーボードだけだと思ってた。ごめんね。
- 618 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:51:18 ]
- 流れも読めない奴がレスすべきではない。
と煽ってみる。
- 619 名前:デフォルトの名無しさん [2008/05/04(日) 21:51:18 ]
- どないしたらWindowsアプリ
- 620 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:51:43 ]
- >>619
気になるので最後まで書き込んでください。
- 621 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:52:55 ]
- >>615
ボタンの位置をMoveWindowで動かして変えればいいんじゃね? てかいつの間にか電卓のボタンがButtonコントロールになってるんだな Win98以降文字が小さくなって見づらいと思っていたらそれが原因か
- 622 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:56:36 ]
- >>621
感動した。なんてスマートな方法なんだ。
- 623 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:03:07 ]
- >>615
まず何をフックするかじゃね? この場合は3を押された事をフックするから何使うかわからないが・・・。
- 624 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:11:53 ]
- 自分で電卓作ればよくね?
いや、電卓のUIだけ作って見えない本物のcalc.exeに計算させるとか。
- 625 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:12:19 ]
- 電卓の改造 〜結論〜
・calc.exeをリソースエディタで書き換える 原則的に、フックやDLL注入などで動的に書き換える必要があるのは 対象アプリが限定されていない場合、または対象アプリがCRCやMD5などで改竄チェックしている場合に留めるべき ・どうしてもフックで解決したいならSetWindowsHookEx(WH_GETMESSAGE)でWM_COMMANDを書き換える キー(0〜9、+-*/など)を押された場合もアクセラレータテーブルに基づいて TranslateAcceleratorがWM_COMMANDを発行するようになっている
- 626 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:23:08 ]
- >>619
何を書き込もうとしたのか気になって昼寝ができませんでした。
- 627 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:36:04 ]
- >>626
ヨーロッパ辺りに住んでる人ですか?
- 628 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:36:19 ]
- >>616
失礼シマスタ・・・ キーだけだとばかり・・・
- 629 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:47:51 ]
- 619は書き込んでる途中で来客か何かあったんだろう。
鼻歌を歌ってて、おっと、ここは用心しなければ。な事態になったとかな。
- 630 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:55:25 ]
- 猫とwisdomが久しぶりに更新。
改訂第3版とな?
- 631 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 22:58:02 ]
- 誰があんなとこ見てんだよ
- 632 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:02:36 ]
- 久米井もよくやるもんだw
- 633 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:10:50 ]
- Win32APIの解説サイトってあまり良質な所は無いよね
まあそれに気づくのはスキルがそこそこ付いてきた頃だけど この辺、Javaや.NETとかの解説サイトはどうなんだろう・・・
- 634 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:17:55 ]
- 良質な所って例えばどこ?
- 635 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:44:01 ]
- 完全無欠なサイトなど存在しない
- 636 名前:デフォルトの名無しさん [2008/05/04(日) 23:46:01 ]
- ↑話を理解してない馬鹿
- 637 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:51:22 ]
- どんな(へぼ)サイトでも役に立つよ
- 638 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 00:53:40 ]
- これ読めよ
www.amazon.co.jp/dp/4756136001
- 639 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 02:48:04 ]
- SetForegroundWindow() するとウィンドウが最前面に来るけど、フォーカスだけを
当てて、ウィンドウは動かさない方法ない?
- 640 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 03:05:05 ]
- SetWindowPosでできそうな気がしたけど、msdn.microsoft.com/ja-jp/library/cc411206.aspx
- 641 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 03:06:24 ]
- 途中で書き込んでしまった..。
SetWindowPosでできそうな気がしたが、できないようですね..。 msdn.microsoft.com/ja-jp/library/cc411206.aspx
- 642 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 03:39:35 ]
- ワロタ。じゃあ書くなよw
- 643 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 11:26:12 ]
- >>639
何のためにWin98でSetForegroundWindowの仕様が変更されたのかよく考えてみよう
|

|