- 1 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 01:54: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質問箱 Build76 pc11.2ch.net/test/read.cgi/tech/1233622578/
- 520 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:29:21 ]
- ┗0=============0┛
\===========[_|_|_|_|_|_|_|_|_|_|_|_|_|_]===========/ /三三三三三三三三三三三三三三三三三三三三\ 0 │ |∞∞∞ |::|∞∞田田∞∞|::|∞∞∞ | ::| 0 [二] | ::| |::|┏━━━━┓|::| | ::l [二] ◎○@※◎○@※. |□|.│ |┌┬┐ |::|┃ Vista ┃|::| ┌┬┐| ::|. |□| ◎○@※◎○@※ ii|iiii|iiii|iiii|iiii|iiii|iiii|iiii| `)三(´| ::|├┼┤ |::|┃ ∧_∧ ┃|::| ├┼┤| ::|`)三(´il|iiii|iiii|iiii|iiii|iiii|iiii|iiii| @※◎○@※◎○ | ::| | ::|└┴┘ |::|┃(´Д` ) ┃|::| └┴┘| ::| | ::| @※◎○@※◎○ ii|iiii|iiii|iiii|iiii|iiii|iiii|iiii|li┏━━━━━┓|::|┃(. つ┃|::|┏━━━━━┓ li|iiii|iiii|iiii|iiii|iiii|iiii|iiii|l ◎○@iiii※◎○@ ┣┳┳┳┳┳┫|::|┗━━━━┛|::|┣┳┳┳┳┳┫ ◎○@iiii※◎○@ ii|iiii|iiii|iiii|iiii|iiii|iiii|iiii|l ○ ● ∫∬∫∬ ● ○ ii|iiii|iiii|iiii|iiii|iiii|iiii|iiii|li ○○ ●● iiiii iii ii iiii ●● ○○ [ ̄ ̄] [ ̄ ̄] ( ̄ ̄ ̄ ̄ ̄) [ ̄ ̄] [ ̄ ̄] |_○_| .|_○_| |_____| |_○_| .|_○_| ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ (NT3.1)(NT3.5)(NT3.51)(,,XP ) (2003)(2008)(Warp4)(, )(, ;) NTの徒花がめでたく散りますた。 すンげぇメシウマwww
- 521 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:31:06 ]
- 自慢気に汚いコード晒せば叩かれるぐらい想像できるだろ
「素晴らしい!とても綺麗なコードですね!有り難く使わせて貰います!!」 なんてレスが付くとでも本気で思ってたのか?
- 522 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:17:44 ]
- そんなことのために上げたわけでもないのに
何を妄想を語ってるんだ?
- 523 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:20:09 ]
- 汚いコードしか晒せないから
叩かれるのがいやなので晒しません という意思表示と見た
- 524 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:23:31 ]
- >>522
API信者は妄想でのみしか語れない、そして、基地外である。覚えておくように >>520 見事な基地外っプリ
- 525 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:23:49 ]
- きれいなコードというやつを見せて欲しいな
- 526 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:28:12 ]
- お前の入っているコタツから延びてるだろ
- 527 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:31:38 ]
- >>525
ここのスレ住民は妄想でいつも綺麗なAPIのみコードを書いている それは自分の美学を追及した綺麗なコードだ
- 528 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:39:57 ]
- 妄想かいw
- 529 名前:446 [2009/03/14(土) 19:41:43 ]
- マジごめんなさいヽ(`Д´)ノ ウワァァン!!
- 530 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:43:53 ]
- ( ´∀`)σ)`Д´)ノ ウワァァン!!
- 531 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:44:23 ]
- そもそも>>462のコードって別に汚くはないよな?
フォントとボタンのキャプションが決めうちな点で問題はあるが それは別に汚いと表現することでもないし
- 532 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:48:37 ]
- 汚いというより間違ってる
- 533 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:52:46 ]
- > そもそも>>462のコードって別に汚くはないよな?
自画自賛乙
- 534 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:03:53 ]
- CancelにもBS_DEFPUSHBUTTONしてあるしな
- 535 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:04:30 ]
- >>533
お前のコードが見てみたい
- 536 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:05:19 ]
- >>533
自画自賛で何か問題でも?
- 537 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:06:25 ]
- >>536
自画自賛の開き直り乙
- 538 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:07:02 ]
- >>537
ありがとう
- 539 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:09:19 ]
- >>462
なんかスキル浅い人が色々やってみましたって感じ てかフォントやコントロールのサイズ決め打ちするぐらいなら>>467の方法でいいと思うが
- 540 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:09:48 ]
- もう駄目かもしれんね
- 541 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:12:28 ]
- メッセージとエディットボックスのサイズは決めうちしてないけど
- 542 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:14:25 ]
- とりあえずみんなコードで語れ
- 543 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:15:43 ]
- つーか横幅は固定でいいだろ。しかも字幅の計算がなんかアレだし。
- 544 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:16:00 ]
- 固定はまずいだろ・・・
- 545 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:16:58 ]
- GetTextExtentPoint以外に何かいい方法あるのん?
- 546 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:17:33 ]
- >>544
WSHやVBのInputBox使ったこと無いのか?
- 547 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:22:05 ]
- MessageBoxが伸びるからInputBoxも伸ばしただけだが
- 548 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:23:26 ]
- >>546
なんとも不便なんだな
- 549 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:27:34 ]
- ダイアログなのにGWLP_USERDATAとか使っちゃってるし
しかもLONG_PTRじゃなくてLONGにキャストしちゃってるし SM_C?SCREENで画面サイズ計算しちゃってるし 猫プログラミングぐらいのレベルだな
- 550 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:32:35 ]
- 画面サイズはメジャーを使ってモニターに押し当てないと測れないな。
- 551 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:37:45 ]
- MAX_WIDTHっておい、どう見てもMIN_WIDTHの間違いだろw
で、MessageBoxと違ってmaxは考慮しないのな WUXGAとかで開発してるとnetbookで使った時えらい事になりそうだw
- 552 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:39:42 ]
- ダイアログは別のやつ使うんだった気がしてたけど調べるの忘れてたわ。 >GWLP_USERDATA
LONGになってんのは単純なミス。 画面サイズは何を使えば満足? マルチディスプレイはよく分からん。 どう見てもMIN_WIDTHの間違い。 >MAX_WIDTH MessageBoxってmax考慮してたっけ? 画面外にまで突き抜けてた気がするけど。
- 553 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:41:20 ]
- WM_SETFONTした後のGetDCでフォントが選択されてる保証ってあるの?
- 554 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:45:22 ]
- 何ていうか、見た人のスキルで評価の分かれるコードだw
「どこがダメなんだ?」と思った人は猫わかレベルの人だろう
- 555 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:46:52 ]
- 勉強になるなあ
- 556 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:55:10 ]
- もろもろ考慮しても>>467は50行で作れるし
>>479は5分で作れるのか すげぇな
- 557 名前:デフォルトの名無しさん mailto:SAGE [2009/03/14(土) 20:55:45 ]
- ウィンドウの中のある座標に向かってクリックメッセージを送るAPIってありますか?
ボタン風に書いてあるメニューボタンがあるんですが、実際は絵なので ハンドルが取れないのです。
- 558 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 20:58:51 ]
- クリックした際の処理を自分で走らせれば?
- 559 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:06:56 ]
- >>556
だってさ、最小コードはこれだろ?50行なんて余裕でしょ INT_PTR CALLBACK InputBoxProc(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam) { switch(Msg){ case WM_INITDIALOG: return SetWindowLongPtr(hDlg,DWLP_USER,lParam),TRUE; case WM_COMMAND: switch(GET_WM_COMMAND_ID(wParam,lParam)){ case IDOK: { LPTSTR p = (LPTSTR)GetWindowLongPtr(hDlg,DWLP_USER); GetDlgItemText(hDlg,IDC_TEXT,p,*(int*)p); } case IDCANCEL: EndDialog(hDlg,GET_WM_COMMAND_ID(wParam,lParam)); } } return FALSE; }
- 560 名前:デフォルトの名無しさん mailto:SAGE [2009/03/14(土) 21:11:01 ]
- すみません、説明不足でした。
外部アプリのメニューを操作したいのですが、そのメニューボタンが すべて絵なんです。
- 561 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:17:30 ]
- >>559
リソース使ってる点は無視するにしても メッセージの長さにウィンドウを合わせる処理がないのでは・・・
- 562 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:19:03 ]
- >>560
何か怪しいことに使おうとしてるんじゃないのかね
- 563 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:19:06 ]
- >>560
WM_LBUTTONDOWN じゃだめなの?
- 564 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:20:57 ]
- >>559
自信満々に出してきたコードがこれでは…
- 565 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:22:11 ]
- >>561
別にメッセージの長さに合わせる必要性が無いし、 リソース使ってるのに問題でもあるのか? フォント決め打ちよりはマシだろ
- 566 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:24:12 ]
- てか、メッセージを設定する部分はどこ行った
- 567 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:24:22 ]
- >>561
メッセージを表示するコードがないんだから、長さを合わせる以前の問題だろうw
- 568 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:26:06 ]
- だから>>559は最小コードだって
これに肉付けしていっても50行ぐらいで十分収まるだろってこと
- 569 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:27:22 ]
- リソース使えばそりゃ>>462だって短くなるし
ちゃんとした比較にならないのでは
- 570 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:30:13 ]
- リソースもフォント決め打ちじゃないの?
- 571 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:30:18 ]
- いや、>>556の「50行・5分で作れるのすげぇ」レスを受けて5分で書いてみただけだし
- 572 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:32:02 ]
- もろもろ考慮されてるか?
- 573 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:34:00 ]
- API使いならリソースなんて使わないんじゃないか
- 574 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:35:14 ]
- リソースはソース配るのが面倒だな
- 575 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:35:58 ]
- >>573
お前アホだろw
- 576 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:36:03 ]
- >>573
リソースを使うAPIを使いたいだろw
- 577 名前:560 mailto:SAGE [2009/03/14(土) 21:41:02 ]
- >>562
そ、そんなんじゃないです。 >>563 カーソルを移動させてってことですか? 他のソフトで目的の外部アプリを操ってるのがあって どうやってるのかなってのと、自分もそういうのを作る 必要があったので。
- 578 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:41:41 ]
- mouse_event, SendInput
- 579 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:46:30 ]
- > メニューボタンがすべて絵
最近こういうのホント多いよなぁ。動画編集ソフトとか特に。 使い勝手が良ければまだしも、キーボード操作を全く受け付けなかったりとか。 もう素直に標準のコントロール使ってくれよ・・・。
- 580 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 21:49:31 ]
- もはやあらゆるものをDirect3Dで描画する時代に入ったんだよ
- 581 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 22:05:54 ]
- 2D(GDI)のハードウェアアクセラレーションはRADEONもGeForceも既に搭載しとらんだろ
XPはもうロートルなんだから7600GSやX1650でも積んでればいいんだ
- 582 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 22:12:44 ]
- >>580-581
誤爆?
- 583 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 22:30:59 ]
- moudamedakonosure
- 584 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 00:00:19 ]
- >>579-581
そこで、ActiveAccessibilityの幻想ですよ。
- 585 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 00:22:30 ]
- 自プロセス内の全スレッドのレジスタの値を取得するAPIは無い?
- 586 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 00:26:33 ]
- インラインアセンブラで取ってろ
- 587 名前:560 mailto:SAGE [2009/03/15(日) 07:23:43 ]
- >>578
ありがとうございます。 ググってみたら出来そうな気がします。
- 588 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 07:40:34 ]
- レジストリエディタでキーを作成すると、日本語Windowsだと(標準)という名前でエントリが1つ
常に存在してるようなのですが、このエントリを読み書きするにはどうすれば いいのでしょうか?よろしくお願いします。
- 589 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 08:02:48 ]
- 588です。解決しました。MSDNに書いてありましたね。すみません。
名前にNULLまたは空文字列を設定するんですね。
- 590 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 11:40:33 ]
- www.fnn-news.com/news/headlines/articles/CONN00151035.html
- 591 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 11:58:57 ]
- >>585
関数呼び出し自体がレジスタを変えるというのに どうやってそんな API を作ればいいんだよ
- 592 名前:デフォルトの名無しさん [2009/03/15(日) 12:12:58 ]
- CONTEXT 構造体にアクセスしたいんじゃね?
- 593 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 12:16:30 ]
- GetThreadContextじゃねーの?
- 594 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 14:36:03 ]
- espやeipの値が変わる分は補正すればいいということか
- 595 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 14:49:11 ]
- GetThreadContextを呼んだ時点でeaxやedxは確実に変わってるだろが
- 596 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 14:51:40 ]
- だから補正しろつってるだろ。
- 597 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 14:51:52 ]
- CONTEXT構造体がローカル変数なら
特に何ともないと思うけど・・・
- 598 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 14:56:38 ]
- 頭悪いのが数名混じってるねぇ
GetThreadContextの実体が呼ばれるまでにAPIがレジスタを書き換えてしまってるでしょうに GetThreadContext: push ebp mov ebp, esp push dword ptr [ebp+0C] push dword ptr [ebp+08] call dword ptr [NtGetContextThread] ... NtGetContextThread: mov eax, 00000055h mov edx, 7FFE0300h call dword ptr [edx] ...
- 599 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 15:01:18 ]
- 不確定性原理の話じゃないのかw
- 600 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 15:04:31 ]
- そんな糞実装になってんのか?
- 601 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 15:05:35 ]
- つーかインラインアセンブラ使えばいいのにAPIてw
あ、VBプログラマーの方でしたかサーセンwww
- 602 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 15:09:53 ]
- >>600
糞なのはお前だ 少なくともeax,ecx,edxは「関数側で自由に書き換えていいレジスタ」だ そんな事も知らんのか
- 603 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 15:29:37 ]
- 気にするな。
そもそも、MSDNライブラリには、SuspendThreadで止めてからやれって書いてあるんだ。 (経験上、動いているスレッドを指定してもエラーになることはないけど) msdn.microsoft.com/ja-jp/library/cc428970.aspx
- 604 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 15:59:37 ]
- 動いてる他スレッドなんか無意味だろ
API呼出から戻ってくる間にもスレッドが動きつづけていてレジスタの値が刻一刻と変わる
- 605 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 16:01:05 ]
- >>602
それが何か関係あるか? レジスタのスナップショットを取りたいという目的を達成できてないじゃないのよ
- 606 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 16:04:32 ]
- >>605
お前がアホなのはよくわかった
- 607 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 16:05:27 ]
- お前がアホなのもよくわかった
- 608 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 16:07:10 ]
- つーかGetThreadContextはコンテキストスイッチが発生して退避した時の状態を返してるだけだろ。
レジスタを取得するAPIとか、頭悪すぎ。
- 609 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 16:10:54 ]
- なんだ、目的すら違うのか
- 610 名前:デフォルトの名無しさん [2009/03/15(日) 16:12:04 ]
- レジスタのスナップショット(笑)
エミュレータでも作ってろ馬鹿
- 611 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 16:15:38 ]
- 基本情報技術者レベルの知識すら無い人がなんでこのスレにいるのかねぇ・・・
- 612 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 16:32:31 ]
- システムコールも良く分かってないくせに糞実装とか
思わず微笑んじゃう
- 613 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 17:20:22 ]
- たとえば、
CのライブラリとWin32のAPIで同じ機能の関数があった場合 システムまで問い合わせる分APIのほうが遅くなるの?
- 614 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 17:44:59 ]
- うん
- 615 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 17:53:20 ]
- >>613
うわー頭悪そうな質問
- 616 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 18:03:21 ]
- 同じ機能だと、Cのライブラリ関数も中でWin32のAPIを呼んでいたり
するんだよね
- 617 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 18:09:11 ]
- >>615
うわーーーーっ、超頭悪そう、嫌だ嫌だ
- 618 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 18:14:10 ]
- オウム返ししか出来ないアホは黙っててね
- 619 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 18:17:05 ]
- IPCの分遅くなるだろな
- 620 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 18:17:36 ]
- 数日前から変なのが一匹住み着いてるな
たぶん目覚まし君が帰ってきたのだろう
|

|