[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/10 00:36 / Filesize : 205 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Win32API質問箱 Build77



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/

357 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 20:48:00 ]
>>356 レスサンクス。
もっと、初期の段階だったらそれも考えれるのですが、、、ここの部分組んだらプログラム完成するんです、、、。

DrawTextの第4引数のRECT構造体の値があるんですが、
これって、マイナスの値入れるのは危険ですか?

RECT rc;
GetClientRect( hWnd, &rc );
rc.top -= 100;

358 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 20:48:54 ]
GDI+の用途って画像ファイルの入出力とアンチエイリアスつきのベクタ描画ぐらいじゃね

359 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 21:01:11 ]
>>357
問題はない。

360 名前:357 mailto:sage [2009/03/11(水) 21:04:13 ]
>>359 レスありがとん。
それを聞いて安心しました。
あとは、テキストのたての長さを割り出す作業だけでいけそうです。
ありがとうございました。

361 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 21:48:35 ]
メモリDCに最初から全部描いておいて、スクロールの都度、必要な部分だけBitBltする手もあるぞ

362 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 21:58:41 ]
早く数学を教えてください。
待て待て

363 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 22:49:25 ]
>>354それもそうですね。
>>358GDIだけだと結構やりたいこと出来ないんですよ・・・

364 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 23:24:54 ]
CloseHandleの戻り値って確認してる?
正しいハンドルを渡してもエラーになる場合ってどんなとき?

365 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 23:27:49 ]
::GetLastError()



366 名前:デフォルトの名無しさん [2009/03/11(水) 23:38:41 ]
>>351
アホ乙w

367 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 00:15:36 ]
>>364
通信系だと、通信不良とか?

368 名前:デフォルトの名無しさん [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 01:00:26 ]
Dataの型は DATA か DATA* か? 前者なら間違い

370 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 01:01:18 ]
肝心の受け取り部分が書いてないが
((PROPSHEETPAGE*)lParam)->lParamにしてるか?

371 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 01:57:57 ]
>>364
ディクス書き込みで、フラッシュ時に IO エラーが発生するとか、
ディスクフルになるとか。

372 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 08:34:59 ]
>>371
ファイル書き込みは遅延書き込みありでキャッシュされているから、
CloseHandle()の戻り値では、アプリケーションからディスクI/O時の
エラーは検出されないと思う。イベントログに上がるだけでは?

キャッシュを書き戻す処理に関係なく、キャッシュとディスク上の配置は
マップ管理されていると思うので、ディスクフルはWriteFile()の戻り値で
エラーが返されるはず。

当然だが、オープンされていない間違ったハンドルを渡せばエラーが返る。

373 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 12:26:27 ]
          ____
        /_ノ  ヽ、_\
 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)
| / / /     |r┬-|    | (⌒)/ / / //  >>366 そんなこと言うなよ。仲間だろ?wwwwwww
| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/
|     ノ     | |  |   \  /  )  /
ヽ    /     `ー'´      ヽ /    /     バ
 |    |   l||l 从人 l||l      l||l 从人 l||l  バ   ン
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、    ン
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

374 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 18:11:18 ]
ボタンの描画についての質問です。
グループボックスや、ラジオボタンが描画されるとき、文字列描画部分の背景色を透過することはできないでしょうか。

MSDNを読むとWM_CTLCOLORBTNはオーナードローのボタンでないと、意味が無いということで (実際無理でした)
サブクラス化をして、WM_ERASEBKGNDを捕まえて何も処理せずにreturnしたり、
GetClassInfoEx → styleメンバに CS_OWNDC を OR演算 → 新しいクラス登録、その後 WM_CREATE でSetBkMode(hdc,TRANSPARENT)を試してみたりしましたが、どちらもできませんでした。
ボタンの描画自体はデフォルトの処理を任せたいのですが、何か方法はないでしょうか。

375 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 18:16:18 ]
WS_EX_TRANSPARENTを指定してWM_CTLCOLOR〜でNULLブラシを返せば?



376 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 18:30:15 ]
>>375
レス有難う御座います。
試してみましたが、変化が現れませんでした。

377 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 18:32:15 ]
WM_CTLCOLORBTN or WM_CTLCLORSTATIC にて

SetBakMode( hDC, TRANSPARENT);
return (HBRUSH)GetStockObject( NULL_BRUSH);

378 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 18:50:07 ]
>>377
コンパイルエラーだろバカ

379 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 18:56:37 ]
STATICコントロールは WM_...STATIC で透過させることが出来ますが、
BUTTONコントロールはどうもうまくいかないみたいです・・・。
素直に諦めることにします。

380 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 19:03:33 ]
普通に可能なんだが・・・

ああ馬鹿なのね

381 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 19:21:27 ]
面倒だから煽らなくていいです

382 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 19:57:00 ]
>>380はわかってない馬鹿とみた

383 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 20:03:24 ]
>>382
ん?悔しかったの?www

384 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 20:07:28 ]
ラジオボタンやグループボックスの背景なら>>375>>377が書いてる方法で透過するだろ。
前にそういうコード書いたことあるし。

385 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 20:46:16 ]
>>384
新しくプロジェクトを始めて、ダイアログベースではないウィンドウ上で試してみたら、成功しました。
リソースから作ったダイアログ上のタブコントロールの上にこれらのBUTTONコントロールを配置した時に、見栄えが悪かったため
最初の質問をさせていただきましたが、グループボックスをリソースからではなく、
WM_INITDIALOG内にて、親ウィンドウをタブコントロールとして生成したところ、やりたかったことを実現することが出来ました。
レスしてくれた方々、有難う御座いました。





386 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 20:58:08 ]
>最初の質問をさせていただきましたが、グループボックスをリソースからではなく、

まさか コントロールIDが IDC_STATIC のままだったとかいうオチじゃないだろうな。

387 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 21:01:56 ]
いや、IDは数字を直指定しているのでそれはないです。

388 名前:デフォルトの名無しさん mailto:sage [2009/03/12(木) 21:38:45 ]
>>382が分かってない馬鹿でした

389 名前:デフォルトの名無しさん [2009/03/12(木) 22:44:12 ]
ブラウザでページを開いて、
今どの入力項目にカーソルがあたっているかを調べる方法ってありますか?

390 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 07:10:04 ]
>>389
ブラウザまで自作すれば出来るんじゃね

391 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 07:13:03 ]
>>390
俺もわかんねけどDOM構造調べてカーソルチェックするしかないんじゃね?

392 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 07:17:26 ]
IEで、現在選択されている文字列をクリップボードにコピーさせる操作を、
別プロセスから行うのはAPIで可能ですか?

393 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 07:23:50 ]
>>392
SendMessage()でいいんじゃね?
激しくメンドクサイが・・・

394 名前:デフォルトの名無しさん [2009/03/13(金) 08:18:47 ]
>>391
なるほど
ところでそのカーソルのチェックってどうやったらできますか?


395 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 08:22:31 ]
>>394
気持は分かるがそこまでだ。DOMはWin32じゃない。
その辺のHTMLか言語スレでやってくれ。



396 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 10:47:02 ]
Windowを列挙して座標から該当するWindow(コントロール)を探す。
その名前とHTMLを照合する・・ってぐらいしか思いつかないな。

397 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 11:03:27 ]
アドウェアの開発を手伝ってやることはないと思うんだ

398 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 11:09:24 ]
どちらかというとカード番号とかIDを奪うスパイウェアっぽい

399 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 11:28:01 ]
フォームに自動入力するのは作ったことある
フォームに入ってるデータも隠しを含めて全部読めたけど
カーソル位置なんか考えないな

400 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 11:33:52 ]
>>396
バカ、IEはウィンドウレスだからコントロールは無いよ

401 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 11:35:45 ]
>>400

402 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 11:45:50 ]
このスレウザイのが張り付いてるな
自分の仕事と思ってるのか知らんが一番迷惑
面白いレスしようと思ってワクワクしてこのスレ開いてんのかな?
一番寒いのに

403 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 12:17:13 ]
>>402
君が一番寒いよ

404 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 12:18:14 ]
>>403
そして君が二番目

405 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 12:30:51 ]
>>402
知らないならレスしないで下さい。寒いだけです。



406 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 12:37:34 ]
さぶ

407 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 13:28:35 ]
>>402
知識の還元してるんでしょ?喜ぶことで煽ることではないと思うが
ただし、的を射る場合に限るw

408 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 13:37:59 ]
>>407
寒い自己レス乙

409 名前:デフォルトの名無しさん [2009/03/13(金) 13:41:40 ]
おいおい、せめて引きこもりピザは2chで役に立てwww

410 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 13:45:26 ]
>>409
自己紹介乙

411 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 13:49:21 ]
>>410
自作自演乙

412 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 13:53:53 ]
>>411
寒い自己レス乙

413 名前:デフォルトの名無しさん [2009/03/13(金) 14:28:32 ]
あるプロセスが走っているか調べるAPIはありますでしょうか?
具体的にはタスクマネージャーが動いているか知りたいです。

414 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 14:30:58 ]
>>413
スパイウェアですか?

415 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 14:31:27 ]
>>413
EnumWindowsでタスクマネージャWindowを探すのどうよ?



416 名前:413 [2009/03/13(金) 14:32:21 ]
ちがいます。

417 名前:413 [2009/03/13(金) 14:35:09 ]
正解です。

418 名前:413 [2009/03/13(金) 14:35:48 ]
>>415
ありがとうございます。試してみます。

419 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 14:38:44 ]
ちんちんが大きくなるのですがどうしたらいいですか?

420 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 14:43:41 ]
>>389=>>413

タスクマネージャからプロセス隠蔽してブラウザで入力した個人情報を盗むスパイウェアを作ってるんですね
次はrootkitの作り方を質問してくるのかな

421 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:00:12 ]
何でこのスレは直ぐにスパイウェアだとか、そんな悪い方向に持ってくの?

422 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:04:06 ]
あとはpsapiとかかね

423 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:04:44 ]
悪い方向のソフトを作る目的で質問する馬鹿がいるから。

424 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:05:56 ]
psapiってプラットだったっけ?
昔めんどくさくてフリーのEXE拾ってきた覚えたあったなぁ

425 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:09:16 ]
>>413
結局ナニ作るの?そろそろ教えてくれないよこれ。



426 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:11:35 ]
日本語でおk

427 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:13:19 ]
タスクマネージャーを監視する目覚ましと時計(MP3ネットラジオ付)です。

428 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:16:32 ]
まだ目覚まし粘着君いたんだw
すげーしつこいw

429 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:16:45 ]
やばいwww天才発見www
その発想は無かったわwwwwwwwwwwwwwwwwwwwwwww

出来ればなぜにタスクマネージャー見るのか教えて。
煽りではなく、後学のために。どんな用途に使えるの?

430 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:21:49 ]
>>429
お前には関係ないですよ。

431 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:30:31 ]
   / ̄ ̄\
 /   _ノ  \
 |   ( ●)(●)
. |     (__人__)____
  |     ` ⌒/ ─' 'ー\
.  |       /( ○)  (○)\
.  ヽ     /  ⌒(n_人__)⌒ \  >>429
   ヽ   |、    (  ヨ    |
   /    `ー─−  厂   /
   |   、 _   __,,/     \

432 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 15:31:51 ]
>>429

433 名前:デフォルトの名無しさん [2009/03/13(金) 16:05:03 ]
>>429あげ

434 名前:デフォルトの名無しさん [2009/03/13(金) 16:07:08 ]
>>429の母です。

435 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 16:13:00 ]
>>429の娘です。



436 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 17:32:18 ]
>>429のコーン入りうんこです。

437 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 18:27:27 ]
>>429
タスクマネージャ監視の使い道を考えてみた。

裏でゴリゴリ悪いことしてるプログラムが、タスクマネージャでCPU使用率を見られて
マークされないように、タスクマネージャが起動している間は大人しくする。

438 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 19:09:47 ]
>>437
そんな面倒な事しなくても適宜Sleep(n)でも入れて休ませとけばいいだろ

タスクマネージャを騙すっていえば定期的にSetProcessWorkingSetSizeを呼んでメモリ使用量を少なく見せるとか有名だな

439 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 19:18:45 ]
午後キチ、今日は楽しかったろ

440 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 19:19:04 ]
>>419
結局ナニ作るの?そろそろ教えてくれないよこれ。

441 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 20:12:34 ]
チャットなら外でやれ

442 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 20:32:17 ]
     カタカタ
  || ̄ Λ_Λ
  ||_(Д`; ) 「なに?このスレ・・・」
  \⊂´   )
    (  ┳'

443 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 21:13:07 ]
>>442
そういうのイラネ

444 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 21:21:54 ]
>>443
そういうのイラネ

445 名前:デフォルトの名無しさん mailto:sage [2009/03/13(金) 23:48:48 ]
soine



446 名前:デフォルトの名無しさん [2009/03/14(土) 09:16:01 ]
Win32APIで、MessageBoxみたいに一発呼び出しで
1行テキスト入力だけして入力した文字列を返すようなダイアログを出すAPIってないもんでしょうか?

447 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 09:20:20 ]
ないもんです

448 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 09:35:05 ]
EntryDialog

449 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 09:46:56 ]
ttp://www.gamedev.net/community/forums/topic.asp?topic_id=458740
#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 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん mailto:sage [2009/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 名前:デフォルトの名無しさん [2009/03/14(土) 10:33:42 ]
>>446
さすがにないかー

>>449
ありがとう。これぐらいのコードでいけるんですね。
C++じゃないけど、参考にさせていただきます

454 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 12:03:04 ]
こんな糞コード見たのは久しぶりだ

455 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 12:11:04 ]
つーか、スレに長いコード載せるな



456 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 12:12:55 ]
#ifdef UNICODE
で分岐さすんなら、
最初っからTCHAR使えばいいんじゃね?w

457 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 12:15:00 ]
猫わかレベルを超えてるなw






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<205KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef