09/03/11 12:27:19
case WM_LBUTTONDOWN:
::PostMessage( hWnd, WM_NCLBUTTONDOWN, HTCAPTION,i lParam);
break;
332:デフォルトの名無しさん
09/03/11 12:42:23
タイトルバー以外の部分をドラッグしてウィンドウを移動させる
URLリンク(hp.vector.co.jp)
333:デフォルトの名無しさん
09/03/11 14:08:28
>>331
コンパイルエラーだろバカ
334:デフォルトの名無しさん
09/03/11 14:28:31
#define i
335:デフォルトの名無しさん
09/03/11 14:33:24
333 はおそらく実際にコンパイルしてみたに違いないw
336:デフォルトの名無しさん
09/03/11 14:36:08
そんなもんコンパイルしなくても見ればわかるだろ JK
337:デフォルトの名無しさん
09/03/11 14:41:37
つーかこんな所に貼られたコードを安易にコンパイルして実行する奴なんて居るのか?
得体の知れないファイルを平気でクリックして実行するレベルだろ
338:デフォルトの名無しさん
09/03/11 14:44:38
>>337
このスレに貼られたコードの意味が分からない奴なんて居るのか?
339:デフォルトの名無しさん
09/03/11 14:47:51
>>338
居るよ
>>337とか
340:デフォルトの名無しさん
09/03/11 15:02:01
むしろこのスレに貼られたコードの意味が分かる奴なんて居るのか?
341:デフォルトの名無しさん
09/03/11 15:04:27
>>340
いるよ
>>339とか
342:339
09/03/11 15:07:17
いや俺は.netしか使ったことないから分かってないよw
343:デフォルトの名無しさん
09/03/11 15:07:39
NCHITTESTだと、どのボタンが押されたかとか、自作ライブラリとの親和性が低いとかあるので
>>325の方法で大方解決しました。ありがとうございました。
ところでGDI+の半透明描画や画像の回転機能を自分で作りたいんですが、あのライブラリは
ハードの機能を使ったりしているんでしょうか?自分でちまちまピクセルごとの計算をしたら
とてもゲームに使えるようなスピードにならない気もするんですが・・・
344:デフォルトの名無しさん
09/03/11 15:28:34
やってみたのか
345:デフォルトの名無しさん
09/03/11 15:31:31
やってみたのだ
346:デフォルトの名無しさん
09/03/11 15:39:54
これでいいのだ
347:デフォルトの名無しさん
09/03/11 16:11:23
まだやってないです
やるとしたら、描画命令来るたびにロックするとかかな
348:デフォルトの名無しさん
09/03/11 17:22:55
>>343
GDI+はソフトウェア描画だよ。
349:デフォルトの名無しさん
09/03/11 17:34:05
>>330
何がアホなのか言ってみな
350:デフォルトの名無しさん
09/03/11 18:17:52
>>348
ソフトウェア処理だけど一応MMX/SSEなどは使ってるみたい
まあゲームで使える速度じゃないのは言うまでも無いけど
351:デフォルトの名無しさん
09/03/11 19:34:55
____
/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ < 何がアホなのか言ってみな
| |r┬-| |
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / // だっておwwwwwww
| :::::::::::(⌒) | | | / ゝ :::::::::::/
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / / バ
| | l||l 从人 l||l l||l 从人 l||l バ ン
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
352:デフォルトの名無しさん
09/03/11 19:37:31
ほらな
答えられない
353:デフォルトの名無しさん
09/03/11 20:04:05
>>348ぐぐ そうですか
バリバリフレームレート出まくってるゲームで描画が5割以上GDI+みたいなゲームってありますか?
GDI+入れて組むのめんどくてどんなもんなのかよくわからんのです。知ってる人いたらラッキーなんで教えてくださいよ先輩
354:デフォルトの名無しさん
09/03/11 20:09:51
>>353
妄想レスだがフレームレート上げたいゲームならDirectXを普通に使うんじゃない?
355:デフォルトの名無しさん
09/03/11 20:34:18
[環境]非MFCでWin32API(VC2005でC++)です。
[質問]画面に入りきらないテキストを描画して、スクロールしたら、
上の方の文章を消して、下の方の文章を表示するプログラムが組めません。
[どこまでできたの?]
DrawText作ってテキストを表示。
スクロールするだけのWindow。
スクロールした値は取れるので、それをDrawTextに反映させたいのですが、
どうやればいいでしょうか?
356:デフォルトの名無しさん
09/03/11 20:35:58
素直にエディットコントロール使うんじゃだめなのか…
357:デフォルトの名無しさん
09/03/11 20:48:00
>>356 レスサンクス。
もっと、初期の段階だったらそれも考えれるのですが、、、ここの部分組んだらプログラム完成するんです、、、。
DrawTextの第4引数のRECT構造体の値があるんですが、
これって、マイナスの値入れるのは危険ですか?
RECT rc;
GetClientRect( hWnd, &rc );
rc.top -= 100;
358:デフォルトの名無しさん
09/03/11 20:48:54
GDI+の用途って画像ファイルの入出力とアンチエイリアスつきのベクタ描画ぐらいじゃね
359:デフォルトの名無しさん
09/03/11 21:01:11
>>357
問題はない。
360:357
09/03/11 21:04:13
>>359 レスありがとん。
それを聞いて安心しました。
あとは、テキストのたての長さを割り出す作業だけでいけそうです。
ありがとうございました。
361:デフォルトの名無しさん
09/03/11 21:48:35
メモリDCに最初から全部描いておいて、スクロールの都度、必要な部分だけBitBltする手もあるぞ
362:デフォルトの名無しさん
09/03/11 21:58:41
早く数学を教えてください。
待て待て
363:デフォルトの名無しさん
09/03/11 22:49:25
>>354それもそうですね。
>>358GDIだけだと結構やりたいこと出来ないんですよ・・・
364:デフォルトの名無しさん
09/03/11 23:24:54
CloseHandleの戻り値って確認してる?
正しいハンドルを渡してもエラーになる場合ってどんなとき?
365:デフォルトの名無しさん
09/03/11 23:27:49
::GetLastError()
366:デフォルトの名無しさん
09/03/11 23:38:41
>>351
アホ乙w
367:デフォルトの名無しさん
09/03/12 00:15:36
>>364
通信系だと、通信不良とか?
368:デフォルトの名無しさん
09/03/12 00:49:05
プロパティシートで
psp.lParam=(LPARAM)Data; とlParamに構造体 DATAを設定しているのですが、
受取先の、Windowでは死んでいます。うまく受け渡しが
できません。
psp.pszTemplate = "IDD_D";
psp.pfnDlgProc = (DLGPROC)Function0;
psp.lParam=(LPARAM)Data;
hpsp[0] = CreatePropertySheetPage(&psp);
memset(&psh, 0, sizeof(PROPSHEETHEADER));
psh.dwSize = sizeof(PROPSHEETHEADER);
psh.dwFlags = PSH_NOAPPLYNOW;
psh.hInstance = hInst;
psh.hwndParent = hDlg;
psh.nPages = 1;
psh.phpage = hpsp;
psh.pszCaption = "設定";
(HWND)PropertySheet(&psh);
うまく受け渡すにはどうしたらいいでしょうか
369:デフォルトの名無しさん
09/03/12 01:00:26
Dataの型は DATA か DATA* か? 前者なら間違い
370:デフォルトの名無しさん
09/03/12 01:01:18
肝心の受け取り部分が書いてないが
((PROPSHEETPAGE*)lParam)->lParamにしてるか?
371:デフォルトの名無しさん
09/03/12 01:57:57
>>364
ディクス書き込みで、フラッシュ時に IO エラーが発生するとか、
ディスクフルになるとか。
372:デフォルトの名無しさん
09/03/12 08:34:59
>>371
ファイル書き込みは遅延書き込みありでキャッシュされているから、
CloseHandle()の戻り値では、アプリケーションからディスクI/O時の
エラーは検出されないと思う。イベントログに上がるだけでは?
キャッシュを書き戻す処理に関係なく、キャッシュとディスク上の配置は
マップ管理されていると思うので、ディスクフルはWriteFile()の戻り値で
エラーが返されるはず。
当然だが、オープンされていない間違ったハンドルを渡せばエラーが返る。
373:デフォルトの名無しさん
09/03/12 12:26:27
____
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / // >>366 そんなこと言うなよ。仲間だろ?wwwwwww
| :::::::::::(⌒) | | | / ゝ :::::::::::/
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / / バ
| | l||l 从人 l||l l||l 从人 l||l バ ン
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
374:デフォルトの名無しさん
09/03/12 18:11:18
ボタンの描画についての質問です。
グループボックスや、ラジオボタンが描画されるとき、文字列描画部分の背景色を透過することはできないでしょうか。
MSDNを読むとWM_CTLCOLORBTNはオーナードローのボタンでないと、意味が無いということで (実際無理でした)
サブクラス化をして、WM_ERASEBKGNDを捕まえて何も処理せずにreturnしたり、
GetClassInfoEx → styleメンバに CS_OWNDC を OR演算 → 新しいクラス登録、その後 WM_CREATE でSetBkMode(hdc,TRANSPARENT)を試してみたりしましたが、どちらもできませんでした。
ボタンの描画自体はデフォルトの処理を任せたいのですが、何か方法はないでしょうか。
375:デフォルトの名無しさん
09/03/12 18:16:18
WS_EX_TRANSPARENTを指定してWM_CTLCOLOR~でNULLブラシを返せば?
376:デフォルトの名無しさん
09/03/12 18:30:15
>>375
レス有難う御座います。
試してみましたが、変化が現れませんでした。
377:デフォルトの名無しさん
09/03/12 18:32:15
WM_CTLCOLORBTN or WM_CTLCLORSTATIC にて
SetBakMode( hDC, TRANSPARENT);
return (HBRUSH)GetStockObject( NULL_BRUSH);
378:デフォルトの名無しさん
09/03/12 18:50:07
>>377
コンパイルエラーだろバカ
379:デフォルトの名無しさん
09/03/12 18:56:37
STATICコントロールは WM_...STATIC で透過させることが出来ますが、
BUTTONコントロールはどうもうまくいかないみたいです・・・。
素直に諦めることにします。
380:デフォルトの名無しさん
09/03/12 19:03:33
普通に可能なんだが・・・
ああ馬鹿なのね
381:デフォルトの名無しさん
09/03/12 19:21:27
面倒だから煽らなくていいです
382:デフォルトの名無しさん
09/03/12 19:57:00
>>380はわかってない馬鹿とみた
383:デフォルトの名無しさん
09/03/12 20:03:24
>>382
ん?悔しかったの?www
384:デフォルトの名無しさん
09/03/12 20:07:28
ラジオボタンやグループボックスの背景なら>>375>>377が書いてる方法で透過するだろ。
前にそういうコード書いたことあるし。
385:デフォルトの名無しさん
09/03/12 20:46:16
>>384
新しくプロジェクトを始めて、ダイアログベースではないウィンドウ上で試してみたら、成功しました。
リソースから作ったダイアログ上のタブコントロールの上にこれらのBUTTONコントロールを配置した時に、見栄えが悪かったため
最初の質問をさせていただきましたが、グループボックスをリソースからではなく、
WM_INITDIALOG内にて、親ウィンドウをタブコントロールとして生成したところ、やりたかったことを実現することが出来ました。
レスしてくれた方々、有難う御座いました。
386:デフォルトの名無しさん
09/03/12 20:58:08
>最初の質問をさせていただきましたが、グループボックスをリソースからではなく、
まさか コントロールIDが IDC_STATIC のままだったとかいうオチじゃないだろうな。
387:デフォルトの名無しさん
09/03/12 21:01:56
いや、IDは数字を直指定しているのでそれはないです。
388:デフォルトの名無しさん
09/03/12 21:38:45
>>382が分かってない馬鹿でした
389:デフォルトの名無しさん
09/03/12 22:44:12
ブラウザでページを開いて、
今どの入力項目にカーソルがあたっているかを調べる方法ってありますか?
390:デフォルトの名無しさん
09/03/13 07:10:04
>>389
ブラウザまで自作すれば出来るんじゃね
391:デフォルトの名無しさん
09/03/13 07:13:03
>>390
俺もわかんねけどDOM構造調べてカーソルチェックするしかないんじゃね?
392:デフォルトの名無しさん
09/03/13 07:17:26
IEで、現在選択されている文字列をクリップボードにコピーさせる操作を、
別プロセスから行うのはAPIで可能ですか?
393:デフォルトの名無しさん
09/03/13 07:23:50
>>392
SendMessage()でいいんじゃね?
激しくメンドクサイが・・・
394:デフォルトの名無しさん
09/03/13 08:18:47
>>391
なるほど
ところでそのカーソルのチェックってどうやったらできますか?
395:デフォルトの名無しさん
09/03/13 08:22:31
>>394
気持は分かるがそこまでだ。DOMはWin32じゃない。
その辺のHTMLか言語スレでやってくれ。
396:デフォルトの名無しさん
09/03/13 10:47:02
Windowを列挙して座標から該当するWindow(コントロール)を探す。
その名前とHTMLを照合する・・ってぐらいしか思いつかないな。
397:デフォルトの名無しさん
09/03/13 11:03:27
アドウェアの開発を手伝ってやることはないと思うんだ
398:デフォルトの名無しさん
09/03/13 11:09:24
どちらかというとカード番号とかIDを奪うスパイウェアっぽい
399:デフォルトの名無しさん
09/03/13 11:28:01
フォームに自動入力するのは作ったことある
フォームに入ってるデータも隠しを含めて全部読めたけど
カーソル位置なんか考えないな
400:デフォルトの名無しさん
09/03/13 11:33:52
>>396
バカ、IEはウィンドウレスだからコントロールは無いよ
401:デフォルトの名無しさん
09/03/13 11:35:45
>>400
402:デフォルトの名無しさん
09/03/13 11:45:50
このスレウザイのが張り付いてるな
自分の仕事と思ってるのか知らんが一番迷惑
面白いレスしようと思ってワクワクしてこのスレ開いてんのかな?
一番寒いのに
403:デフォルトの名無しさん
09/03/13 12:17:13
>>402
君が一番寒いよ
404:デフォルトの名無しさん
09/03/13 12:18:14
>>403
そして君が二番目
405:デフォルトの名無しさん
09/03/13 12:30:51
>>402
知らないならレスしないで下さい。寒いだけです。
406:デフォルトの名無しさん
09/03/13 12:37:34
さぶ
407:デフォルトの名無しさん
09/03/13 13:28:35
>>402
知識の還元してるんでしょ?喜ぶことで煽ることではないと思うが
ただし、的を射る場合に限るw
408:デフォルトの名無しさん
09/03/13 13:37:59
>>407
寒い自己レス乙
409:デフォルトの名無しさん
09/03/13 13:41:40
おいおい、せめて引きこもりピザは2chで役に立てwww
410:デフォルトの名無しさん
09/03/13 13:45:26
>>409
自己紹介乙
411:デフォルトの名無しさん
09/03/13 13:49:21
>>410
自作自演乙
412:デフォルトの名無しさん
09/03/13 13:53:53
>>411
寒い自己レス乙
413:デフォルトの名無しさん
09/03/13 14:28:32
あるプロセスが走っているか調べるAPIはありますでしょうか?
具体的にはタスクマネージャーが動いているか知りたいです。
414:デフォルトの名無しさん
09/03/13 14:30:58
>>413
スパイウェアですか?
415:デフォルトの名無しさん
09/03/13 14:31:27
>>413
EnumWindowsでタスクマネージャWindowを探すのどうよ?
416:413
09/03/13 14:32:21
ちがいます。
417:413
09/03/13 14:35:09
正解です。
418:413
09/03/13 14:35:48
>>415
ありがとうございます。試してみます。
419:デフォルトの名無しさん
09/03/13 14:38:44
ちんちんが大きくなるのですがどうしたらいいですか?
420:デフォルトの名無しさん
09/03/13 14:43:41
>>389=>>413?
タスクマネージャからプロセス隠蔽してブラウザで入力した個人情報を盗むスパイウェアを作ってるんですね
次はrootkitの作り方を質問してくるのかな
421:デフォルトの名無しさん
09/03/13 15:00:12
何でこのスレは直ぐにスパイウェアだとか、そんな悪い方向に持ってくの?
422:デフォルトの名無しさん
09/03/13 15:04:06
あとはpsapiとかかね
423:デフォルトの名無しさん
09/03/13 15:04:44
悪い方向のソフトを作る目的で質問する馬鹿がいるから。
424:デフォルトの名無しさん
09/03/13 15:05:56
psapiってプラットだったっけ?
昔めんどくさくてフリーのEXE拾ってきた覚えたあったなぁ
425:デフォルトの名無しさん
09/03/13 15:09:16
>>413
結局ナニ作るの?そろそろ教えてくれないよこれ。
426:デフォルトの名無しさん
09/03/13 15:11:35
日本語でおk
427:デフォルトの名無しさん
09/03/13 15:13:19
タスクマネージャーを監視する目覚ましと時計(MP3ネットラジオ付)です。
428:デフォルトの名無しさん
09/03/13 15:16:32
まだ目覚まし粘着君いたんだw
すげーしつこいw
429:デフォルトの名無しさん
09/03/13 15:16:45
やばいwww天才発見www
その発想は無かったわwwwwwwwwwwwwwwwwwwwwwww
出来ればなぜにタスクマネージャー見るのか教えて。
煽りではなく、後学のために。どんな用途に使えるの?
430:デフォルトの名無しさん
09/03/13 15:21:49
>>429
お前には関係ないですよ。
431:デフォルトの名無しさん
09/03/13 15:30:31
/ ̄ ̄\
/ _ノ \
| ( ●)(●)
. | (__人__)____
| ` ⌒/ ─' 'ー\
. | /( ○) (○)\
. ヽ / ⌒(n_人__)⌒ \ >>429
ヽ |、 ( ヨ |
/ `ー─- 厂 /
| 、 _ __,,/ \
432:デフォルトの名無しさん
09/03/13 15:31:51
>>429
433:デフォルトの名無しさん
09/03/13 16:05:03
>>429あげ
434:デフォルトの名無しさん
09/03/13 16:07:08
>>429の母です。
435:デフォルトの名無しさん
09/03/13 16:13:00
>>429の娘です。
436:デフォルトの名無しさん
09/03/13 17:32:18
>>429のコーン入りうんこです。
437:デフォルトの名無しさん
09/03/13 18:27:27
>>429
タスクマネージャ監視の使い道を考えてみた。
裏でゴリゴリ悪いことしてるプログラムが、タスクマネージャでCPU使用率を見られて
マークされないように、タスクマネージャが起動している間は大人しくする。
438:デフォルトの名無しさん
09/03/13 19:09:47
>>437
そんな面倒な事しなくても適宜Sleep(n)でも入れて休ませとけばいいだろ
タスクマネージャを騙すっていえば定期的にSetProcessWorkingSetSizeを呼んでメモリ使用量を少なく見せるとか有名だな
439:デフォルトの名無しさん
09/03/13 19:18:45
午後キチ、今日は楽しかったろ
440:デフォルトの名無しさん
09/03/13 19:19:04
>>419
結局ナニ作るの?そろそろ教えてくれないよこれ。
441:デフォルトの名無しさん
09/03/13 20:12:34
チャットなら外でやれ
442:デフォルトの名無しさん
09/03/13 20:32:17
カタカタ
|| ̄ Λ_Λ
||_(Д`; ) 「なに?このスレ・・・」
\⊂´ )
( ┳'
443:デフォルトの名無しさん
09/03/13 21:13:07
>>442
そういうのイラネ
444:デフォルトの名無しさん
09/03/13 21:21:54
>>443
そういうのイラネ
445:デフォルトの名無しさん
09/03/13 23:48:48
soine
446:デフォルトの名無しさん
09/03/14 09:16:01
Win32APIで、MessageBoxみたいに一発呼び出しで
1行テキスト入力だけして入力した文字列を返すようなダイアログを出すAPIってないもんでしょうか?
447:デフォルトの名無しさん
09/03/14 09:20:20
ないもんです
448:デフォルトの名無しさん
09/03/14 09:35:05
EntryDialog
449:デフォルトの名無しさん
09/03/14 09:46:56
URLリンク(www.gamedev.net)
#include <windows.h>
#include <string>
#ifdef UNICODE
typedef std::wstring InputBoxStringType;
typedef LPWSTR InputBoxCharPointerType;
typedef wchar_t InputBoxCharType;
#define InputBoxString(x) L##x
#else
typedef std::string InputBoxStringType;
typedef LPSTR InputBoxCharPointerType;
typedef char InputBoxCharType;
#define InputBoxString(x) x
#endif
450:デフォルトの名無しさん
09/03/14 09:48:50
LRESULT CALLBACK InputBoxWndProc(HWND WndHandle, UINT Message, WPARAM wParam, LPARAM lParam){
static InputBoxStringType *Results = 0;
static HWND InputLabelHandle = 0;
static HWND InputHandle = 0;
switch(Message){
case WM_NCCREATE:{Results = (InputBoxStringType*)((CREATESTRUCT*)lParam)->lpCreateParams;break;}
case WM_CLOSE:case WM_DESTROY:{PostQuitMessage(0);break;}
case WM_COMMAND:{
int NotifyCode = HIWORD(wParam);
int ControlId = LOWORD(wParam);
HWND ControlHandle = (HWND)lParam;
switch(ControlId){
case 1001:{InputHandle = ControlHandle;break;}
case 1002:{if(InputHandle == 0 || !Results){PostQuitMessage(0);break;}
InputBoxCharPointerType Buffer = new InputBoxCharType[256];
GetWindowText(InputHandle, Buffer, 256);
*Results = Buffer;PostQuitMessage(0);break;}
case 1003:{if(InputHandle == 0 || !Results){PostQuitMessage(0);break;}
*Results = InputBoxString("");PostQuitMessage(0);break;}
}break;}
}
return DefWindowProc(WndHandle, Message, wParam, lParam);
}
451:デフォルトの名無しさん
09/03/14 10:17:38
static InputBoxStringType ShowInputBox(HWND OwnerWindowHandle, const InputBoxStringType &InputLabel, const InputBoxStringType &InputText, const InputBoxStringType &Title){
WNDCLASS WndClass;
HWND DialogHandle = 0;
HWND InputLabelHandle = 0;
HWND InputHandle = 0;
HWND OkButtonHandle = 0, CancelButtonHandle = 0;
InputBoxStringType Result = InputBoxString("");
ZeroMemory(&WndClass, sizeof(WNDCLASS));
WndClass.hbrBackground = GetSysColorBrush(COLOR_3DFACE);
WndClass.hIcon = LoadIcon(0, IDI_APPLICATION);
WndClass.hCursor = LoadCursor(0, IDC_ARROW);
WndClass.hInstance = GetModuleHandle(0);
WndClass.lpszClassName = InputBoxString("InputBox");
WndClass.lpfnWndProc = InputBoxWndProc;
RegisterClass(&WndClass);
int X = 0, Y = 0;
int Width = 0, Height = 0;
RECT TempRect;
GetWindowRect(GetDesktopWindow(), &TempRect);
Width = (int)((float)(TempRect.right - TempRect.left) * 0.25f);
Height = 150;
X = ((TempRect.right - TempRect.left) / 2) - (Width / 2);
Y = ((TempRect.bottom - TempRect.top) / 2) - (Height / 2);
452:デフォルトの名無しさん
09/03/14 10:18:25
DialogHandle = CreateWindowEx(0, InputBoxString("InputBox"), Title.c_str(), WS_OVERLAPPEDWINDOW | WS_VISIBLE, X, Y, Width, Height, OwnerWindowHandle, 0, GetModuleHandle(0), (LPVOID)&Result);
int LabelX = 5, LabelY = 5;
int LabelWidth = Width - 10, LabelHeight = 24;
InputLabelHandle = CreateWindowEx(0, InputBoxString("STATIC"), InputLabel.c_str(), WS_CHILD | WS_VISIBLE, LabelX, LabelY, LabelWidth, LabelHeight, DialogHandle, 0, GetModuleHandle(0), 0);
int TBoxX = 5, TBoxY = 29;
int TBoxWidth = Width - 20, TBoxHeight = 24;
InputHandle = CreateWindowEx(0, InputBoxString("EDIT"), InputText.c_str(), WS_BORDER | WS_CHILD | WS_VISIBLE, TBoxX, TBoxY, TBoxWidth, TBoxHeight, DialogHandle, (HMENU)1001, GetModuleHandle(0), 0);
int OkBtnX = (Width / 2) - 75, OkBtnY = Height - 60;
int OkBtnWidth = 75, OkBtnHeight = 24;
OkButtonHandle = CreateWindowEx(0, InputBoxString("BUTTON"), InputBoxString("Ok"), WS_CHILD | WS_VISIBLE, OkBtnX, OkBtnY, OkBtnWidth, OkBtnHeight, DialogHandle, (HMENU)1002, GetModuleHandle(0), 0);
int CancelBtnX = (Width / 2) + 25, CancelBtnY = Height - 60;
int CancelBtnWidth = 75, CancelBtnHeight = 24;
CancelButtonHandle = CreateWindowEx(0, InputBoxString("BUTTON"), InputBoxString("Cancel"), WS_CHILD | WS_VISIBLE, CancelBtnX, CancelBtnY, CancelBtnWidth, CancelBtnHeight, DialogHandle, (HMENU)1003, GetModuleHandle(0), 0);
MSG Message;
ZeroMemory(&Message, sizeof(MSG));
while(Message.message != WM_QUIT){
if(PeekMessage(&Message, 0, 0, 0, PM_REMOVE)){
TranslateMessage(&Message);
DispatchMessage(&Message);}}
return Result;
}
#undef InputBoxString
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){
InputBoxStringType Result = ShowInputBox(0, L"Please enter your name:", L"Unknown", L"Name Entry");
MessageBox(0, Result.c_str(), L"Your name is:", MB_OK);
return 0;
}
453:デフォルトの名無しさん
09/03/14 10:33:42
>>446
さすがにないかー
>>449
ありがとう。これぐらいのコードでいけるんですね。
C++じゃないけど、参考にさせていただきます
454:デフォルトの名無しさん
09/03/14 12:03:04
こんな糞コード見たのは久しぶりだ
455:デフォルトの名無しさん
09/03/14 12:11:04
つーか、スレに長いコード載せるな
456:デフォルトの名無しさん
09/03/14 12:12:55
#ifdef UNICODE
で分岐さすんなら、
最初っからTCHAR使えばいいんじゃね?w
457:デフォルトの名無しさん
09/03/14 12:15:00
猫わかレベルを超えてるなw
458:デフォルトの名無しさん
09/03/14 12:26:05
目が痛い
459:デフォルトの名無しさん
09/03/14 12:29:45
>>454-458
文句言うならお前が書けよ
460:デフォルトの名無しさん
09/03/14 12:36:09
> Note, I am not the best Win32 programmer, so there may be a better way to handle this. It does work though.
と本人自ら言ってるコードを貼るな馬鹿>>449
461:デフォルトの名無しさん
09/03/14 14:50:17
画面のプロパティのデザインで指定したフォントを取得する API ってありますか?
462:デフォルトの名無しさん
09/03/14 16:16:49
>>459
作ってみたよ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
463:446
09/03/14 16:33:58
盛り上がっているところなんなのですが、
WSHでInputBoxという関数があり、これを使うと一発でよべました。
Win32APIで、と書いたのですが、Ruby だったのでwshでもよかったので・・・
前提条件書き忘れてスマソ
お騒がせいたしました・・・。
464:デフォルトの名無しさん
09/03/14 16:35:33
>>460
わろす
>I am not the best Win32 programmer
なんて言ってるけど
ただのプログラマとしても相当アレだw
465:デフォルトの名無しさん
09/03/14 16:40:26
よし。ちょっとそこに正座をだな(ry
まあいいけどねw
466:デフォルトの名無しさん
09/03/14 16:49:31
>>463
>WSHでInputBoxという関数があり、これを使うと一発でよべました。
がAPIだとあいやーーー><の世界へGoになるんだって実感したんじゃね
467:デフォルトの名無しさん
09/03/14 16:59:29
>>462
無駄に長すぎ。
昔InputBox互換関数を作った事あるがA/W両対応して (ダイアログプロシージャ内で切り替える) 50行程度で出来たが。
とりあえず、DialogBoxIndirectParamを使ってるのにわざわざCreateWindowExしまくるなら
予めリソースエディタで作っておいたダイアログリソースのバイナリを埋め込んで使えばいいかと。
フォントはMS Shell Dlgを設定しておけばいいし。
static const BYTE templ[] = { ... };
DialogBoxIndirectParam(hinst, (LPCDLGTEMPLATE)templ, ...);
468:デフォルトの名無しさん
09/03/14 17:04:22
つーか実質WM_COMMANDのIDOKでGetDlgItemTextするだけだろ
今時APIオンリーでプログラム作ってる人ならこの程度は直ぐに作れるよ
作ってみたとかいちいち自慢しなくておk
469:デフォルトの名無しさん
09/03/14 17:11:57
リソースなしで作ってるから長いだけであって。
コントロールサイズの調整が必要だからそれだけで終わりじゃないさ。
470:デフォルトの名無しさん
09/03/14 17:14:40
作れ→作った→作ってみたとかいちいち自慢しなくておk
おまえどんな鬼畜だよ
471:デフォルトの名無しさん
09/03/14 17:15:13
だからリソースバイナリを使えって話なんだろ
472:デフォルトの名無しさん
09/03/14 17:16:01
お前はもうちょっと可読性を考えたほうがいい
473:デフォルトの名無しさん
09/03/14 17:16:04
たしかになw 鬼畜すぐるw
474:デフォルトの名無しさん
09/03/14 17:17:50
MS UI Gothic決め打ちしてる糞コードで可読性とかw
475:デフォルトの名無しさん
09/03/14 17:19:19
ダイアログボックス用のフォントってどうやって取得するの?
476:デフォルトの名無しさん
09/03/14 17:19:36
98とかの環境だと、
"MS ゴシック"てしないとダメだよねw
477:デフォルトの名無しさん
09/03/14 17:19:53
違った。メッセージボックス用のフォントだ。
478:デフォルトの名無しさん
09/03/14 17:21:29
無いフォント指定しても勝手に別のフォントが使われるだけだから問題はないだろ・・・
479:デフォルトの名無しさん
09/03/14 17:21:32
>>470
だってさー、5分とかからないレベルのプログラムなのに4時間でコレだぜ?
480:デフォルトの名無しさん
09/03/14 17:22:07
>>479
じゃあお前作れよ
481:デフォルトの名無しさん
09/03/14 17:22:26
>>468
今時APIオンリーでプログラム作ってる人
ってよ趣味グラマじゃないのか?プログラマにそんなのいるのか?
482:デフォルトの名無しさん
09/03/14 17:22:32
>>479
じゃあお前が五分で作って見せろよ
483:デフォルトの名無しさん
09/03/14 17:23:03
今からカウントダウン
484:デフォルトの名無しさん
09/03/14 17:24:31
キタ━━(゚∀゚)━━!!
wktk
485:デフォルトの名無しさん
09/03/14 17:25:40
否定されて悔しかった>>462が「お前が作れ」と言い出したようですね
486:デフォルトの名無しさん
09/03/14 17:26:03
>>485
逃げたーーーーーー!!!!!!!!!!!wwwwwwwwwwwwww
487:デフォルトの名無しさん
09/03/14 17:26:57
>>484
>>486
失せろゴミ
488:デフォルトの名無しさん
09/03/14 17:26:57
作れないのなら最初から私には無理ですと言えよ
489:デフォルトの名無しさん
09/03/14 17:27:21
∧_∧
( ・∀・)ワクワク
( ∪ ∪
と__)__)
490:デフォルトの名無しさん
09/03/14 17:27:30
そろそろ5分だ
491:デフォルトの名無しさん
09/03/14 17:29:40
作ってみた。
BOOL InputBox(HWND hwnd,INPUTBOXPARAMS* param)
{
return(DialogBoxParam(hwnd,MAKEINTRESOURCE(IDD_INPUT),hwnd,InputBoxProc,(LPARAM)param)==IDOK);
}
492:デフォルトの名無しさん
09/03/14 17:32:11
もうだめだこのスレ
493:デフォルトの名無しさん
09/03/14 17:32:16
ポカーン
494:デフォルトの名無しさん
09/03/14 17:32:20
>>462
やっぱgoto使った方がすっきりかけるよな
なんで洗脳されてgoto嫌う奴いるんだろうな
場合によってはネスト深くなるだけなのに
495:デフォルトの名無しさん
09/03/14 17:34:07
>>491
出し惜しみしないで、全部さらせ
496:デフォルトの名無しさん
09/03/14 17:34:46
俺も作ってみた(VB用)
Public Function MyInputBox(prompt, title, default)
MyInputBox = InputBox(prompt, title, default)
End Function
'テスト
Debug.Print MyInputBox("input?","test","default")
497:デフォルトの名無しさん
09/03/14 17:36:34
>>496
作るなよ・・・
498:デフォルトの名無しさん
09/03/14 17:37:52
My(笑)
499:デフォルトの名無しさん
09/03/14 17:40:50
>>496
目覚ましいたのか
500:デフォルトの名無しさん
09/03/14 17:40:51
所詮は作れといわれてすぐに作り始めたと思い込むだけの馬鹿だったか・・・
501:デフォルトの名無しさん
09/03/14 17:41:17
ほれ。
BOOL InputBox(LPTSTR buf, int siz)
{
FILE*fp;
AllocConsole();
fp = fopen("CONIN$", "r");
if(fp){_fgetts(buf, siz, fp);fclose(fp);}
FreeConsole();
return!!fp;
}
502:デフォルトの名無しさん
09/03/14 17:59:03
で、汚いソースコード晒した>>462はどこ行った?
503:デフォルトの名無しさん
09/03/14 18:00:04
>>477
SystemParametersInfoでSPI_GETNONCLIENTMETRICS
一緒に渡すNONCLIENTMETRICSの中のlfMessageFont
504:デフォルトの名無しさん
09/03/14 18:03:32
>>503
ふむふむ。なるほど。㌧
505:デフォルトの名無しさん
09/03/14 18:04:04
>>502
お前がコードを晒さないから呆れてどっか行ったんだろう
506:デフォルトの名無しさん
09/03/14 18:06:00
>>505=>>462
なんだいるじゃんwww
507:デフォルトの名無しさん
09/03/14 18:08:53
www
508:デフォルトの名無しさん
09/03/14 18:10:20
>>502
お前がコードを晒すのを楽しみにして待ってるよ
509:デフォルトの名無しさん
09/03/14 18:12:46
>>508
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
510:デフォルトの名無しさん
09/03/14 18:14:06
>>509
死ねば
511:デフォルトの名無しさん
09/03/14 18:14:48
>>509
これ以上のコードは書けないという意思表示と解釈した
512:デフォルトの名無しさん
09/03/14 18:19:08
何故こんなに>>462がたたかれてるのかwwwwwww
お前ら愛しすぎだ
513:デフォルトの名無しさん
09/03/14 18:21:47
>>511
他人にコード晒せと指図するならまずは自分の書いたコードをまともな物にしてから言えという事だ
514:デフォルトの名無しさん
09/03/14 18:22:55
>>513
他人のコードを叩くならまずは自分の書いたコードを晒すべきだろw
馬鹿かお前は
515:デフォルトの名無しさん
09/03/14 18:23:28
自分で書けないから他人に書かせようとしてんのかwwwwwww
516:デフォルトの名無しさん
09/03/14 18:24:46
暇だなあおまいら
517:デフォルトの名無しさん
09/03/14 18:25:58
別に作らなくてもいいのにわざわざ作る
↓
コードが糞で荒れる
↓
お前も作れと逆ギレ
↓
俺以上のコード書ける奴はいないと自己陶酔 ←今ここ
518:デフォルトの名無しさん
09/03/14 18:26:09
飴と鞭は大事だ
519:デフォルトの名無しさん
09/03/14 18:29:01
>>517
>>470
1時間前のことくらい覚えとけよ
520:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/03/14 18:31:06
自慢気に汚いコード晒せば叩かれるぐらい想像できるだろ
「素晴らしい!とても綺麗なコードですね!有り難く使わせて貰います!!」
なんてレスが付くとでも本気で思ってたのか?
522:デフォルトの名無しさん
09/03/14 19:17:44
そんなことのために上げたわけでもないのに
何を妄想を語ってるんだ?
523:デフォルトの名無しさん
09/03/14 19:20:09
汚いコードしか晒せないから
叩かれるのがいやなので晒しません
という意思表示と見た
524:デフォルトの名無しさん
09/03/14 19:23:31
>>522
API信者は妄想でのみしか語れない、そして、基地外である。覚えておくように
>>520 見事な基地外っプリ
525:デフォルトの名無しさん
09/03/14 19:23:49
きれいなコードというやつを見せて欲しいな
526:デフォルトの名無しさん
09/03/14 19:28:12
お前の入っているコタツから延びてるだろ
527:デフォルトの名無しさん
09/03/14 19:31:38
>>525
ここのスレ住民は妄想でいつも綺麗なAPIのみコードを書いている
それは自分の美学を追及した綺麗なコードだ
528:デフォルトの名無しさん
09/03/14 19:39:57
妄想かいw
529:446
09/03/14 19:41:43
マジごめんなさいヽ(`Д´)ノ ウワァァン!!
530:デフォルトの名無しさん
09/03/14 19:43:53
( ´∀`)σ)`Д´)ノ ウワァァン!!
531:デフォルトの名無しさん
09/03/14 19:44:23
そもそも>>462のコードって別に汚くはないよな?
フォントとボタンのキャプションが決めうちな点で問題はあるが
それは別に汚いと表現することでもないし
532:デフォルトの名無しさん
09/03/14 19:48:37
汚いというより間違ってる
533:デフォルトの名無しさん
09/03/14 19:52:46
> そもそも>>462のコードって別に汚くはないよな?
自画自賛乙
534:デフォルトの名無しさん
09/03/14 20:03:53
CancelにもBS_DEFPUSHBUTTONしてあるしな
535:デフォルトの名無しさん
09/03/14 20:04:30
>>533
お前のコードが見てみたい
536:デフォルトの名無しさん
09/03/14 20:05:19
>>533
自画自賛で何か問題でも?
537:デフォルトの名無しさん
09/03/14 20:06:25
>>536
自画自賛の開き直り乙
538:デフォルトの名無しさん
09/03/14 20:07:02
>>537
ありがとう
539:デフォルトの名無しさん
09/03/14 20:09:19
>>462
なんかスキル浅い人が色々やってみましたって感じ
てかフォントやコントロールのサイズ決め打ちするぐらいなら>>467の方法でいいと思うが
540:デフォルトの名無しさん
09/03/14 20:09:48
もう駄目かもしれんね
541:デフォルトの名無しさん
09/03/14 20:12:28
メッセージとエディットボックスのサイズは決めうちしてないけど
542:デフォルトの名無しさん
09/03/14 20:14:25
とりあえずみんなコードで語れ
543:デフォルトの名無しさん
09/03/14 20:15:43
つーか横幅は固定でいいだろ。しかも字幅の計算がなんかアレだし。
544:デフォルトの名無しさん
09/03/14 20:16:00
固定はまずいだろ・・・
545:デフォルトの名無しさん
09/03/14 20:16:58
GetTextExtentPoint以外に何かいい方法あるのん?
546:デフォルトの名無しさん
09/03/14 20:17:33
>>544
WSHやVBのInputBox使ったこと無いのか?
547:デフォルトの名無しさん
09/03/14 20:22:05
MessageBoxが伸びるからInputBoxも伸ばしただけだが
548:デフォルトの名無しさん
09/03/14 20:23:26
>>546
なんとも不便なんだな
549:デフォルトの名無しさん
09/03/14 20:27:34
ダイアログなのにGWLP_USERDATAとか使っちゃってるし
しかもLONG_PTRじゃなくてLONGにキャストしちゃってるし
SM_C?SCREENで画面サイズ計算しちゃってるし
猫プログラミングぐらいのレベルだな
550:デフォルトの名無しさん
09/03/14 20:32:35
画面サイズはメジャーを使ってモニターに押し当てないと測れないな。
551:デフォルトの名無しさん
09/03/14 20:37:45
MAX_WIDTHっておい、どう見てもMIN_WIDTHの間違いだろw
で、MessageBoxと違ってmaxは考慮しないのな
WUXGAとかで開発してるとnetbookで使った時えらい事になりそうだw
552:デフォルトの名無しさん
09/03/14 20:39:42
ダイアログは別のやつ使うんだった気がしてたけど調べるの忘れてたわ。 >GWLP_USERDATA
LONGになってんのは単純なミス。
画面サイズは何を使えば満足? マルチディスプレイはよく分からん。
どう見てもMIN_WIDTHの間違い。 >MAX_WIDTH
MessageBoxってmax考慮してたっけ? 画面外にまで突き抜けてた気がするけど。
553:デフォルトの名無しさん
09/03/14 20:41:20
WM_SETFONTした後のGetDCでフォントが選択されてる保証ってあるの?
554:デフォルトの名無しさん
09/03/14 20:45:22
何ていうか、見た人のスキルで評価の分かれるコードだw
「どこがダメなんだ?」と思った人は猫わかレベルの人だろう
555:デフォルトの名無しさん
09/03/14 20:46:52
勉強になるなあ
556:デフォルトの名無しさん
09/03/14 20:55:10
もろもろ考慮しても>>467は50行で作れるし
>>479は5分で作れるのか
すげぇな
557:デフォルトの名無しさん
09/03/14 20:55:45
ウィンドウの中のある座標に向かってクリックメッセージを送るAPIってありますか?
ボタン風に書いてあるメニューボタンがあるんですが、実際は絵なので
ハンドルが取れないのです。
558:デフォルトの名無しさん
09/03/14 20:58:51
クリックした際の処理を自分で走らせれば?
559:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/03/14 21:11:01
すみません、説明不足でした。
外部アプリのメニューを操作したいのですが、そのメニューボタンが
すべて絵なんです。
561:デフォルトの名無しさん
09/03/14 21:17:30
>>559
リソース使ってる点は無視するにしても
メッセージの長さにウィンドウを合わせる処理がないのでは・・・
562:デフォルトの名無しさん
09/03/14 21:19:03
>>560
何か怪しいことに使おうとしてるんじゃないのかね
563:デフォルトの名無しさん
09/03/14 21:19:06
>>560
WM_LBUTTONDOWN じゃだめなの?
564:デフォルトの名無しさん
09/03/14 21:20:57
>>559
自信満々に出してきたコードがこれでは…
565:デフォルトの名無しさん
09/03/14 21:22:11
>>561
別にメッセージの長さに合わせる必要性が無いし、
リソース使ってるのに問題でもあるのか?
フォント決め打ちよりはマシだろ
566:デフォルトの名無しさん
09/03/14 21:24:12
てか、メッセージを設定する部分はどこ行った
567:デフォルトの名無しさん
09/03/14 21:24:22
>>561
メッセージを表示するコードがないんだから、長さを合わせる以前の問題だろうw
568:デフォルトの名無しさん
09/03/14 21:26:06
だから>>559は最小コードだって
これに肉付けしていっても50行ぐらいで十分収まるだろってこと
569:デフォルトの名無しさん
09/03/14 21:27:22
リソース使えばそりゃ>>462だって短くなるし
ちゃんとした比較にならないのでは
570:デフォルトの名無しさん
09/03/14 21:30:13
リソースもフォント決め打ちじゃないの?
571:デフォルトの名無しさん
09/03/14 21:30:18
いや、>>556の「50行・5分で作れるのすげぇ」レスを受けて5分で書いてみただけだし
572:デフォルトの名無しさん
09/03/14 21:32:02
もろもろ考慮されてるか?
573:デフォルトの名無しさん
09/03/14 21:34:00
API使いならリソースなんて使わないんじゃないか
574:デフォルトの名無しさん
09/03/14 21:35:14
リソースはソース配るのが面倒だな
575:デフォルトの名無しさん
09/03/14 21:35:58
>>573
お前アホだろw
576:デフォルトの名無しさん
09/03/14 21:36:03
>>573
リソースを使うAPIを使いたいだろw
577:560
09/03/14 21:41:02
>>562
そ、そんなんじゃないです。
>>563
カーソルを移動させてってことですか?
他のソフトで目的の外部アプリを操ってるのがあって
どうやってるのかなってのと、自分もそういうのを作る
必要があったので。
578:デフォルトの名無しさん
09/03/14 21:41:41
mouse_event, SendInput
579:デフォルトの名無しさん
09/03/14 21:46:30
> メニューボタンがすべて絵
最近こういうのホント多いよなぁ。動画編集ソフトとか特に。
使い勝手が良ければまだしも、キーボード操作を全く受け付けなかったりとか。
もう素直に標準のコントロール使ってくれよ・・・。
580:デフォルトの名無しさん
09/03/14 21:49:31
もはやあらゆるものをDirect3Dで描画する時代に入ったんだよ
581:デフォルトの名無しさん
09/03/14 22:05:54
2D(GDI)のハードウェアアクセラレーションはRADEONもGeForceも既に搭載しとらんだろ
XPはもうロートルなんだから7600GSやX1650でも積んでればいいんだ
582:デフォルトの名無しさん
09/03/14 22:12:44
>>580-581
誤爆?
583:デフォルトの名無しさん
09/03/14 22:30:59
moudamedakonosure
584:デフォルトの名無しさん
09/03/15 00:00:19
>>579-581
そこで、ActiveAccessibilityの幻想ですよ。
585:デフォルトの名無しさん
09/03/15 00:22:30
自プロセス内の全スレッドのレジスタの値を取得するAPIは無い?
586:デフォルトの名無しさん
09/03/15 00:26:33
インラインアセンブラで取ってろ
587:560
09/03/15 07:23:43
>>578
ありがとうございます。
ググってみたら出来そうな気がします。
588:デフォルトの名無しさん
09/03/15 07:40:34
レジストリエディタでキーを作成すると、日本語Windowsだと(標準)という名前でエントリが1つ
常に存在してるようなのですが、このエントリを読み書きするにはどうすれば
いいのでしょうか?よろしくお願いします。
589:デフォルトの名無しさん
09/03/15 08:02:48
588です。解決しました。MSDNに書いてありましたね。すみません。
名前にNULLまたは空文字列を設定するんですね。
590:デフォルトの名無しさん
09/03/15 11:40:33
URLリンク(www.fnn-news.com)
591:デフォルトの名無しさん
09/03/15 11:58:57
>>585
関数呼び出し自体がレジスタを変えるというのに
どうやってそんな API を作ればいいんだよ
592:デフォルトの名無しさん
09/03/15 12:12:58
CONTEXT 構造体にアクセスしたいんじゃね?
593:デフォルトの名無しさん
09/03/15 12:16:30
GetThreadContextじゃねーの?
594:デフォルトの名無しさん
09/03/15 14:36:03
espやeipの値が変わる分は補正すればいいということか
595:デフォルトの名無しさん
09/03/15 14:49:11
GetThreadContextを呼んだ時点でeaxやedxは確実に変わってるだろが
596:デフォルトの名無しさん
09/03/15 14:51:40
だから補正しろつってるだろ。
597:デフォルトの名無しさん
09/03/15 14:51:52
CONTEXT構造体がローカル変数なら
特に何ともないと思うけど・・・
598:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/03/15 15:01:18
不確定性原理の話じゃないのかw
600:デフォルトの名無しさん
09/03/15 15:04:31
そんな糞実装になってんのか?
601:デフォルトの名無しさん
09/03/15 15:05:35
つーかインラインアセンブラ使えばいいのにAPIてw
あ、VBプログラマーの方でしたかサーセンwww
602:デフォルトの名無しさん
09/03/15 15:09:53
>>600
糞なのはお前だ
少なくともeax,ecx,edxは「関数側で自由に書き換えていいレジスタ」だ
そんな事も知らんのか
603:デフォルトの名無しさん
09/03/15 15:29:37
気にするな。
そもそも、MSDNライブラリには、SuspendThreadで止めてからやれって書いてあるんだ。
(経験上、動いているスレッドを指定してもエラーになることはないけど)
URLリンク(msdn.microsoft.com)
604:デフォルトの名無しさん
09/03/15 15:59:37
動いてる他スレッドなんか無意味だろ
API呼出から戻ってくる間にもスレッドが動きつづけていてレジスタの値が刻一刻と変わる
605:デフォルトの名無しさん
09/03/15 16:01:05
>>602
それが何か関係あるか?
レジスタのスナップショットを取りたいという目的を達成できてないじゃないのよ
606:デフォルトの名無しさん
09/03/15 16:04:32
>>605
お前がアホなのはよくわかった
607:デフォルトの名無しさん
09/03/15 16:05:27
お前がアホなのもよくわかった
608:デフォルトの名無しさん
09/03/15 16:07:10
つーかGetThreadContextはコンテキストスイッチが発生して退避した時の状態を返してるだけだろ。
レジスタを取得するAPIとか、頭悪すぎ。
609:デフォルトの名無しさん
09/03/15 16:10:54
なんだ、目的すら違うのか
610:デフォルトの名無しさん
09/03/15 16:12:04
レジスタのスナップショット(笑)
エミュレータでも作ってろ馬鹿
611:デフォルトの名無しさん
09/03/15 16:15:38
基本情報技術者レベルの知識すら無い人がなんでこのスレにいるのかねぇ・・・
612:デフォルトの名無しさん
09/03/15 16:32:31
システムコールも良く分かってないくせに糞実装とか
思わず微笑んじゃう
613:デフォルトの名無しさん
09/03/15 17:20:22
たとえば、
CのライブラリとWin32のAPIで同じ機能の関数があった場合
システムまで問い合わせる分APIのほうが遅くなるの?
614:デフォルトの名無しさん
09/03/15 17:44:59
うん
615:デフォルトの名無しさん
09/03/15 17:53:20
>>613
うわー頭悪そうな質問
616:デフォルトの名無しさん
09/03/15 18:03:21
同じ機能だと、Cのライブラリ関数も中でWin32のAPIを呼んでいたり
するんだよね
617:デフォルトの名無しさん
09/03/15 18:09:11
>>615
うわーーーーっ、超頭悪そう、嫌だ嫌だ
618:デフォルトの名無しさん
09/03/15 18:14:10
オウム返ししか出来ないアホは黙っててね
619:デフォルトの名無しさん
09/03/15 18:17:05
IPCの分遅くなるだろな
620:デフォルトの名無しさん
09/03/15 18:17:36
数日前から変なのが一匹住み着いてるな
たぶん目覚まし君が帰ってきたのだろう
621:デフォルトの名無しさん
09/03/15 18:18:48
>>615
は超楽しそうな奴と思うんだが、なっ、だろ
622:デフォルトの名無しさん
09/03/15 18:20:00
馬鹿はレスしなくていいよ
623:デフォルトの名無しさん
09/03/15 18:20:15
例えば、strcpyとlstrcpyAなら、
前者のほうがコンパイラの裁量でインライン展開される可能性がある。
そうでなくとも、strcpyのほうが速かった気がするが、
最近計ったわけではないからよく覚えていない。
あと、この2つはNULL渡したときの挙動が異なった気がする。
いい加減なことばかりですまん。
624:デフォルトの名無しさん
09/03/15 18:20:40
最終的にシステムコールになるけど、それがWinの場合APIだから
最終的にはAPIが呼ばれるだろう。
625:デフォルトの名無しさん
09/03/15 18:21:39
>>620は目覚まし?
626:デフォルトの名無しさん
09/03/15 18:24:19
>>625が目覚ましでした
627:デフォルトの名無しさん
09/03/15 18:26:26
>>623
同じようにlstrcpyAもインライン展開の可能性ないのか
628:デフォルトの名無しさん
09/03/15 18:27:41
>>627
APIをインライン展開て
馬鹿丸出し
629:デフォルトの名無しさん
09/03/15 18:29:12
>>623
インライン展開じゃなくてCompiler Intrinsicだろ。
630:デフォルトの名無しさん
09/03/15 18:35:46
strcpyくらいアセンブラで書けよ
631:デフォルトの名無しさん
09/03/15 18:40:11
コンパイラは境界や長さによって生成する機械命令を変えたりして
性能の最適化を図るんだけど
632:デフォルトの名無しさん
09/03/15 18:42:49
>>630 書いてくれ
633:デフォルトの名無しさん
09/03/15 18:44:50
今時strcpyなんて使わねーよ
634:デフォルトの名無しさん
09/03/15 18:49:46
目覚まし君の人気に嫉妬
誰か俺にもわかるように経緯教えてくれ
635:デフォルトの名無しさん
09/03/15 18:50:32
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
気軽に「こんなソフトありませんか?」 Part.104 [ソフトウェア]
【名無し限定】暇なので話しませんか?3925 [メンヘルサロン] <====
メンヘルに気合を入れて出入りしているのが、>>620の言う変なのか
636:デフォルトの名無しさん
09/03/15 18:57:19
>>633
strcpy使わないなら何使ってんだよ
637:デフォルトの名無しさん
09/03/15 18:59:05
_tcscpy
638:デフォルトの名無しさん
09/03/15 18:59:17
strcpy_s若しくはStringCchCopyにきまってるだろ
今時無条件にstrcpy使っちゃう人はJavaや.NETにした方がいいよ
639:デフォルトの名無しさん
09/03/15 19:18:57
>>636
windowsならStrsafe.hインクルードだろうが
ただ、俺はwin専業じゃないからstrcpyもよく使っている
640:デフォルトの名無しさん
09/03/15 19:22:38
ん? std::string 使うって話じゃなかったのか?
641:デフォルトの名無しさん
09/03/15 19:22:45
クロス環境だとstrcpyは現役だなぁ
それと、_s系って結局ラッパじゃねーの?
642:デフォルトの名無しさん
09/03/15 19:24:25
フツーに_tcscpy_sだと思うけど。
643:デフォルトの名無しさん
09/03/15 19:57:12
VS2005以降じゃねーかw
644:デフォルトの名無しさん
09/03/15 19:58:46
std::stringってなんでc_str()をthrow()にしなかったんだろ
おかげで肝心な所で微妙に使い難い
645:デフォルトの名無しさん
09/03/15 20:27:34
>>644
c_strが呼ばれた瞬間に'\0'を付加する実装も可能にするためだと思う。
646:デフォルトの名無しさん
09/03/15 20:35:25
>>644-645
スレ違いだから他所へ行ってね
647:デフォルトの名無しさん
09/03/15 22:56:32
_tcscpy_s
648:デフォルトの名無しさん
09/03/15 22:59:48
>>645
でも c_str() って O(1) って条件なかったっけ?
メモリの再確保したら条件満たさない気が
649:デフォルトの名無しさん
09/03/15 23:00:54
なぜソースを読まない
650:デフォルトの名無しさん
09/03/15 23:10:46
Win32APIスレでSTLの話するなクズ共
651:デフォルトの名無しさん
09/03/15 23:13:11
STLもAPIの一部だから別にいいじゃん
652:デフォルトの名無しさん
09/03/15 23:23:50
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
651 名前:デフォルトの名無しさん[] 投稿日:2009/03/15(日) 23:13:11
STLもAPIの一部だから別にいいじゃん
653:デフォルトの名無しさん
09/03/15 23:25:13
まあ、Win32API質問箱ってなってるけど実際にはWindows上でのプログラミング全般のスレだから。
STLとかMFCとか.NETの話題でも全然okなんだよね。
654:デフォルトの名無しさん
09/03/15 23:27:04
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
655:デフォルトの名無しさん
09/03/15 23:31:24
テンプレが古いままなんだよ。
次スレ立てるやつは修正しとくように。
656:デフォルトの名無しさん
09/03/15 23:54:40
653 名前:デフォルトの名無しさん[sage] 投稿日:2009/03/15(日) 23:25:13
まあ、Win32API質問箱ってなってるけど実際にはWindows上でのプログラミング全般のスレだから。
STLとかMFCとか.NETの話題でも全然okなんだよね。
653 名前:デフォルトの名無しさん[sage] 投稿日:2009/03/15(日) 23:25:13
まあ、Win32API質問箱ってなってるけど実際にはWindows上でのプログラミング全般のスレだから。
STLとかMFCとか.NETの話題でも全然okなんだよね。
653 名前:デフォルトの名無しさん[sage] 投稿日:2009/03/15(日) 23:25:13
まあ、Win32API質問箱ってなってるけど実際にはWindows上でのプログラミング全般のスレだから。
STLとかMFCとか.NETの話題でも全然okなんだよね。
653 名前:デフォルトの名無しさん[sage] 投稿日:2009/03/15(日) 23:25:13
まあ、Win32API質問箱ってなってるけど実際にはWindows上でのプログラミング全般のスレだから。
STLとかMFCとか.NETの話題でも全然okなんだよね。
653 名前:デフォルトの名無しさん[sage] 投稿日:2009/03/15(日) 23:25:13
まあ、Win32API質問箱ってなってるけど実際にはWindows上でのプログラミング全般のスレだから。
STLとかMFCとか.NETの話題でも全然okなんだよね。
653 名前:デフォルトの名無しさん[sage] 投稿日:2009/03/15(日) 23:25:13
まあ、Win32API質問箱ってなってるけど実際にはWindows上でのプログラミング全般のスレだから。
STLとかMFCとか.NETの話題でも全然okなんだよね。
653 名前:デフォルトの名無しさん[sage] 投稿日:2009/03/15(日) 23:25:13
まあ、Win32API質問箱ってなってるけど実際にはWindows上でのプログラミング全般のスレだから。
STLとかMFCとか.NETの話題でも全然okなんだよね。
653 名前:デフォルトの名無しさん[sage] 投稿日:2009/03/15(日) 23:25:13
まあ、Win32API質問箱ってなってるけど実際にはWindows上でのプログラミング全般のスレだから。
STLとかMFCとか.NETの話題でも全然okなんだよね。
653 名前:デフォルトの名無しさん[sage] 投稿日:2009/03/15(日) 23:25:13
まあ、Win32API質問箱ってなってるけど実際にはWindows上でのプログラミング全般のスレだから。
STLとかMFCとか.NETの話題でも全然okなんだよね。
657:デフォルトの名無しさん
09/03/15 23:57:57
最初にこのスレが立った頃はWin32アプリを作るにはWin32APIを使うのが主流だったし、
SDKのみで開発する人も珍しくなかったが、時代は変わったんだよ。
今やSDKのみで開発するのは一部の奇特な人だけで、大抵はMFCやWTLとか、.NETのP/Invokeから
APIを直接コールしないと出来ないような事をする時ぐらいしかAPIなんて使わない。
だから、時代と共に「Windowsでプログラミングする人へ向けた総合的なスレ」へと変わってきたわけだ。
658:デフォルトの名無しさん
09/03/16 00:04:58
だからってSTLはないだろ。
C++0xではstd::stringでも&s[0]できてAPI関数にも使えるぜ、とかなら辛うじて雑談の範疇だろうが。
659:デフォルトの名無しさん
09/03/16 00:11:44
別にそういうのはそういうのでスレを立てればいいだけの話
別に立てるなとは板ルールにも書いてない
660:デフォルトの名無しさん
09/03/16 00:16:26
>C++0xではstd::stringでも&s[0]できてAPI関数にも使えるぜ
いまもふつーにやってた
661:560
09/03/16 00:17:28
mouse_event, SendInputを調べてテストしてみたんですが、
mouse_eventはカーソルを目的の位置まで移動させてから
クリックとかする。
SendInputはウインドハンドルに向かってキーやマウスの挙動を送る
ってことであってます?
カーソル動かさずに目的の座標に向かってメッセージを送ることって可能でしょうか?
私が座標って言ってるのは相手のハンドルが取れないから、ボタンもどきの
ところに左クリックのメッセージを送ればいいんじゃないかと思い込んでるだけです。
何かヒントあったらください。
お願いします。
662:デフォルトの名無しさん
09/03/16 00:17:45
>>657
>一部の奇特な人だけ
....
だから基地外みたいなのか沸いてるのか、納得
663:560
09/03/16 00:47:58
ふと思ったんですが、SendMessageで出来るんですよね。
Lparamに座標入れても何も変化がないのは何で?
俺だけ?
664:デフォルトの名無しさん
09/03/16 01:08:56
じゃあ俺は奇怪な部類の人間だったんだな
665:デフォルトの名無しさん
09/03/16 02:06:23
今時SDKonlyで作ってる奴なんて単なるアホだろ
無印95でも動きます的な互換性重視のソフトなら兎も角
666:デフォルトの名無しさん
09/03/16 02:10:47
>>665
通常は98以上が多いけど、95が入らないのは何が原因なんだろ?
667:デフォルトの名無しさん
09/03/16 02:25:06
GUIでもないのにMFC使う奴とか脳みそ膿んでるとしか思えないよな
668:デフォルトの名無しさん
09/03/16 02:27:23
>>664
>今時SDKonlyで作ってる奴なんて単なるアホだろ
違うと思うよ
宗教的信念をもってプログラムを作っている奇怪な人
669:デフォルトの名無しさん
09/03/16 02:35:54
宗教は確かにあるなあ
670:デフォルトの名無しさん
09/03/16 02:36:36
スキルの無い奴黙って.NETかHSPでもやってろよ
より低水準がいいに決まっている
671:デフォルトの名無しさん
09/03/16 02:36:45
最近はSDKオンリーで作ってる人の方がスキル低かったりするからなぁ
平気でリークしまくってたり間違ったコード書いてたりするし
この前のInputBox作った人とか、テンプレにある●の所とかがいい例
672:デフォルトの名無しさん
09/03/16 02:40:12
だ・か・ら スキルの無い奴は高水準言語使えと
673:デフォルトの名無しさん
09/03/16 02:40:49
>>670
低水準の意味わかってる?
674:デフォルトの名無しさん
09/03/16 02:45:27
もうだめだこのスレ
675:デフォルトの名無しさん
09/03/16 02:56:57
スキルが無いからAPIで作ってるんじゃないの?
スキルのある人はMFCでもWTLでもVCLでも.NETでも何でも使えるから
開発効率と実行効率を考慮した上で取捨選択するでしょ
676:デフォルトの名無しさん
09/03/16 06:03:35
>>661
間違ってる。
だから、ボタンもどきが乗ってるウィンドウに WM_LBUTTONDOWN じゃだめなの?
677:デフォルトの名無しさん
09/03/16 06:46:34
そんな泥臭いことをやるなら、WM_LBUTTONUPも送ろうよ。
678:デフォルトの名無しさん
09/03/16 07:44:49
MFCから入っても
いずれWin32APIを理解しないとならなくなる
679:560
09/03/16 08:27:12
>>676
sendomessageで WM_LBUTTONDOWN を送ったりもしたんだけど、
反応がないんです。
ボタンもどきが5個並んでいて、これをまとめて一つのウィンドウに
なってるみたいでハンドル自体は取得できます。(SPYで調べた。)
SendMessage(Modoki_HND, WM_LBUTTONDOWN ,0,LPARAM(50,50))
みたいに送ってるんですが、反応がないんです。
LPARAMの座標ってハンドルの領域の座標になるんですよね?
何度もすみません。
680:デフォルトの名無しさん
09/03/16 08:28:58
デスクトップ座標じゃねーの?
知らんけど
681:デフォルトの名無しさん
09/03/16 08:57:03
>>675
うん。その結果大抵はSDK/DDKベースになるんだよ。
みょーなwrapperがあると、少し標準的でないことをやろうとするとやたらと手間がかかるんだ。
wrapperは薄い方が実は使いやすいんだよ。
もっともいわゆるOLE関連や、マルチメディア関連を取り扱うときはATL/WTLなんかも使うよ。
>>679
そもそも、WM_LBUTTONDOWNでチェックしていない可能性もある。
ちゃんと、WM_LBUTTONUPも送った?
いずれにしても、まずSendInputで動作することを確かめてから次へ進んだ方がいいですよ。
682:デフォルトの名無しさん
09/03/16 09:11:40
MFCやWTLの凄い所は使っているうちに自然とAPIの関数が覚えられる
683:デフォルトの名無しさん
09/03/16 09:16:11
全然、凄くない
684:デフォルトの名無しさん
09/03/16 09:18:45
>>679
L_Down & Upでは動かないこともある。
そういう時はBM_CLICK送ってみ
685:デフォルトの名無しさん
09/03/16 09:18:49
みょーなwrapperの例
URLリンク(www.kt.rim.or.jp)
CSocket はなぜ有害か?
MFCはお手軽だけど
まあ状況に応じて使い分けだな
686:デフォルトの名無しさん
09/03/16 09:24:45
>>681
>マルチメディア関連を取り扱うときはATL/WTLなんかも使うよ
作る物にもよるがそこは低水準APIを使って欲しいところ
687:デフォルトの名無しさん
09/03/16 09:43:43
マルチメディア関連でATL/WTLなんて使うか?
精々DirectXでCComPtr使えて便利だねーぐらいじゃねーの?
688:デフォルトの名無しさん
09/03/16 09:50:01
>>681の「マルチメディア関連」ってDirectXの事なのか?
Multimedia APIのどこでATL/WTLを使うのか考えてしまっただろw
689:デフォルトの名無しさん
09/03/16 14:15:25
初心者スレから誘導されました
クライアント領域のみをキャプチャーする方法ってありますか?
C言語です
環境はWindowsXPです
よろしくお願いします
690:デフォルトの名無しさん
09/03/16 14:18:24
自分しか分からない用語を並べられても・・・
クライアント領域って何だよ。
自分のプログラムで作ったウィンドウのクライアントエリアか?
キャプチャーとは画面に出てる部分を静止画で取得したいとかそういうこと?
691:デフォルトの名無しさん
09/03/16 14:25:17
クライアント領域って普通使わないんですか?
そうとは知らず失礼しました
はい。自分で作ったウィンドウのクライアントエリア(?)を、静止画で取得したいと言うことです
画像の形式は問いません
692:デフォルトの名無しさん
09/03/16 14:28:48
>>689
Win32APIということなら
キャプチャしたいウィンドウのウィンドウハンドルが分かっていれば
GetDCでクライアント領域のデバイスコンテキストを取得できるから
後はBitBltなり何なりでキャプチャ先に領域の画像をコピーすればいい
使い終わったらReleaseDCするのを忘れずに
693:デフォルトの名無しさん
09/03/16 14:32:38
BitBltは何て読んでる?
やっぱビットブリット?
694:デフォルトの名無しさん
09/03/16 14:37:19
ビットブロックトランスファー
695:デフォルトの名無しさん
09/03/16 14:38:03
block transferだからブリットって読み方は最初違和感があったけど慣れた
ビットブリットでたいていの相手に通じるし
696:デフォルトの名無しさん
09/03/16 14:40:02
なんとなく、ビットビーエルティーと呼んでた
697:デフォルトの名無しさん
09/03/16 14:42:45
ビットブロック転送でごわす
698:デフォルトの名無しさん
09/03/16 14:52:07
Vistaで、シェル名前空間POP3拡張を作っていますが、全部を書かないといけないのでしょうか。
MailBox\1\body.txt (メール本文)
MailBox\1\添付.jpg (あれば添付ファイル)
MailBox\2\body.txt (2件目本文)
具体的には、このような拡張を作っていて、ファイルリストを表示するところが完成しました。
次に、アイコンの取得、コンテキストメニューの表示、ダブルクリックで開くなどを組み込もうと調べて、
それらしい関数(SHCreateDefaultContextMenu, SHCreateDefaultExtractIcon)を
今回実装したIShellView.GetUIObjectOfから使ってみたのですが、アイコンは真っ白だし
メニューは何も表示されませんでした。
(メニューは自分でIShellExtInit,IContextMenuを実装したら動きました)
エクスプローラの機能をお手軽に使うことはできないのでしょうか。
699:デフォルトの名無しさん
09/03/16 15:14:12
2Dで、ひぐらしみたいなエフェクト実装したいんだけど
ガラスが割れるようなエフェクトを表示する関数ある?
700:デフォルトの名無しさん
09/03/16 15:15:16
意味がわかりません。
701:デフォルトの名無しさん
09/03/16 15:17:48
意味がわかりません。
702:デフォルトの名無しさん
09/03/16 15:18:51
>>699をエスパーしてみた
ようは、FFなんかで戦闘に突入するときに使われてるようなエフェクトを発生させる関数が無いか聞いてるんだろ?
誰か、病院呼べ
703:デフォルトの名無しさん
09/03/16 15:25:05
病院は呼べません。
704:デフォルトの名無しさん
09/03/16 15:26:31
call hospital
705:デフォルトの名無しさん
09/03/16 15:28:29
マジレスばっかwwwww
706:デフォルトの名無しさん
09/03/16 15:41:17
呼ぶだけならできるよ
707:デフォルトの名無しさん
09/03/16 15:44:58
病院が来てくれることもあるしな
708:デフォルトの名無しさん
09/03/16 15:45:47
エスパーなら余裕
709:デフォルトの名無しさん
09/03/16 15:49:31
>>702
それです!!教えてください
710:デフォルトの名無しさん
09/03/16 16:25:33
あるわけないだろ
711:デフォルトの名無しさん
09/03/16 16:26:39
>>702は病院に行った方がいい
712:デフォルトの名無しさん
09/03/16 16:30:56
>>709
ないの!?
713:デフォルトの名無しさん
09/03/16 16:33:47
ひぐらしもFFも知らないけど、質問者は単純なワイプとかのエフェクトは書けるのかい?
714:デフォルトの名無しさん
09/03/16 16:42:44
かけないからAPIありますかって聞いてるんですよ。馬鹿ですか?
715:デフォルトの名無しさん
09/03/16 16:43:22
素直に「ありません」と書いて、お引取り願おうぜ
716:デフォルトの名無しさん
09/03/16 16:43:50
クソガキが帰宅する時間帯になると途端に糞レスが増えるねぇ
717:デフォルトの名無しさん
09/03/16 16:43:50
>>714
ゲームSDK とかで探せ
Win32API には無い
718:デフォルトの名無しさん
09/03/16 16:45:49
馬鹿はレスしなくて結構です
719:デフォルトの名無しさん
09/03/16 16:52:58
>>715-717
知らないならレスするなクズ共
720:デフォルトの名無しさん
09/03/16 16:55:25
>>719
キモイからレスするなクズ君
721:デフォルトの名無しさん
09/03/16 17:13:42
ここってもう>>720みたいなクズしかいなくなったのかな・・・
722:デフォルトの名無しさん
09/03/16 17:15:59
そんなこと無いよ
>>721みたいなクズも居る
723:デフォルトの名無しさん
09/03/16 17:21:19
>>721
お前が一番クズだから余計な心配しなくていいよ。
724:デフォルトの名無しさん
09/03/16 17:30:17
終わったなこのスレ・・・もうクズしかいない
725:デフォルトの名無しさん
09/03/16 17:38:48
>>719=>>721=>>724
もう来ないでね
726:デフォルトの名無しさん
09/03/16 17:42:18
はい
わかりました
二度と来ません
すみませんでした
727:デフォルトの名無しさん
09/03/16 17:43:08
ゲームのエフェクトがWIN32APIにあるかもしれないという発想は斬新だな
とても褒められた発想じゃないが
728:デフォルトの名無しさん
09/03/16 17:45:59
ここだけじゃなく他でもだいぶ増えたよ
PCで目玉焼きは作れますか的な質問
729:デフォルトの名無しさん
09/03/16 17:48:05
時期的な問題だろ…
来月になりゃ平常に戻る
たぶん
730:デフォルトの名無しさん
09/03/16 17:49:56
PCの普及に伴いやってる事に知識が追いついていない
プログラミングの知識じゃ無く全般的な知識が
731:デフォルトの名無しさん
09/03/16 17:50:03
>>728
GPUの上に卵乗せれば作れるんじゃね?
732:デフォルトの名無しさん
09/03/16 17:52:42
それじゃ>>728が馬鹿みたいじゃないかwwwwwwwwwwww
733:デフォルトの名無しさん
09/03/16 17:53:30
なんで?
734:デフォルトの名無しさん
09/03/16 17:53:44
あ、ごめん。馬鹿だったんだ。
735:デフォルトの名無しさん
09/03/16 17:56:32
例えがヘタクソだな
736:デフォルトの名無しさん
09/03/16 17:57:18
例えば?
737:デフォルトの名無しさん
09/03/16 17:58:49
PCはやろうと思えば何でも出来る万能の機械でプログラムは何でも作れる魔法の言葉
APIや関数やライブラリはそれが簡単に出来る何でも詰まってる便利なもの
マイクロソフトが用意したものなんだから何でもかんでも関数一つで実現できる
ぐらいの認識と予想
738:デフォルトの名無しさん
09/03/16 18:00:18
そこまで気にして例えた訳じゃないんだけどなあ
そんなに悔しかった?
739:デフォルトの名無しさん
09/03/16 18:00:28
>>732
作れないよ
740:デフォルトの名無しさん
09/03/16 18:06:01
>>737
必死すぎワロタwwwwwwwwwwwwwwwwwwwwwwwwwww
741:デフォルトの名無しさん
09/03/16 18:29:36
sageてない馬鹿の認識を推測したんだがタイミングが悪かったようだ
742:デフォルトの名無しさん
09/03/16 18:34:01
go to postal
743:デフォルトの名無しさん
09/03/16 18:34:18
>>741
m9(^Д^)プギャーーーッ
744:デフォルトの名無しさん
09/03/16 18:43:44
>>741
単に図星だったやつが煽ってるだけだろ、気にスンナ
745:デフォルトの名無しさん
09/03/16 18:50:27
>>744=図星だったやつ
746:デフォルトの名無しさん
09/03/16 18:54:42
>>744
図星だったんですね。わかります。
747:デフォルトの名無しさん
09/03/16 19:05:19
>>744=>>746
何がしたいの?
748:デフォルトの名無しさん
09/03/16 20:26:10
今日も基地外スレ化したのか
749:デフォルトの名無しさん
09/03/16 20:42:04
SDKに慣れることが出来なかった奴らが異常にファビョっててワロタ
750:デフォルトの名無しさん
09/03/16 20:43:50
DVDを取り出すことはできるようになったのですが、DVDのふたを閉じるにはどうすればいいのでしょうか。
お教えください。
751:デフォルトの名無しさん
09/03/16 20:44:46
おまいらほんと仲がいいなw
見ててほのぼのするわw
752:デフォルトの名無しさん
09/03/16 20:45:43
>>750
出てきたトレイを押すかドライブについているボタンを押してください
753:デフォルトの名無しさん
09/03/16 20:47:11
SDKできないやつがデバイスドライバ開発に
すんなり以降できるとは思えない。
デバドラは未だにDDK主体だし。(WDKとかでてきてるが)
754:デフォルトの名無しさん
09/03/16 20:50:15
指定したポートがestablishedかどうかを調べるにはどうしたら良いのでしょうか
755:デフォルトの名無しさん
09/03/16 21:12:42
>>728
URLリンク(xe.bz)
URLリンク(xe.bz)
756:デフォルトの名無しさん
09/03/16 21:19:20
上のは失敗してるし
コンセントの代わりにUSBから電源取ってるだけじゃねぇか
757:デフォルトの名無しさん
09/03/16 21:45:56
DDKとか飛躍しちゃってるアホがいるな
758:デフォルトの名無しさん
09/03/16 21:49:39
ハイエンドGPUをOCしてぶん回せば目玉焼きぐらい余裕だろ
真夏のマンホールの蓋でも焼けるんだし
759:デフォルトの名無しさん
09/03/16 23:14:30
DialogBox → EndDialogで
A→B→A→…
ダイアログボックスをループさせているんですが
23回ぐらいでダイアログが閉じてしまうんですけど
何が問題なんでしょうか?
760:デフォルトの名無しさん
09/03/17 00:01:14
Google Chrome にもWTLの一部が。
Chromeが使用してるライブラリの一覧にちゃんとWTLも書かれてる。
URLリンク(code.google.com)
761:デフォルトの名無しさん
09/03/17 01:11:55
>>759
コードくらいさらせ
762:デフォルトの名無しさん
09/03/17 03:41:51
>>761
LRESULT CALLBACK ダイアグBOX1
case IDC_B1:
EndDialog(hDlgWnd, IDOK);
hInst = (HINSTANCE)GetWindowLong(hDlgWnd, GWL_HINSTANCE);
DialogBox(hInst, MAKEINTRESOURCE(IDD_A2), hDlgWnd, (DLGPROC)DlgProcAI2);
break;
LRESULT CALLBACK ダイアグBOX2
case IDC_OK:
EndDialog(hDlgWnd, IDOK);
if(MAX > num)
{
hInst = (HINSTANCE)GetWindowLong(hDlgWnd, GWL_HINSTANCE); num++;
つづく
763:デフォルトの名無しさん
09/03/17 03:43:59
つづきです
DialogBox(hInst, MAKEINTRESOURCE(IDD_A), hDlgWnd, (DLGPROC)DlgProcA);
}
else monum=0;
break;
MAX=最大数(500とか) num=現在の回数。
画面にIDD_AのダイアルグBOXがあります。
ボタン B1を押しすと、ダイアログBOXが閉じてBOX2が表示される
ボタン OKを押すとダイアログBOX2が消えてBOX1が表示される
23回ぐらいやるとダイアログが閉じてしまいます。
何が原因なんでしょうか?
764:デフォルトの名無しさん
09/03/17 06:21:43
MAKEINTRESOURCE(IDD_A2)
↑全角
つーかそもそもコンパイル出来てるのか?w
765:デフォルトの名無しさん
09/03/17 06:36:12
LRESULT CALLBACK ダイアグBOX1
case IDC_B1:
出来てる訳がない罠
766:デフォルトの名無しさん
09/03/17 07:14:03
> 何が原因なんでしょうか?
脳内コードを脳内コンパイルしてるからだろ
767:デフォルトの名無しさん
09/03/17 07:23:26
今日も荒れまくりのよかーん
768:デフォルトの名無しさん
09/03/17 07:59:26
ageて荒れるネタを投下する基地外が常駐してるからな
769:デフォルトの名無しさん
09/03/17 08:09:58
どうやら分かってもらえなかったようですね
質問し直しますね
ダイアログボックスをリソース追加で
A、B二つ用意しました
そのダイアログボックスに
ボタンを作って
指定回数代わり番こに表示させたいのですが
教えてください
770:デフォルトの名無しさん
09/03/17 08:44:09
DialogBoxの戻り値チェックしてGetLastErrorしたら?
771:デフォルトの名無しさん
09/03/17 09:14:17
>>769
何だそのカタコト日本語
772:デフォルトの名無しさん
09/03/17 09:18:18
EndDialog したダイアログを親にしてるから
773:デフォルトの名無しさん
09/03/17 09:19:32
> 指定回数代わり番こに表示させたいのですが
何を表示させるの?
> 教えてください
何を教えてほしいの?
目的語が抜けすぎ
小学生でももう少しマシな文章が書けるだろw
774:デフォルトの名無しさん
09/03/17 09:23:50
日本語を読めない馬鹿はレスして戴かなくて結構です
775:デフォルトの名無しさん
09/03/17 09:28:06
>>774
失せろゴミ
776:デフォルトの名無しさん
09/03/17 10:11:02
mspaintのクローンを作っています。
URLリンク(www.geocities.jp)
自由選択とテキスト挿入をサポートしたいんですが、できますか?
777:デフォルトの名無しさん
09/03/17 10:14:12
言ってる意味がわからんけど
クローン=mspaintとまったく同じ
だったら実現できないわけがない
778:デフォルトの名無しさん
09/03/17 10:15:46
私にはできませんが、世の中にはできる人もいるでしょう
779:デフォルトの名無しさん
09/03/17 10:22:33
>>776
宣伝したいだけのクズは来るな
780:デフォルトの名無しさん
09/03/17 10:26:19
>>779
非難したいだけの(ry
781:デフォルトの名無しさん
09/03/17 12:37:50
テンプレに「宣伝するな」なんて書いてないんだから別にいいだろ
少なくとも、宣伝すらできない(=何も作れない)馬鹿には文句言われたくないね
782:デフォルトの名無しさん
09/03/17 12:56:13
>テンプレに「宣伝するな」なんて書いてないんだから別にいいだろ
その理屈はどうかな。たいていの映画館には焼肉するなと書いてないから
館内で焼肉をしてもいいことになるぞ
それはさておき776は余計な説明を省くために最初の2行を書いたのだろう
783:デフォルトの名無しさん
09/03/17 13:08:37
>>776
バカにはムリ
784:デフォルトの名無しさん
09/03/17 13:10:54
というか宣伝にすらなってないだろ
mspaintにも劣るペイントソフトなんて
785:デフォルトの名無しさん
09/03/17 13:16:33
>>783
君みたいな天才なら可能かな?
786:デフォルトの名無しさん
09/03/17 13:22:30
>>785
お前さ、ここ最近ずっと粘着してる基地外だろ?
頼むから消えてくれないかな
787:デフォルトの名無しさん
09/03/17 13:47:08
ここまで自演
788:デフォルトの名無しさん
09/03/17 13:54:30
また始まったか
789:デフォルトの名無しさん
09/03/17 14:15:37
>>788
てめーが来んな
790:デフォルトの名無しさん
09/03/17 14:30:48
他人が書いたソースってなんであんなに汚く見えるんだろうね。
自分が書いたものは既に理解できているから、
纏まっているように、散らかっていないように見えるけど、
いつもと違うエディタで開いてみたりすると、やっぱり、
見易くも無い。フツーに、入り組んで散らかってるように見える。
791:デフォルトの名無しさん
09/03/17 14:39:05
次の独り言をどうぞ
792:デフォルトの名無しさん
09/03/17 14:45:54
ば、、ぼくは、
793:デフォルトの名無しさん
09/03/17 15:19:44
うんこを漏らしました><
794:デフォルトの名無しさん
09/03/17 15:38:03
次の自演をどうぞ
795:デフォルトの名無しさん
09/03/17 15:50:28
自演ど
796:デフォルトの名無しさん
09/03/17 17:16:57
>>782=>>776
余計な説明を省くためにわざわざ宣伝ご苦労様です
797:デフォルトの名無しさん
09/03/17 17:20:26
次の患者さんどうぞ
798:デフォルトの名無しさん
09/03/17 17:53:17
>>776
こんなのよくC+SDKで作る気になったな
本物のペイントですらMFC使って手抜きしてるのにw
つーかペイントってソースコード公開してなかったのか?
ワードパッドは公開してるみたいだが
799:デフォルトの名無しさん
09/03/17 17:59:12
うんこのくせになまいきな
800:デフォルトの名無しさん
09/03/17 18:02:57
まあペイントそのものはMFCの無い16bitのころからあったけどな。
囲みツールはリージョン、テキスト入力は入力中は別ウィンドウ作ってるよ。
801:デフォルトの名無しさん
09/03/17 18:07:41
そうですか。
802:デフォルトの名無しさん
09/03/17 18:15:21
16bitの頃はペイントブラシじゃなかったか?
95を初めて入れた時に実行ファイル(pbrush.exe)だけ残っててワロタが
803:デフォルトの名無しさん
09/03/17 18:16:16
>>801
そうですかじゃないだろ、礼を言えよ。
804:デフォルトの名無しさん
09/03/17 18:17:01
すいません、ありがとうございました。
805:デフォルトの名無しさん
09/03/17 18:58:34
質問させてください
マウスフックするプログラムを作っていて
マウスでカーソルを移動させようとしても画面上のカーソルは移動しないようにしたいのです
WM_MOUSEMOVEを取得してなかったことにしようとしてもうまくいかず
悩んでいます。
どのメッセージを取得し、どのような処理をすれば
マウスの移動入力をなかったことにできるでしょうか?
806:デフォルトの名無しさん
09/03/17 19:04:06
トロイ作るの?
807:デフォルトの名無しさん
09/03/17 19:31:02
フックの類の話題は荒れる元なので禁止
808:デフォルトの名無しさん
09/03/17 19:44:41
ローレベルマウスフックなら握り潰せるんじゃなかったっけ
809:デフォルトの名無しさん
09/03/17 20:44:06
荒れる話題は禁止とか言うやつって馬鹿なの?
そんなこと言ってると最終的には「Win32APIの話題は荒れるので禁止」って結論になるでしょうに
810:デフォルトの名無しさん
09/03/17 20:56:04
ならんだろ
馬鹿か?
811:デフォルトの名無しさん
09/03/17 20:58:48
うん
812:デフォルトの名無しさん
09/03/17 21:41:41
今日も基地外いっぱい来たんだね
813:デフォルトの名無しさん
09/03/17 21:52:22
ようクズ
814:デフォルトの名無しさん
09/03/17 22:53:01
もうだめだこのスレ
815:デフォルトの名無しさん
09/03/17 22:58:08
>>805
フィルタドライバ書けばOK
816:デフォルトの名無しさん
09/03/17 23:09:53
>>805
フィルタドライバに決まってるだろjk
817:デフォルトの名無しさん
09/03/17 23:12:59
>>805
フィルタドライバを作ってみてはいかが?
818:808
09/03/17 23:21:26
おれは無視?
819:デフォルトの名無しさん
09/03/17 23:28:32
フィルタドライバ以外は無視でおk
820:デフォルトの名無しさん
09/03/17 23:40:40
実行ファイルのアイコンを自前の.icoファイルのアイコン画像にしたいのですが
windowsクラスの
wc.hIcon=loadIcon(hInst,"アイコンファイル名");
とやってみましたが、何も変わりませんでした。
アイコン設定するサンプルプログラムとか公開してるサイトありますか?
821:805
09/03/17 23:41:19
みなさん、様々なレスありがとうございました。
>>808さんのアドバイスで
先ほどやっと希望の動作ができました。
ありがとうございます。
822:デフォルトの名無しさん
09/03/17 23:41:53
>>820
リソースIDの一番小さなアイコンにすればおk
823:デフォルトの名無しさん
09/03/17 23:47:53
> アイコン設定するサンプルプログラムとか公開してるサイト
むしろそれを公開してないWin32APIのサイトを教えてくれw
824:デフォルトの名無しさん
09/03/18 00:25:09
今日の昼もキチさんたちがんばってね
825:デフォルトの名無しさん
09/03/18 01:48:23
>wc.hIcon=loadIcon(hInst,"アイコンファイル名");
これはツッコむところなのか?
826:デフォルトの名無しさん
09/03/18 01:49:52
重隅
827:デフォルトの名無しさん
09/03/18 02:19:17
LoadImageの間違いだな
828:820
09/03/18 09:08:47
LoadImageでやってみたら
ウィンドウの左側に自作アイコンが表示されてました
でもexeファイルの画像は変わりませんでした
VC++EE2008じゃ できないっぽいですね
ありがとうございました。
829:デフォルトの名無しさん
09/03/18 09:41:13
リソースコンパイラはEEにも付属してるから
ちょっと工夫すりゃできるよ
830:デフォルトの名無しさん
09/03/18 10:22:54
どう見たってリソースを分かってないだろ
831:デフォルトの名無しさん
09/03/18 10:43:13
wc.hIcon=loadIcon(hInst,"アイコンリソース名");
832:デフォルトの名無しさん
09/03/18 17:30:55
EEなんて使ってないでStandard以上を買え
金が無いならバイトでもして買え
833:デフォルトの名無しさん
09/03/18 17:43:37
別にSandardなんて買わなくてもeVC4でもインストールすれば済む話なのに
834:デフォルトの名無しさん
09/03/18 18:02:46
>>6の参考サイトにある
>●Win32API(C言語)
>URLリンク(www.geocities.jp)
には●が付いていますが、これは何か意図があるんですか?
間違いだらけであるとか・・・
835:デフォルトの名無しさん
09/03/18 18:27:30
>>834
そうだよ。
836:デフォルトの名無しさん
09/03/18 18:46:34
拾って来たサンプルのアイコンだけ差し替えればいい
837:デフォルトの名無しさん
09/03/18 20:34:38
MyClass::SetHook() の中で
SetWindowsHookEx(WH_CALLWNDPROC, MyHookProc, NULL, GetCurrentThreadId());
してローカルフックしてみたのですが、MyClass::MyHookProc() の中で this を使うには、
どうしたらいいでしょうか。
SetWindowLongPtr で GWL_WNDPROC のときは、ATL::CStdCallThunk でいけるっぽいですが。
838:デフォルトの名無しさん
09/03/18 20:36:31
え?ローカルなら別に・・・
839:デフォルトの名無しさん
09/03/18 20:45:02
グローバルに置いておけば良いだけだろjk
840:デフォルトの名無しさん
09/03/18 21:55:16
すいません呼び出し元のコンテクストで実行されると思い込んでいました。
841:デフォルトの名無しさん
09/03/18 22:07:49
SetWindowsHookEx用のthunkを作るという解決策もある
842:デフォルトの名無しさん
09/03/18 23:39:34
インスタンス複数でローカルフックしてもグローバル?
843:デフォルトの名無しさん
09/03/18 23:55:22
thunk作れっていわれて作れるものなのか、あれx86のコード手書きみたいなものじゃ
844:デフォルトの名無しさん
09/03/19 00:12:06
アセンブリ知ってりゃ作れるだろ
>>837がどの程度のスキルか知らんが
845:デフォルトの名無しさん
09/03/19 00:29:30
まあ、クラスのメソッドを直接コールバックにできるthunkとか作っとけばstaticを経由しなくて済むし便利だけどな。
難点は、CPUに依存してしまうのとデータ実行防止に気をつける必要があるぐらいだが、
後者はATLを使ってるなら割と簡単に解決できた。
846:デフォルトの名無しさん
09/03/19 07:39:18
ローカルフックなんだろ?
なんでそこまで難しく考えるのか分からんw
847:デフォルトの名無しさん
09/03/19 12:58:43
個々のインスタンスのメソッドであるフック関数でそれぞれの this を取得する方法だから、
ローカルフックかどうかに関係なく、SetWindowLongPtr と同じ問題なんじゃないかと思ったのですが。
map のグローバル変数に入れるにしても、何をキーにしたらいいのかなと。
848:デフォルトの名無しさん
09/03/19 15:27:26
ウィンドウハンドルから、そのコントロールがエディット系(キャレットが表示され文字を打ち込める)であるか
どうかを知る方法はありますか?
クラス名EDITかどうかは取得できるんですが、その他のクラス名だと判別できません…。
849:デフォルトの名無しさん
09/03/19 15:41:12
うんこしてくる
850:デフォルトの名無しさん
09/03/19 16:42:29
GetClassEX
851:デフォルトの名無しさん
09/03/19 16:58:22
IsEditable(HWND hCtrl);
852:デフォルトの名無しさん
09/03/19 23:53:15
SCROLLBARをサブクラス化したらコンテキストメニューが出なくなったんだが・・
CallWindowProc丸投げなのに、何で?
853:デフォルトの名無しさん
09/03/20 00:57:46
SCROLLBARをサブクラス化したからでしょ。
854:デフォルトの名無しさん
09/03/20 07:43:47
あー。これで規定動作なの?
何か腑に落ちない気がしたから訊いたんだけど
それで正常ってんなら気にせず続きを書く事にするわw
トン
855:デフォルトの名無しさん
09/03/20 19:37:27
>>848
ある、ていうかググレよ、ほらよ
URLリンク(www.theync.com)