- 1 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 23:33:42 ]
- スレ立てるまでもない、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質問箱 Build65 pc11.2ch.net/test/read.cgi/tech/1208847084/
- 413 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:21:45 ]
- >>398
NTFSなら副次ストリームとか使えるけど、 古いファイルシステムも捨てられない。 Windowsは互換性をけっこう気にするからな。
- 414 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:27:31 ]
- 古いファイルシステムってFATの事を言いたいのか?
USBメモリやSD/CFカードではまだまだ現役バリバリだろ
- 415 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 22:30:02 ]
- >>378
CreateWindowとCreateWindowExだったら、 どっちでもいいときは好きなほうを使えばいい。 仮に、CreateWindowが実在したとしても、どうせ中でCreateWindowExを呼ぶだけ。 それだったらCreateWindowはヘッダでCreateWindowExに展開する今の方式なら、 システムDLLがCreateWindowの実装を省ける分サイズ削減できる。
- 416 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:24:53 ]
- >>415
大抵内部で〜Exを呼んでる (LoadLibraryとか) むしろマクロで済ませてるCreateWindowが特殊
- 417 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 23:50:21 ]
- >>395
10mS精度ぐらいならおおむねできるけど、ほかの処理で数百ミリ遅れることは多々ある。だからリアルタイムを現実的に無理。デバイスドライバでも同じ。 でもHALでリアルタイム実行させたり、windowsを仮想化させてリアルタイム実行させるるソフトがあるから、リアルタイムHALやRTXでググってみれれ
- 418 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 09:35:17 ]
- >>397
ほかのFTPソフトを使うとそのサイトにはうpできるんんか?
- 419 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 09:53:00 ]
- んんか?
- 420 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 10:01:00 ]
- できるんんか の検索結果 約 1,850,000 件
w
- 421 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 10:02:13 ]
- よく見たら一つ上のレスを真似しただけかな
実行させるるソフト ググってみれれ 今時カナ打ちかよw
- 422 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 10:41:50 ]
- かな入力の方が日本語のタイピングは速い。
- 423 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 10:45:00 ]
- というのは間違い。
- 424 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 10:47:13 ]
- キーをタイプする回数が減るから事実。
- 425 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 10:51:25 ]
- かな入力じゃ10分間で5000タッチできる気がしない
- 426 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 10:56:24 ]
- それは慣れていないだけ。
- 427 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 11:07:29 ]
- まあどうせ俺なんか入力速度に脳が追いつかないからどうでもいいんだけどね
- 428 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 11:09:03 ]
- しかし日本語は読みから漢字に変換しなければならないので、
いくら読みがなを早く入力できたからといって、それほど早くはならない気がする。 完璧に変換してくれるIMEは存在しないし。
- 429 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 11:28:27 ]
- そこでT-Code
- 430 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 12:54:12 ]
- ライターじゃあるまいし日本語のタイピング速度なんてどうでもいいだろ
それともひまわりでプログラミングしてるのか?
- 431 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 12:57:08 ]
- 日本語のレスに対する突っ込みだったから。
- 432 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:04:24 ]
- >>417=>>422=>>431って事でいいの?
とりあえず君がカナ入力マンセーなのは分かったからもういいよ
- 433 名前:431 = 424 = 422; mailto:sage [2008/05/25(日) 13:07:11 ]
- >>432
違う。俺はローマ字入力。事実を伝えただけ。スレ違いなので終わる。
- 434 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:08:42 ]
- なんで怪しい日本語になるダヨ
- 435 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:14:17 ]
-
/* ここまで雑談 */
- 436 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:15:51 ]
- >>433
431 = 424 = 422; ↑ こうやって反射的にセミコロンを付けてしまう事ってよくあるよねw
- 437 名前:433 mailto:sage [2008/05/25(日) 13:19:53 ]
- >>436
板を考慮して付けた。
- 438 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:23:08 ]
- もういいから
- 439 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:31:24 ]
- こういう空気読めない奴ってホントどこにでもいるな
リアルでも空気読めなくて周囲からウザく思われてるんだろうな
- 440 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 13:34:53 ]
- >>439
いい加減ウザイよ君
- 441 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 15:33:05 ]
- 質問がないと暇を持て余すんだろう
質問来ても、その調子なら邪魔以外の何者でもないが・・・
- 442 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:37:35 ]
- int 21Hとか割り込み命令って今でも使える?
Win32API使わないとだめ?
- 443 名前:デフォルトの名無しさん [2008/05/25(日) 17:05:30 ]
- 試せば分かるだろ
- 444 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 18:55:52 ]
- >>442
DOSアプリからなら使えるよ。32ビットアプリだとクラッシュ。 9x系だと確か一部のものはクラッシュしなかったような? 動かないだろうけど
- 445 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 19:09:09 ]
- >>444
後半二行の不確かな情報は要りません
- 446 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 20:43:34 ]
- >>444
DOSアプリのみということは、 Win32 コンソールアプリではだめなのか なるほど
- 447 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 20:46:32 ]
- Invalid icon format ってエラーが出るんですけど、アイコンの絵そのものが
問題あるってことですよね?XPのペイントで書いてみたのが問題ですか?
- 448 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 20:48:03 ]
- アイコンって、大きさ正方形だったかサイズ固定だったか
決まりがあったような気がする。
- 449 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 20:50:56 ]
- >>447
icon≠windows bitmap そもそもフォーマットが違います アイコンエディタを使いましょう
- 450 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 20:57:13 ]
- >>448
それはgoogle検索で出てきたので、32×32にしてます。 >>449 そうなんですか、分かりました。 皆さんありがとうございました。
- 451 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:23:51 ]
- そういえばVistaのPNG形式アイコンがあるとRC.EXEがエラー吐いたりしたけど
最近のバージョンのRC.EXEでは直ってるの?
- 452 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:48:19 ]
- >>444
9xで、32ビットアプリケーションからファンクションコールをするとしたら、 DeviceIoControlを呼ぶのが正式な手段。全部使えるわけではないけど、 ディスクを直接読み書きするときとかに使った。
- 453 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 22:00:33 ]
- 9xの話を今頃されてもオッサン乙で終わるのだが
- 454 名前:デフォルトの名無しさん [2008/05/26(月) 00:19:42 ]
- ウィンドウプロシージャを差し替えたいんだけど、
なんかできないんだよね。 SetClassLong(hWnd, GCL_WNDPROC, (LONG)AnotherMyWindowProc); この関数を用いる上でなんか注意点ある? マウスやアプリのアイコン変更も反映されないんだけど。
- 455 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 00:33:58 ]
- 注意点 msdnをよく読む事
- 456 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 00:43:49 ]
- >>453
そのオッサンのやりとりにお前が絡む必要はないのに、何が乙なんだ
- 457 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 00:45:43 ]
- 俺の家の玄関に「硫化水素発生中」って貼った奴、氏ねよ
- 458 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:04:43 ]
- そのネタはもう旬を過ぎてるよ
- 459 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:06:41 ]
- まじでか
- 460 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:09:56 ]
- >>454
わろた
- 461 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:17:49 ]
- わらっつぁらめぇー
- 462 名前:454 mailto:sage [2008/05/26(月) 01:24:30 ]
- homepage1.nifty.com/kazubon/progdoc/tclock/nagare2.html
ここみてる限り間違ってないと思うんだがナー
- 463 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:33:14 ]
- >>462
それは良かったですね
- 464 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:37:50 ]
- とってもよかったでーす^^^;
- 465 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 01:53:01 ]
- >>462
赤字で書いてるとこと違う事をしてるのは、分かっててやってるの? 変更したクラスから新しくウィンドウを作るってんなら、それでいいんだけど。
- 466 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 11:46:16 ]
- どこをどう見ると間違ってないんだよw
SetWindowLong、SetWindowLongPtr、SetWindowSubclass使えよ
- 467 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 11:53:56 ]
- 間違い探しかよw
ぱっと見てスルーしてたけど、SetClassLong使ってたのか
- 468 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 12:56:47 ]
- >>451
VS2005なら、Windows SDK6.0だか6.1入れてCLやRCをそちら付属品を 使うようにすればVista圧縮形式に対応できる。 VS2008はRCでもMSDEVリソースエディタでも標準サポート
- 469 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 15:43:24 ]
- >>452
9xだと本当にDOSが動いてるからね。 NTだと単なるエミュだし
- 470 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 15:52:02 ]
- >>468
さんくす RC.EXEだけでも入れ替えておけばビルド後のイベントでゴニョゴニョする必要は無さそうだw IDEのリソースエディタでアイコンなんて作らないからそっちはまぁいいや
- 471 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 16:26:48 ]
- >>470
VS2005だと、圧縮形式アイコンが含まれる.rcファイルがMSDEVで開けないんで注意
- 472 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 16:35:26 ]
- VC2005はmsdevじゃなくてdevenvだったと思うが。
そんな俺はVC6ユーザー
- 473 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 17:01:52 ]
- imepita.jp/20080526/612210
このような四角いボタンってどうやって作るんですか?
- 474 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 17:03:04 ]
- 言い忘れました。×ボタンです。
- 475 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 17:09:14 ]
- クローズボタンのことが聞きたいのかオーナードローのボタンのことが聞きたいのか
- 476 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 17:25:53 ]
- 1. Toolbar を作る
2. ImageList を作る 3. [×] のビットマップを作る 4. 3. のビットマップを 2. の ImageList に追加する 5. ImageList を Toolbar にセットする 6. Toolbar に 3. のビットマップを持つボタンを追加する
- 477 名前:デフォルトの名無しさん [2008/05/26(月) 18:08:23 ]
- 指定したiniファイルのキーを削除するapiを教えてください
- 478 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 18:08:57 ]
- やだ
- 479 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 18:55:43 ]
- WritePrivateProfileStringで
lpAppNameにセクション名 lpKeyNameにキー名 lpStringにNULL lpFileNameにiniファイルのパスを指定すると 指定したセクション内のキーが消える
- 480 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:04:01 ]
- >>479
まじっすか^^ WritePrivateProfileStringで値をNULLにすると消えるんですね これは知らなかった。ありがとうございます!
- 481 名前:479 mailto:sage [2008/05/26(月) 19:04:52 ]
- ってかMSDN読めよ
- 482 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:05:09 ]
- MSDNも読まずにWin32APIを使おうとする奴の気が知れない
- 483 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:05:36 ]
- つーか引数どうやって知ったのかw
そこに説明もあると思うんだがなあ
- 484 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:33:34 ]
- MSDNなんて読まなくていい
ここで質問するだけで丁寧な解説が日本語で得られる お人好しな人間ほどうまく扱えば便利なものは無い というのが俺の妄想 一応言っとくが俺はちゃんとMSDNで調べる派だからな
- 485 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:36:57 ]
- 俺みたいに嘘を教える奴も居るから気をつけないと
- 486 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:40:39 ]
- 俺みたいにかく乱する奴もいるからry
- 487 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 19:45:04 ]
- お前ら必死でワロタ
- 488 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:31:16 ]
- VC.net2003 + SDKで、ImageList使える?
ビルドは通るが、CreateWindowExでウィンドウ作成した時点で、'hoge, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' から 型 '_IMAGELIST' を読み込めません。って出て落ちるんだけど・・・
- 489 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:37:28 ]
- DiskcopyコマンドってどういうAPI使ってフロッピーに出力してるの?
このコマンドに限らずブート領域を書き込めるのって同じやり方だと思うんだけぢ 少なくともfoutやCopyFileではなさそう。
- 490 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:39:08 ]
- > 思うんだけぢ
どこの方言でぢか?
- 491 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:43:52 ]
- アマゾン地方の方言が出てしまいました
- 492 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:47:15 ]
- DeviceIoControlとかじゃないの
知らんけど
- 493 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 20:55:32 ]
- >>489
DDKを見ましょうね。
- 494 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 21:04:43 ]
- やだ
- 495 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:06:57 ]
- >>489
NTならCreateFileで"\\\\.\\A:"のようにすると生のドライブを開ける。SDKにも書いてある。 9xなら>>452。KB125712やKB174569など。
- 496 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:10:48 ]
- あした試してみよう
- 497 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:27:50 ]
- もうすぐ明日だろ
- 498 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 23:56:37 ]
- 関数を動的に作ってウィンドウプロシージャとして渡す事ってできないんですか?
クラスのメンバ関数をウィンドウプロシージャにできないのが、 理屈ではよくわかるんですけど、なんか納得できなくてw static使って場合分けするのもなんか反則的というか、やりたいことと違う気がして… クラスのコンストラクタで関数を動的に作ってコントロールのプロシージャとして使い、 デストラクタでコントロールは期すると共に関数も破棄できないかなぁと。 …ゴメンナサイ、なんかもう投げやりです。
- 499 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:06:12 ]
- グローバル関数でのプロシージャで
各クラス内の自作プロシージャにそれぞれ処理を割り振ったりすれば良いんじゃない?
- 500 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:09:06 ]
- つーか自分でラッパー書けばいいだけじゃね
- 501 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:10:07 ]
- 僕ハッカー!!!
- 502 名前:489 mailto:sage [2008/05/27(火) 00:11:11 ]
- CreateFile
DeviceIoControl WriteFile でなんかフロッピーに出してるのは判った しかしこの方法でフロッピーの中にファイルを作る方法がわからなう
- 503 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:13:47 ]
- FAT32の仕組みでも覚えろ
- 504 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:14:44 ]
- >>498
web.archive.org/web/20070810174250/http://techtips.belution.com/ja/vc/0009/ ようするに、静的メンバ関数の中から 何らかの方法でウィンドウに対応するオブジェクトを得て、 そのオブジェクトの非静的メンバ関数に処理を渡せばいい。 ウィンドウクラスの場合、次のようなものを使って オブジェクトへのポインタを保存する例が多い。 Get/SetProp Get/SetWindowLongPtrとウィンドウクラスごとの追加データ Get/SetWindowLongPtrとGWLP_USERDATA ちなみに、ATLは本当に動的に関数を作って対処している。 hp.vector.co.jp/authors/VA022575/c/msgmap.html
- 505 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 00:16:02 ]
- >>502
逆に、ファイルがある状態のフロッピーディスクを 吸い出して中身を眺める、もちろんFATの構造の解説と一緒に。
- 506 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 02:10:13 ]
- アプリケーションへのアイコン設定は、
検索で調べると必ず .rc への記述方法が紹介されてますが、 .rc を経由せずに .cpp のプログラムのみで設定って出来るんでしょうか? よろしくお願い致します。
- 507 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 03:17:45 ]
- >>502
何がしたいのかよくわからんが フロッピーの中にファイルを作るのならばCreateFileでいいと思うが。 diskcopyだったらセクタを全部コピーすればいい
- 508 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 07:09:57 ]
- あるウィンドウがHWND_TOPMOSTで最善面になっているかどうかを判断するにはどうすればいいのでしょうか?
- 509 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 07:58:26 ]
- GetWindowLong(hwnd, GWL_EXSTYLE) & WS_EX_TOPMOST
- 510 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 08:25:20 ]
- >>504
atlthunk.cppが凄い てかこんなのMSの中の人でないと書けないだろw
- 511 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 08:45:38 ]
- 書ける奴はいくらでもいるだろうが、実際に、書こう思う奴は、それほどいない。
MFCはHWNDとベースクラスへのポインタを、 いわば、std::map< HWND, Hoge >的なもので管理していて、メッセージが来るたびに検索してると聞いたが。
- 512 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 09:33:10 ]
- >>511
実際に中身を見てから言って欲しいね
- 513 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 09:46:49 ]
- コード生成はWindowsより前なら常套手段だから昔の人なら楽勝
|

|