トップページ⇒tech
1001コメント255KB

Win32API質問箱 Build98

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2011/11/17(木) 00:16:48.83
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやHなお姉さんたちが答えてくれるかも。
「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ!

■過去スレ
Win32API質問箱 Build97
http://hibari.2ch.net/test/read.cgi/tech/1318439361/

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
 英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

- Win32API質問箱 wiki
http://wiki.livedoor.jp/program1/d/FrontPage

過去スレはwikiから探してください。
0596デフォルトの名無しさん2011/11/26(土) 13:13:12.93
Win32APIのCopyRectの生産が追い付いてないってマジ?
CopyRect食べる予定なかったから普通にセット注文して、
待ってる間店内を眺めてたら
「CopyRect品薄でどーのこーの(中略)ご注文のお客様にはCopyRectを100円で買えるクーポンを(以下略)」
って書いてあったから、
翌日「CopyRectはないんですよね?」って聞いたらクーポンくれた。
これって特にCopyRectを食べたい気分じゃない人が聞いてもとりあえずもらえるの?
0597片山博文MZ ◆0lBZNi.Q7evd 2011/11/26(土) 13:15:18.08
>>596 いい子だからこれで我慢しなさい。
#define CopyRect(prc1, prc2) ((void)(*(prc1) = *(prc2)))
0598片山博文MZ ◆0lBZNi.Q7evd 2011/11/26(土) 13:19:40.68
#define CopyRect MyCopyRect
inline VOID WINAPI MyCopyRect(LPRECT prc1, LPCRECT prc2)
{
*prc1 = *prc2;
}
0599片山博文MZ ◆0lBZNi.Q7evd 2011/11/26(土) 13:27:37.82
#define EqualRect MyEqualRect
inline BOOL WINAPI MyEqualRect(LPCRECT prc1, LPCRECT prc2)
{
return (prc1->left == prc2->left &&
prc1->top == prc2->top &&
prc1->right == prc2->right &&
prc1->bottom == prc2->bottom)
}
0600片山博文MZ ◆0lBZNi.Q7evd 2011/11/26(土) 13:29:07.18
#define OffsetRect MyOffsetRect
inline VOID WINAPI MyOffsetRect(LPRECT prc, INT dx, INT dy)
{
prc->left += dx;
prc->top += dy;
prc->right += dx;
prc->bottom += dy;
}
0601デフォルトの名無しさん2011/11/26(土) 13:29:57.66
荒らすなし
0602片山博文MZ ◆0lBZNi.Q7evd 2011/11/26(土) 13:30:47.85
#define IsRectEmpty MyIsRectEmpty
inline BOOL MyIsRectEmpty(LPCRECT prc)
{
return (prc->left >= prc->right || prc->top >= prc->bottom);
}
0603片山博文MZ ◆0lBZNi.Q7evd 2011/11/26(土) 13:54:01.21
できた。
http://codepad.org/sZxPvh5i
0604デフォルトの名無しさん2011/11/26(土) 14:05:44.35
ゑ?
0605片山博文MZ ◆0lBZNi.Q7evd 2011/11/26(土) 14:19:54.17
真・スレッドストッパーマン参上。

\(^o^)/
 /|S|\
.  ̄ ハ ̄

   川
0606デフォルトの名無しさん2011/11/26(土) 14:24:11.70
CopyRectを舐め過ぎ。
引数の何れかがNULLの時は、戻り値にFALSEを返すだけで例外は発生させない。
あと、x64版Win7だとmovdquで128ビット分纏めて転送していたりもする。
……わざわざアセンブラで起こしたとか考えると胸熱だな。
0607デフォルトの名無しさん2011/11/26(土) 14:36:04.59
そこまで頑張る理由はあるのか…?
0608片山博文MZ ◆0lBZNi.Q7evd 2011/11/26(土) 14:38:03.93
じゃあ、*prc1 = *prc2;をmovdquにしないx64コンパイラは
馬鹿ってことで決定っ、DEATHね!
06095712011/11/26(土) 14:54:14.54
出てきたキーワードで調べてみます
ありがとうございました
0610デフォルトの名無しさん2011/11/26(土) 15:19:26.55
こんなところに連投して他人に見せるならもっとスマートで上品なコードを書けよ
お前のコードからはプログラムに対する情熱とか哲学とかが感じられない
0611デフォルトの名無しさん2011/11/26(土) 15:39:18.14
ネトウヨコピペ厨は何でこのスレで活動するんだろうな
つーか何がしたいんだろうな
俺たちプログラマに記事を読ませて一体何がしたいんだ?
0612デフォルトの名無しさん2011/11/26(土) 16:02:00.35
人前でオナニーするのが快感だって人、いるよね?
0613デフォルトの名無しさん2011/11/26(土) 16:16:43.12
片山博文って人のことか
0614デフォルトの名無しさん2011/11/26(土) 16:42:15.65
winapiって欠陥だらけだよね?
引数指定するときもほとんどNULLとか指定しなきゃいけないやつ多すぎ。
あるAPIのある引数だけは必ずNULLか決まった定数で、それ以外指定したことないとか
そういうのが多すぎる。
0615デフォルトの名無しさん2011/11/26(土) 16:43:15.28
>>609

↑ゴミ以下の奴がわざわざレスしに戻ってきたよ
恥ずかしくないってのにびっくり
0616デフォルトの名無しさん2011/11/26(土) 16:48:21.17
>>614
無駄に多い引数並べるんじゃなくて構造体のポインタ渡しをメインに据えるべきだったね
0617デフォルトの名無しさん2011/11/26(土) 16:52:12.40
恥ずかしくない人は恥ずかしくないよ。
女性に近付いていきなり局部見せる人とか、
電車の床に座って化粧してるJKとか
一企業のコールセンターに1日何十回と同じ苦情の電話をかけ続けるクレーマーとかの精神構造と一緒。
本人は自分が正常だと勘違いしてるから恥ずかしくも何ともない。
親や友人が異常者だと、その環境の影響で本人も正常だと思い込む。
基地害に育てあげるわけだから一種の虐待だわな。

そういう奴の典型が>>609。
0618デフォルトの名無しさん2011/11/26(土) 16:55:45.45
異常者が多いスレが、基地外を育てあげる。
0619デフォルトの名無しさん2011/11/26(土) 16:56:23.85
>>609 はカマトト
0620デフォルトの名無しさん2011/11/26(土) 17:02:04.27
ポインタじゃなくてもC++は引数の数を可変にできるんだからそれを有効活用すればいいんしゃないかな(^-^)
優先順位の低いものは最後のほうにして、指定のなかったものはデフォルトのものを使うようにして欲しいっちゃ。
せっかくWinAPIでは可変個引数をサポートしてるんだから、有効活用してほしいよね(^_-)-☆
他にもCからWinAPIに拡張されてクラスが使えるんだから、DirectXみたいにクラス使いまくってもいいと思う!!!!!!!!
DirectXが最初からクラスを使える言語仕様になってるのは後発だからなんだろうけど、
FireFoxとかでもバンバンバージョンアップしまくりんぐなんだからC++もバージョンアップしまくりんぐでいいと思う(^^)v
0621デフォルトの名無しさん2011/11/26(土) 17:03:33.13
>>609はカマトトのふりした無知無能だと思う
0622デフォルトの名無しさん2011/11/26(土) 17:04:56.49
確かに、ffに限らずグーグルのchromeでもあれだけバージョンアップしてるのに、apiは何でバージョンアップしないんだ?
0623デフォルトの名無しさん2011/11/26(土) 17:09:19.08
ウェブブラウザはソフトウェアだからバージョンアップするんだろ
Win32APIはプログラミング言語だからバージョンアップしない
そのくらい分かれよ痴呆共
0624デフォルトの名無しさん2011/11/26(土) 17:13:08.11
列車が走ってるのに、線路の幅を変えたりしたらまずいだろ
0625デフォルトの名無しさん2011/11/26(土) 17:26:55.33
でかい釣り針に餌がついてない。
釣り人として失格。
マナーが成っていない。
0626 ◆QZaw55cn4c 2011/11/26(土) 17:29:19.78
>>614
>>616
引数の省略ができないのも、呼び出し規約を MS-PASCAL に準じたものとしたから。昔の Windows の涙ぐましいパフォーマンスアップの努力を引き継いできている。
たかが call/ret の無駄でさえ避けようとするなかでは、引数構造体ポインタ渡しもためらわれたのではないだろうか?現実には結構あるんだけれども。
0627 ◆QZaw55cn4c 2011/11/26(土) 17:31:00.99
>>620
>WinAPIでは可変個引数をサポートしてる
のは少数だったかと。
0628デフォルトの名無しさん2011/11/26(土) 17:51:49.42
実用的なソフトウェアってのはお前らが思ってる以上に冗長性があるってこった
細かいことをいちいち気にして先に進めなくなるよりとりあえず動くものを作り上げたやつの勝ち
0629デフォルトの名無しさん2011/11/26(土) 18:12:54.47
1429 世宗11年12月3日 日本の水車が凄いと報告。
1430 世宗12年9月27日 水車を造ろうとする
1431 世宗13年5月17日 中国も日本も水車の利を得ているが我が国(朝鮮)にはそれがない。
1431 世宗13年11月18日 日本と中国の水車の研究の記述がちらほら。
1431 世宗13年12月25日 水車導入を試みる。
1451 文宗元年11月18日 どうやら水車の導入に失敗。
1488 成宗19年6月24年 水車導入の試みがあります(そして音沙汰無し・・・。)
1502 燕山君8年3月4日 水車導入の試みが書かれています(そして音沙汰無し・・・。)
1546 明宗元年2月1日 水車導入の試みが書かれています。琉球(沖縄)と中国で教わった福建式の水車の様です。
 ここから100年間水車の記述が有りません。消滅したようです。

1650 孝宗元年5月15日 水車導入の試み
 そして30年記述無し。
1679 肅宗5年3月3日 水車を造らせたと記述。 そして70年記述無し。
1740 英祖16年4月5日 水車など無くなりました。『孝宗大王嘗頒遼瀋水車之制於外方, 今無見存者』
1740 英祖16年11月20日 また水車を造らせたと記述。一向に普及する様子が有りません。
1764 1763-1764年 の朝鮮通信使の「日東壮遊歌」に(淀城の水汲み水車の感想)「その仕組みの巧妙さ見習っ
て作りたいくらいだ」と記述有り。
1795 正祖19年2月18日 水車之制について盛んに出てくる。普及している感じはしない。
1811 純祖11年3月30日 ここの記述でも水車なんか必要なのか?と書かれており全く普及していない事が読み取れる。
0630デフォルトの名無しさん2011/11/26(土) 18:45:49.71
なるほど、雑魚をこじらせるとこういう風になるのか。
0631デフォルトの名無しさん2011/11/26(土) 18:50:16.52
こんなの初めて!
南の島の太陽をいっぱいに浴びたもぎたて雑魚の香り!
天然保湿成分配合の雑魚シャンプー!
0632デフォルトの名無しさん2011/11/26(土) 18:58:54.76
細かいことをいちいち気にして先に進めなくなるよりとりあえず動くものを作り上げたやつの勝ちだけど
そうするとバグ発生時に見当もつかないし動作が遅いときにボトルネックも予測がつきにくいよね
質問するにしても問題箇所が分からないから丸投げするしかないけど
未熟な素人の書いたソースを読もうって奇特な人が現れるまで待機だよね

勝ち組って大変だなw
俺は負け組みでいいやw
0633デフォルトの名無しさん2011/11/26(土) 19:26:51.55
バグの件はアサートとデバッガで、ボトルネックはプロファイラで。
0634デフォルトの名無しさん2011/11/26(土) 19:29:46.29
>>609は別にカマトトとかじゃないだろ
誰かみたいに質問しっぱなしじゃなく礼言いにきたんだから立派
0635デフォルトの名無しさん2011/11/26(土) 19:34:20.73
アサートは本当に意味がわからない
普通、関数を作るときは引数に異常な値がないことをチェックして異常があればエラーを返すだけの話だろ
なんでいちいち引数が変だったくらいで例外を出さないといけないんだと
そして引数チェックもしてアサートチェックもしたら二度手間だろうと
0636デフォルトの名無しさん2011/11/26(土) 19:44:50.23
引数チェックに入れるわけでもない。
0637デフォルトの名無しさん2011/11/26(土) 19:56:35.97
>>635
debug build と release build の違いについて調べれ
0638デフォルトの名無しさん2011/11/26(土) 19:59:21.22
ReleaseなのにAssertのダイアログが表示される間抜けさ
0639デフォルトの名無しさん2011/11/26(土) 20:01:23.54
雑魚共が少ない知識を披露して議論したつもりになっております故
0640デフォルトの名無しさん2011/11/26(土) 20:03:58.03
引数が変って漠然とした表現じゃなくて具体的に書けよ。
引数が変って引数が下半身露出した状態で逆立ちでもしてるわけ?
0641デフォルトの名無しさん2011/11/26(土) 20:05:14.40
おまいassert使ったことないやろ
0642デフォルトの名無しさん2011/11/26(土) 20:13:03.51
一番厄介なのはデバッガで判明しない種類のバグなんだよなぁ
昔ゲーム作ってたときに、キャラのHPが0になったら死亡するようにプログラム組んでたんだけど、
キャラのHPが150残ってるときに2000のダメ受けても死ななかったんだよなぁ
今は俺も何が原因か分かるし、これ読んだ人も何が原因か一発で分かってるとは思うけど、
当時はこれで何ヵ月かハマって結局ゲームは頓挫したんだよなぁ
基礎をしっかりやってないとこういうことになるから初心者は面倒で時間かかっても基礎をしっかりやっておいたほうが良いんだよなぁ
0643デフォルトの名無しさん2011/11/26(土) 20:15:25.17
引数が下半身露出で逆立とか意味不明 訳わかんねぇこと言ってるとケツにCopyRect突っ込むぞ
0644デフォルトの名無しさん2011/11/26(土) 20:16:29.42
HPにchar型使ってたのか
0645デフォルトの名無しさん2011/11/26(土) 20:18:22.23
HP == 0
0646デフォルトの名無しさん2011/11/26(土) 20:18:58.96
int hp, dameji;

hp = hp - dameji;
if ( hp == 0 )
{
死亡
}
0647デフォルトの名無しさん2011/11/26(土) 20:19:30.89
HPを格納する変数は何バイトか
signedかunsignedか
ダメージ > HPなら計算せず死でよくねってなるな
0648デフォルトの名無しさん2011/11/26(土) 20:26:19.15
だからダメージを計算させる関数を普通は作るだろ
HP = Damage(HP, ActualDamage)みたいなさ
そして普通は何を引数で与えられようが正常な範囲の値しか返さないように作るだろ
もし与えられたのを判定もせず素直に返すだけなら設計がおかしいって話になるからな
複雑な判定処理をパッケージングしないなら関数かするメリットがないし
逆にそこで関数かせずうだうだと計算式を書くのは設計思想として大間違いだからな
結局、どこでアサートなんか使うんだよ
0649デフォルトの名無しさん2011/11/26(土) 20:27:49.55
そのパッケージングで凡ミスがあったらassertが見つけてくれるんだよカス
0650デフォルトの名無しさん2011/11/26(土) 20:29:05.95
契約プログラミングの本でも読んだら
0651デフォルトの名無しさん2011/11/26(土) 20:29:24.06
>>649
パッケージングした判定分に間違いがあるのと同じくらい
書いたアサート分に間違いがあるんだけどな
だって同じことを2度書いてるだけだし
何がしたいんだ?w
0652デフォルトの名無しさん2011/11/26(土) 20:37:07.71
全部にifとassertを書くわけじゃなくてねえ
仕様上起こる状態はifチェックするんだけど
仕様上起こらない状態はassertで止めちゃうんだよ

たとえば仕様上は値域0〜9999の変数に10000が入ってるとか
仕様を満たさない場合はリターンすら許さない
0653デフォルトの名無しさん2011/11/26(土) 20:38:30.44
>>651
お前は本当に脳みそ空っぽなんだな
冗長にチェックすればバグの発見確率も上がるだろ
そんなこともわからねーなら今すぐ福島にいってプルトニウムまみれの空気で深呼吸してこい
0654デフォルトの名無しさん2011/11/26(土) 20:38:52.52
どうでもいいけどとんでもなくスレ違いだな
0655デフォルトの名無しさん2011/11/26(土) 20:42:44.51
そうだね
思想に近いからね
0656デフォルトの名無しさん2011/11/26(土) 21:24:30.69
お前等って何でそんなに雑魚なの?
0657デフォルトの名無しさん2011/11/26(土) 21:41:56.19
アサートって何?
初心者も混ざってるんだから分かりやすく書けよ。
0658デフォルトの名無しさん2011/11/26(土) 21:42:34.66
× 初心者も混ざってるんだから
〇 雑魚も混ざってるんだから
0659デフォルトの名無しさん2011/11/26(土) 21:45:19.46
>仕様上

↑
ここポイント
このスレにまともに仕様設計ができる香具師がいるとも思えんが
0660デフォルトの名無しさん2011/11/26(土) 21:46:29.91
311まで東電と保安院と安全委員会と政府と公務員役人が
あそこまで揃いも揃って冗長性と掛け離れた存在だとは知らなかった
0661デフォルトの名無しさん2011/11/26(土) 21:47:58.92
>>653
脳ミソ空っぽだったらそもそも生きてないだろう
馬鹿かお前
0662デフォルトの名無しさん2011/11/26(土) 21:52:40.45
そうッスよね!
0663デフォルトの名無しさん2011/11/26(土) 21:55:19.98
>>661
なんだ小学生だったのか
相手して時間損したわ
0664デフォルトの名無しさん2011/11/26(土) 22:01:28.09
ここで見た質問をTwitterで流す実験やってるんだけど
レスポンスが返ってくるまでの時間、情報の正確さ、情報量、言葉遣い、全てにおいてTwitterのほうが勝っている。
0665デフォルトの名無しさん2011/11/26(土) 22:11:25.88
そりゃ匿名性の問題だしな
0666デフォルトの名無しさん2011/11/26(土) 22:19:38.93
apiって直打ちすることないよね?
普通ラッパー作ってやるよね?
直打ちしてるのって痴呆くらいじゃね?
0667デフォルトの名無しさん2011/11/26(土) 22:26:00.45
>>666
ラッパー作るときに直打ちするだろw
0668デフォルトの名無しさん2011/11/26(土) 22:28:21.84
言おうと思ったら667に言われてた
0669デフォルトの名無しさん2011/11/26(土) 22:39:14.49
ラッパー作るときに直打ちしたことを覚えてないのは
0670デフォルトの名無しさん2011/11/26(土) 22:57:03.90
>>666
猫でもわかるを馬鹿にしてんの?お?
0671デフォルトの名無しさん2011/11/26(土) 23:06:57.74
さっさとツイッター行けよ
0672デフォルトの名無しさん2011/11/26(土) 23:20:58.90
お前がいけよ。
0673デフォルトの名無しさん2011/11/26(土) 23:26:23.25
使おうと思ったもの全部にラッパーつくんの?
0674デフォルトの名無しさん2011/11/26(土) 23:26:30.97
ラッパーってあれだろ。

お前の父ちゃん薄情♪(チェケラ)
お前の母ちゃん欲情♪(チェケラッ)
そして俺たち下克上♪(オーイエー)

って歌う人のことだろ。
0675デフォルトの名無しさん2011/11/26(土) 23:27:41.77
ム板の恥さらしスレ晒しage
0676デフォルトの名無しさん2011/11/26(土) 23:32:34.86
イクイク詐欺
0677デフォルトの名無しさん2011/11/26(土) 23:35:13.57
Win32APIは無駄が多い
memsetがあるのにZeroMemoryとか作ってるし、ファイル入出力も然り
GUIの機能だけ用意してればいいのに
0678デフォルトの名無しさん2011/11/26(土) 23:37:53.49
>>677
ム板の恥さらし
0679デフォルトの名無しさん2011/11/26(土) 23:55:18.85
>>677
それだけならまだ許せるけど
必要なものが無かったりするのがアホかと
0680デフォルトの名無しさん2011/11/26(土) 23:56:37.91
過去の遺産引きずってるから設計からしておかしいしね
0681デフォルトの名無しさん2011/11/26(土) 23:57:10.49
ラッパー作るメリットって何?
0682デフォルトの名無しさん2011/11/26(土) 23:57:43.36
>>670
雑魚は猫未満だから、哺乳類用の猫でもわかるはむずい
魚でもわかるってない?
0683デフォルトの名無しさん2011/11/27(日) 02:17:31.16
最近勃ちが悪くなってきたのですがバキバキに勃起させるAPIってないでしょうか
0684デフォルトの名無しさん2011/11/27(日) 02:23:13.22
ありますよ
0685デフォルトの名無しさん2011/11/27(日) 02:26:01.51
>>682
猿でも分かるって昔あったような。
0686デフォルトの名無しさん2011/11/27(日) 08:16:21.19
【放送】東京キー局にかかれば日本人を洗脳させる事は容易。国民は馬鹿だからテレビ局を疑わない
http://uni.2ch.net/test/read.cgi/news/1322307978/

■「韓国好き」を公言した芸能人がネットで叩かれるワケ

  17日に放送された人気トーク番組「アメトーーク!」(テレビ朝日系)の
「KARA大好き芸人」の回に出演したタレント・関根勤の発言が、ネット上で物議を醸している。

問題になった発言は、関根が女子プロゴルフの中継を見ていた際に、
韓国勢の強さに「日本人がんばれ、負けるな」と以前は思っていたが、
KARAを好きになってからは「前ほど日本人頑張れって思わなくなった」と発言したもの。

  巨大掲示板「2ちゃんねる」を中心に、放送当初からネット上で
「最近(関根は)テレビに出なくなったし、韓国に食いついちゃったのかな〜」
「いい年して、こういう媚びた生き方したくねえな」などと批判が噴出。
放送から数日が経った現在も、ネット上で激しい関根批判が続けられるという異例の事態だ。

http://www.menscyzo.com/2011/11/post_3249.html
0687デフォルトの名無しさん2011/11/27(日) 10:12:10.93
>>588
これなんで逮捕されたんだ?
公開されている情報を自動収集しただけだろ?
0688デフォルトの名無しさん2011/11/27(日) 10:21:08.34
設計ミスでDBへの接続数が簡単に跳ね上がってしまう仕様だったが、
個人でポチポチする分には問題無いレベルだったので、
自動化による大量?アクセスで問題を起こしていた面倒な奴を逮捕した。

コスト削減が求められる時代だからしようがないねw
0689デフォルトの名無しさん2011/11/27(日) 10:33:19.96
すでに登録されているウィンドウクラス名を列挙する
あるいは指定したウィンドウクラス名がすでに登録されているか
調べるAPIってありますか?
0690デフォルトの名無しさん2011/11/27(日) 10:38:17.21
>>687
日本のIT史上に残る
恥ずかしいレベルの役所と警察の判断
歴史的汚点
0691デフォルトの名無しさん2011/11/27(日) 10:40:08.12
>>690
一番恥ずかしいのは、三菱
0692デフォルトの名無しさん2011/11/27(日) 10:40:20.80
>>689
ありますよ
0693デフォルトの名無しさん2011/11/27(日) 10:51:27.14
>>689
FindWindowEx
EnumWindows
GetClassInfoEx
GlobalGetAtomName
FindAtom
GlobalFindAtom
0694デフォルトの名無しさん2011/11/27(日) 11:03:27.50
>>693
ありがとうございます!
0695デフォルトの名無しさん2011/11/27(日) 12:24:49.73
潜伏ウィルスが隠してるウィンドウを見つけるには?
0696片山博文MZ ◆0lBZNi.Q7evd 2011/11/27(日) 12:38:25.82
>>695 EnumWindows, EnumChildWindows
■ このスレッドは過去ログ倉庫に格納されています