1 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 20:07:21 ] スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。 やさしいお兄さんやお姉さんたちが答えてくれるかも。 「知らないならレスしないで下さい。ウザイだけです。 」なんて言わないでねっ! 過去スレ、関連リンクは>>2-10 くらい。 ■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで - Win32API質問箱 wiki wiki.livedoor.jp/program1/d/FrontPage Win32API質問箱 Build84 pc12.2ch.net/test/read.cgi/tech/1259478896/
367 名前:デフォルトの名無しさん [2010/01/10(日) 19:11:33 ] Win32APIをするとしたらプロの方はどのような言語を使用するのですか?
368 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 19:13:47 ] マダァ-? (・∀・ )っ/凵⌒☆チンチン はやく次の燃料投下しれ
369 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 19:14:02 ] >Win32APIをする 君は日本語の勉強をしなさい。
370 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 19:14:22 ] >>367 C/C++が多いと思うけど、色んな言語で使うでしょ。
371 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 19:45:50 ] 今日はキチガイ元気ないね 昨日はクズ死ね連呼して活発だったのに
372 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 19:56:59 ] >>367 VC++
373 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 20:00:28 ] >>367 VB6、VBA
374 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:33:35 ] >>363 都合の悪いところを省略しないように、>>192 は >>180 ローカルルールに反して、検索しなかった事を立証しなさい。 を受けての発言、>>192 なりに検索しなかった事の証明らしい。w
375 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:42:57 ] もう飽きた。
376 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:47:35 ] Googleで 『Site:msdn.microsoft.com 検索キーワード』 ってやるとMSDN内の検索がデキルヨ!!
377 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 22:57:37 ] もう飽きた? 「もう許してください」だろ。二度と質問妨害しないなら許してやるよ。
378 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:05:55 ] もう許してください。
379 名前:デフォルトの名無しさん [2010/01/10(日) 23:07:25 ] もう許してください。
380 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:07:44 ] 。が余計なんだよ
381 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:08:42 ] もう許してください
382 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:09:27 ] もう許してください
383 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:10:03 ] 「もう許してください」
384 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:10:10 ] もう許してください
385 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:10:48 ] 「もう許してください」
386 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:13:59 ] もう許してください
387 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:15:53 ] ____ / ̄ ̄ ̄ \ / :::::\:::/\ / 。<一>:::::<ー>。 | .:::。゚~(__人__)~゚j もう許してください \、 ゜ ` ⌒´,;/゜ / ⌒ヽ゚ '"'"´(;゚ 。 / ,_ \ \/\ \ と___)_ヽ_つ_;_ヾ_つ.;._
388 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:16:09 ] もうして下さい
389 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:17:50 ] もうくさい
390 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:19:24 ] もさい
391 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:20:08 ] ださい
392 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:20:15 ] して下さい して下さい して下さい
393 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:22:22 ] ゆるい
394 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:22:27 ] も ゆ し く さ う る て だ い
395 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:24:42 ] もゆる うるし うるさい
396 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:25:07 ] う ゆ さい も るしてくだ
397 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:27:43 ] もう し ね ゆる てください
398 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:32:55 ] _,,..r'''""~~`''ー-.、 ,,.r,:-‐'''"""~~`ヽ、:;:;:\ r"r ゝ、:;:ヽ r‐-、 ,...,, |;;;;| ,,.-‐-:、 ヾ;:;ゝ :i! i! |: : i! ヾ| r'"~~` :;: ::;",,-‐‐- `r'^! ! i!. | ;| l| ''"~~ 、 i' | イェ〜イ i! ヽ | | | ,.:'" 、ヽ、 !,ノ ゝ `-! :| i! .:;: '~~ー~~'" ゙ヾ : : ::| r'"~`ヾ、 i! i! ,,-ェェI二エフフ : : :::ノ~|`T >>377 見てるー?もう許してください ,.ゝ、 r'""`ヽ、i! `:、 ー - '" :: : :/ ,/ !、 `ヽ、ー、 ヽ‐''"`ヾ、.....,,,,_,,,,.-‐'",..-'" | \ i:" ) | ~`'''ー---―''"~
399 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:33:59 ] もうゆてださいゆるてくさもうるくだもうゆるしくだいうゆしだるしいゆ しだもゆてくだもうゆるてくさいもだてくさいもるてくだてくださうてく だいくさゆるてもいもうゆしくさもうくもうゆしてくださゆてくだいうる しいうるくださいうるくるしてさいうゆしてもうゆしさもくだいしくださ いもゆしてもゆるしくださいもるしてもしてさうてくいもうゆしもうるて くうるてくさもうゆるしくいるてさもうるしださしださもてくだしてくだ うゆるくださゆしくさもうゆるてくいゆだもしくだいもうるしくさいして くだいもうるだもうゆるしうゆるさいもゆるしくもうるしくいもうゆして だもうしださるしてくだいもうゆしださゆてくださもうゆてさいゆるしさ いゆるてくもるてくもゆしくゆださいもうゆしくださいもうるしていもう くうゆくいゆるしださるしてくさゆしうるしてうるしてもうしくださいも るてだいうゆしてくださうゆるくうるしてだいてくさいもうるしくもゆる てくだうださてさもしくだいていもうゆるしくいるくださゆるくうゆるて ださもゆてくさいしてさうしてくだいもうしだいもうゆるてくるだもうる してさいもうゆしてくさいもうゆるてくもうるしてだもうゆるしてだうゆ しいもうしだいうゆるてくだいてだもるてさいもゆくいうるてさるくださ うゆるてだいるしだいもゆしてくだもうゆさもうるしだいうしいもしくゆ るくだいゆるしてだうゆしてくだいもゆしださもうてださうるくさゆるく だいうてださいしくだもうしださもしくさもゆしくだいもうるてくだいも ゆしてさもるしてくだもうるしくさもうしもうしくいうゆくさいしだるて ださいうるだいゆしくだもうゆるくさいうゆるださうゆるくさいもゆるし てさもうゆるてださいうてさゆしてくさてだもうゆしくもうゆしてださも ゆしていうるてるしてださもゆしてくだいうゆるしてさうるしくゆしてい うしてくいゆてもうゆてくさもゆてださいもうるくださうてださしだうゆ るていしていもうさいもるしてださいもうしてくだいもゆしてさいもゆる くだもゆるてだいうゆくさうくさうるしだしてさいゆてだもうしてくだい もだもしてくいゆしだるしてくださいゆるしてさゆるださいるしくうゆる しださいもうゆしだうるくださうしてくだもうゆるてくださいもゆしいゆ
400 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:35:23 ] ____ / u \ / \ /\ 飽きやすい2ちゃねらのことだから / し (>) (<) \ そろそろ沈静化してるはず・・・ | ∪ (__人__) J | ________ \ u `⌒´ / | | | ノ \ | | | /´ | | | | l | | | ____ / u \ / \ ─\ チラッ / し (>) (●) \ | ∪ (__人__) J | ________ \ u `⌒´ / | | | ノ \ | | | /´ | | | | l | | | ____ /::::::::::::::::\ /::::::─三三─\ /:::::::: ( ○)三(○)\ もう許してください |::::::::::::::::::::(__人__):::: | ________ \::::::::: |r┬-| ,/ .| | | ノ:::::::::::: `ー’´ \ | | | /::::::::::::::::::::: | | | |::::::::::::::::: l | | |
401 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:43:09 ] もうゆるいしださくて
402 名前:デフォルトの名無しさん mailto:sage [2010/01/10(日) 23:50:23 ] これはひどい
403 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:02:36 ] ム板の中では最も荒れてるスレ・・・なのかな? 元々わりと荒んだスレではあったけど、一、二年くらい前に「知らないならレスしないでください」 って書き込みが流行りだした辺りからどんどん酷くなっていったような気がする
404 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:04:05 ] ゴガギーン ドッカン m ドッカン =====) )) ☆ ∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( )| |_____ ∧_∧ < おらっ!出てこい>>377 「 ⌒ ̄ | | || (´Д` ) \ gdgdの責任取れ、この...低脳がァ――!! | /  ̄ | |/ 「 \ \___________ | | | | || || /\\ | | | | | へ//| | | | | | | ロ|ロ |/,へ \| | | | | ∧ | | | |/ \ / ( ) | | | |〈 | | | | / / / / | / | 〈| | | / / / / | | || | | / / / / =-----=--------
405 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:11:25 ] とりあえず禁句設定 ★MSDN調べろ ★ググれ ★過去ログ引け これで改善されるんでは。 このスレの過去ログが過去ログとして機能するのはBuild 50辺りまで。
406 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 00:13:02 ] というかストレス溜め込みすぎだよ
407 名前:デフォルトの名無しさん [2010/01/11(月) 01:56:12 ] 結局>>127 の答えは>>346 でやっと出たの?
408 名前:407 [2010/01/11(月) 01:57:19 ] 間違えた、>>346 →>>347
409 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 02:07:44 ] >>345 だろ
410 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 02:11:07 ] 素朴な疑問 defファイル書いてる?
411 名前:407 [2010/01/11(月) 02:28:51 ] >>409 >>346 で否定されてるけどその点はどうなの?
412 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:02:06 ] >>127 の答え Spy++で見ろ
413 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:13:29 ] >>405 > ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 >>1 に書いてあることが禁句って・・・
414 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:31:17 ] 原則準拠の掛け声だけでスレが埋め尽くされないように >>1 に原則をまとめておいて、>>1 以外では 原則論を敢えて述べることは控える。 これって異常な発想か?
415 名前:407 [2010/01/11(月) 03:32:21 ] >>412 spy++使ってキーボードのメッセージ(WM_KEYUPは除く)みたんだけどこんな感じだったよ 他にもパラメータあったけど、どの場合も変わらないから消しちゃった //wキー WM_KEYDOWN nVirtKey:'W' ScanCode:11 WM_CHAR chCharCode:'119' ScanCode:11 //ctrlキー WM_KEYDOWN nVirtKey:VK_CONTROL ScanCode:1D //ctrl+w WM_KEYDOWN nVirtKey:VK_CONTROL ScanCode:1D WM_KEYDOWN nVirtKey:'W' ScanCode:11 WM_CHAR chCharCode:'23' ScanCode:11 これを見るとWM_CHARが来た時chCharCode(wParam)の値が23ならctrl+wが押されたことになる?? けど文字コード見ると23はETBとか言う文字コードになってるからこれは関係ないのかな? となると結局GetKeyState()なんて知らなかったらこれだけ見てもどうすれば良いのか分からないんじゃないの?
416 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:47:37 ] > これって異常な発想か? よくわかってるじゃん
417 名前:416の指示により以下はこの繰り返しに統一 mailto:sage [2010/01/11(月) 03:51:44 ] >>1 過去ログ/MSDN/その他サイト ググレ つまらん質問するな
418 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:51:49 ] ググれが禁句なんて聞いたことない。w
419 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:53:28 ] >>416 のどこが指示だ?相変わらず妄想がひどいな
420 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:53:46 ] 今時ググっても、2ch関連の良くわからん質疑応答スレが 先頭に出るんですがね(蛇足だが質問も回答も間違ってることが よくある)
421 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:57:00 ] >>415 ctrl+wを押したときだけ特定のメッセージが来るかどうか をspy++で見れば答えが得られるってこと WM_KEYDOWNやWM_CHARしか飛んでないってことは 何もメッセージが割り当てられていないのが理解できる
422 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 03:59:20 ] -2ch -chiebukuro ぐらい付けるだろjk
423 名前:407 [2010/01/11(月) 04:04:54 ] >>421 なるほど、そういうことだったのね
424 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 04:05:14 ] 前にもググれ調べろと言われてキレた基地外がいたが同じ奴かね
425 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 05:50:24 ] 1スレ無駄にしそうだなぁ
426 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 06:31:18 ] 「調べろ」「ググれ」を禁句とか言ってる気違いが住み着いたからなぁ
427 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 06:58:00 ] このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものではありません。 アイと研究員とのやり取りに利用するスレッドではないので、 関係者以外も書きこんで下さい。 京都大学霊長類研究所
428 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 07:00:55 ] チンパンジーならまだしもメンヘラーだからタチが悪い。
429 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 07:05:20 ] >>427 むかしのアイちゃんは、聞いても無いのに色々と話をして くれたもんだが、最近は3語しか言わなくなったなw 年をとったのか、知能が高くなったのか、オブジェクト 指向にかぶれたのか知る由もないが とにかくSmallTalkになっちゃったね。
430 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 07:13:34 ] 言っても無いのに色々と妄想してくれるようになった。
431 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 07:20:11 ] Win32APIのこのスレ的な定義をそろそろよろ
432 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 07:24:44 ] ググレカス ttp://ja.wikipedia.org/wiki/Windows_API
433 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 07:47:43 ] ここもWikiレベル以下か...鬱
434 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 07:49:52 ] wikipediaをwikiっていうな
435 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 08:00:14 ] 天才とか言っていろいろなことさせられて、初期レベルの霊長類の わずかな記憶領域を使い尽くされて、やがて本能を侵食されて 衰弱する 動物実験はいやだな・・・
436 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 09:18:18 ] 風紀委員会からのお知らせです。 一般的な商用ソフトはリバースエンジニアリングを禁止しています。 spy++で調べる事は使用許諾に反するので行わないでください。
437 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 09:44:15 ] spy++で調べる事はリバースエンジニアリングではないのだが、 いったい何を言ってるんだ?
438 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 09:45:49 ] 妄想です
439 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 09:47:07 ] リバースエンジニアリングとは、ソフトウェアやハードウェアなどを分解、あるいは 解析し、その仕組みや仕様、目的、構成部品、要素技術などを明らかにすること。 プログラムの分野では、モジュール間の関係の解明やシステムの基本仕様の分析と いった行為を含む。
440 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 09:50:53 ] Spy++程度でリバースエンジニアリングだったら タスクマネージャだってリバースエンジニアリングだろ。 どれだけ頭が悪ければ気が済むんだ?
441 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 09:53:33 ] ソフトウェアのインストールフォルダをエクスプローラで開くのもリバースエンジニアリングだなw
442 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 09:56:26 ] そのソフトに色々な入力を与えて出力を見るのもリバースエンジニアリングだな システムの基本仕様の分析になるもんな
443 名前:436 mailto:sage [2010/01/11(月) 09:57:13 ] リバースエンジニアリングって言ってみたかっただけです。ごめんなさい。
444 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 13:09:58 ] ▄▄ ▄▄▄ █ ▄█ ▄██▄▄ ▄▄▄▄▄ ▀▀▀▀▀▀█▄▄▄▄▄ █ ▄█▄▄▄▄ ▀ █ ▀▀▀▀▀▀ █ █ █▄ █ ▀▀▀▀ ▀▀▀█▀▀▀ █ █▄ █ ▄█ █▀▀█ █ █▄ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀ ▀▀ ▄▄▄▄▄▄ ▄▄▄ ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀ █ █▀ █ ▀▀█▀ ▀▄ █ █▀▀▀ █ █▄ ▀ █▄▄▄ █ ▄▄▄ ▀▀ ▀ ▀▀▀
445 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 13:57:56 ] 下手糞な文字だなあ
446 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:27:27 ] 今までの長い歴史の中で最低最悪のスレだな
447 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:31:10 ] この流れだと次スレで最低最悪の歴史を更新するでしょう。
448 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:32:31 ] 質問が無いのがいけないんだ!!
449 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:41:46 ] 今時Win32で開発してる人は、自力で解決できる上級者か、周りが見えてない馬鹿のどちらかだから、質問が無いのが自然。
450 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 14:46:02 ] 質問するぐらいなら自分で探した方が早いからな
451 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 16:14:15 ] MSDN4階層までは全部記憶していて当然だからな。
452 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 16:18:16 ] ▄▄ ▄▄▄ █ ▄█ ▄██▄▄ ▄▄▄▄▄ ▀▀▀▀▀▀█▄▄▄▄▄ █ ▄█▄▄▄▄ ▀ █ ▀▀▀▀▀▀ █ █ █▄ █ ▀▀▀▀ ▀▀▀█▀▀▀ █ █▄ █ ▄█ █▀▀█ █ █▄ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀ ▀▀ ▄▄▄▄▄▄ ▄▄▄ ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀ █ █▀ █ ▀▀█▀ ▀▄ █ █▀▀▀ █ █▄ ▀ █▄▄▄ █ ▄▄▄ ▀▀ ▀ ▀▀▀
453 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 16:27:03 ] msdn4階層ばっか言ってるキチガイまだいるのかw
454 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 16:32:37 ] まあ実際のところMSDN4階層以内だとOverviewにも届いてない程だし Win32プログラマにとっては知ってて当然な情報しか無いけどな
455 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 16:34:03 ] ____ / ̄ ̄ ̄ \ / :::::\:::/\ / 。<一>:::::<ー>。 | .:::。゚~(__人__)~゚j もう許してください \、 ゜ ` ⌒´,;/゜ / ⌒ヽ゚ '"'"´(;゚ 。 / ,_ \ \/\ \ と___)_ヽ_つ_;_ヾ_つ.;._
456 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 16:44:15 ] コピペしなくても書けるレベルになるとMSDN4階層以内の情報は見る価値ないし、 分からないときは最初からReferenceあたりで探すようになるからね そしてReferenceまでの階層が深すぎてイライラするw
457 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 16:47:11 ] ▄▄ ▄▄▄ █ ▄█ ▄██▄▄ ▄▄▄▄▄ ▀▀▀▀▀▀█▄▄▄▄▄ █ ▄█▄▄▄▄ ▀ █ ▀▀▀▀▀▀ █ █ █▄ █ ▀▀▀▀ ▀▀▀█▀▀▀ █ █▄ █ ▄█ █▀▀█ █ █▄ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀ ▀▀ ▄▄▄▄▄▄ ▄▄▄ ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀ █ █▀ █ ▀▀█▀ ▀▄ █ █▀▀▀ █ █▄ ▀ █▄▄▄ █ ▄▄▄ ▀▀ ▀ ▀▀▀
458 名前:デフォルトの名無しさん [2010/01/11(月) 16:57:14 ] MSDN4階層ってアクセラレータとかダイアログボックスとか用語の説明ばっかりじゃんw
459 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 16:58:28 ] 用語すらわからんやつは質問するなってことだ
460 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 17:01:09 ] 「ダイアログボックスって何?」 確かに、こんな質問は禁止でいいよw
461 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 17:02:42 ] ▄▄ ▄▄▄ █ ▄█ ▄██▄▄ ▄▄▄▄▄ ▀▀▀▀▀▀█▄▄▄▄▄ █ ▄█▄▄▄▄ ▀ █ ▀▀▀▀▀▀ █ █ █▄ █ ▀▀▀▀ ▀▀▀█▀▀▀ █ █▄ █ ▄█ █▀▀█ █ █▄ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀ ▀▀ ▄▄▄▄▄▄ ▄▄▄ ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀ █ █▀ █ ▀▀█▀ ▀▄ █ █▀▀▀ █ █▄ ▀ █▄▄▄ █ ▄▄▄ ▀▀ ▀ ▀▀▀
462 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:01:59 ] > MSDN4階層以内は質問禁止というキチガイルール 全然キチガイルールじゃなかったね
463 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:07:36 ] ▄▄ ▄▄▄ █ ▄█ ▄██▄▄ ▄▄▄▄▄ ▀▀▀▀▀▀█▄▄▄▄▄ █ ▄█▄▄▄▄ ▀ █ ▀▀▀▀▀▀ █ █ █▄ █ ▀▀▀▀ ▀▀▀█▀▀▀ █ █▄ █ ▄█ █▀▀█ █ █▄ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀ ▀▀ ▄▄▄▄▄▄ ▄▄▄ ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀ █ █▀ █ ▀▀█▀ ▀▄ █ █▀▀▀ █ █▄ ▀ █▄▄▄ █ ▄▄▄ ▀▀ ▀ ▀▀▀
464 名前:デフォルトの名無しさん mailto:sage [2010/01/11(月) 18:20:16 ] ワロタwww 禁止に一票入れとくよw
465 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 07:39:48 ] test
466 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 09:24:26 ] aho
467 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 13:32:57 ] FinderSystem Dev.がどうやってテキストを取得しているかご存知の方はいらっしゃいますか? 某アプリが表示している文字列を取得したいのですが、 実際には8文字表示されているのに WM_GETTEXTLENGTHは4が返ってくるし、 WM_GETTEXTも100文字分指定しても先頭4文字しか取得できません。 VS2010β2付属のSpy++も4文字しか認識しません。 FinderSystem Dev.のメインウインドウのキャプションには何も表示されないのですが、 ウインドウビューアで階層をたどっていくと、ウインドウ名?の欄には正確に8文字表示されます。 どなたかヒントをください ちなみに今のC#コードです public static string GetWindowTextEx2(IntPtr hWnd) { int len = SendMessage(hWnd, WM_GETTEXTLENGTH, 0, 0) + 1; StringBuilder sb = new StringBuilder(len); SendMessage(hWnd, WM_GETTEXT, len, sb); return sb.ToString(); } [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); [DllImport("user32.dll", CharSet = CharSet.Auto)] public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, [MarshalAs(UnmanagedType.LPTStr)] StringBuilder lParam); public const int WM_GETTEXT = 0x000D; public const int WM_GETTEXTLENGTH = 0x000E;
468 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 13:43:07 ] MSDNのWM_GETTEXTの部分読んで下さい WM_GETTEXTは万能じゃありません コントロールによっては別のメッセージ使わないと駄目ですし 相手プロセス内で行動することも必要になってきます
469 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 13:44:21 ] 某アプリとか書かずにちゃんと名前書いたら?
470 名前:467 mailto:sage [2010/01/12(火) 14:10:07 ] >>468 ありがとうございます 漁ってみます >>469 どうせ誰も知らないだろうと思って具体的な名前は出しませんでした カノープスのアナログキャプチャカードMTVX2005のソフト Feather2005 Ver8.17.002の操作パネル(リモコンウインドウ)の再生位置の時刻表示です ちなみに再生ファイル名は取れていました
471 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 15:21:18 ] メッセージボックス(OKボタンのみのやつ)のOKボタンのコントロール識別子の値を教えてください 0x0400だと思ってGetDlgItemしたらNULLが返ってきました
472 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 15:30:42 ] それぐらいSpy++で調べろよ・・・
473 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 17:20:30 ] >>470 UIAかMSAAで取得してるんじゃね?
474 名前:467 mailto:sage [2010/01/12(火) 18:22:35 ] ふと思い立ち、 SendMessageAとSendMessageWとで、それぞれ余計な文字コード変換をしないようにbyte配列を渡して受け取ってみたところ SendMessageAでそれらしき値が返ってくるのを確認しました。 SendMessageWだと4文字で切られている雰囲気です。 [DllImport("user32.dll", CharSet = CharSet.Ansi)] public static extern int SendMessageA(IntPtr hWnd, int Msg, int wParam, StringBuilder lParam); StringBuilder sb = new StringBuilder(256); int r = SendMessageA(hnd, WM_GETTEXT, 100, sb); のようにしてみたところ、sbにきちんと8文字取れるようになりました。 ただrに入る値は4です。 これは対象アプリかOS(XP SP3です)のバグと思って良いのでしょうか? お騒がせしました。ありがとうございました。
475 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 18:27:13 ] ふと思い立ちって、、、>>467 読んだ瞬間にそう思ったよ。 まあ問題なのは、不具合は全部自分以外のバグと思っちゃうところじゃないのかな。
476 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 18:33:50 ] WM_GETTEXTはA/W関係ないと思うが・・・?
477 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 18:43:01 ] 8文字が全て全角文字で、ANSIで8バイト、Unicodeで4文字って事だろ。 マルチバイト文字とワイド文字の違いを分かってないだけなのに OSのせいにするその脳細胞がバグってる。
478 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 18:49:51 ] XP以降のEM_SETSEL等はSendMessageAでもUnicode扱いするバグがあるんだが・・・
479 名前:467 mailto:sage [2010/01/12(火) 19:04:42 ] 対象アプリの表示「 0:37:15」 確認コード byte[] buff = new byte[256]; int r = SendMessageA(hnd, WM_GETTEXT, 100, buff); int r = SendMessageW(hnd, WM_GETTEXT, 100, buff); [DllImport("user32.dll")] public static extern int SendMessageA(IntPtr hWnd, int Msg, int wParam, byte[] lParam); [DllImport("user32.dll")] public static extern int SendMessageW(IntPtr hWnd, int Msg, int wParam, byte[] lParam); SendMessageAの結果 r=4 buff= 0x20,0x30,0x3a,0x33,0x37,0x3a,0x31,0x35,0x00以降全て0 SendMessageWの結果 r=4 buff= 0x20,0x00,0x30,0x00,0x3a,0x00,0x33,0x00,0x00以降全て0 どちらの結果もwParamの値と、戻り値の整合性がとれていないと思うのですが。 試しにWM_GETTEXTLENGTHを送ってもAもWもどちらも4が返ってきました。
480 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 19:20:45 ] そもそもSendMessageの宣言は合ってるのか?
481 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 19:28:29 ] OSのバグじゃなくて.NETかお前の書いたソースの問題。 とりあえずC#スレで聞いて来い。
482 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 20:16:09 ] >VS2010β2付属のSpy++も4文字しか認識しません。
483 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 21:55:22 ] >>479 正しく機能しないと思うなら、正しく機能するようにむりやり書いておけばいいと思うよ APIにバグなんて意外とあるし、バグでなければどうせそのうち矛盾して直す羽目になるから
484 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 21:59:14 ] 宣言が間違ってる。ref が足らない。
485 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 21:59:48 ] IntPtr で受けて、Masharl.PtrToStringAnsi() とかで文字列に変換しろ。
486 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 22:09:45 ] バッファ確保しとかないとダメだろ。
487 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 22:32:19 ] 相手側の実装の問題かも
488 名前:467 mailto:sage [2010/01/12(火) 22:50:04 ] 自己解決しました
489 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 22:57:01 ] マーシャリングの問題なのでAPIスレの範疇ではない
490 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 23:11:51 ] XP VC6 SDK _MBCSビルドで正常に表示されている仮想リストビューが _UNICODEビルドに変更すると LVN_GETDISPINFO(W)が来ず、なぜか LVN_GETDISPINFO(A)が来るのでそれに対し WCHAR文字列のポインタを与えると それを charと解釈し正常に文字が表示されません。 試しに LVS_OWNERDATAを外して InsertItemで WCHARの文字列を挿入すると 3カラム中 1カラム目は正常に表示され、2,3カラム目はデータが無いので LVN_GETDISPINFO(A) が 発生し、前述と同じ表示になります。 LVN_GETDISPINFO(A)に対し、WCHAR文字列ではなくchar文字列のポインタを与えると 2,3カラム目も正常に表示され、1カラム目は WCHAR、2,3カラム目は charという おかしな状態になります。 何か LVN_GETDISPINFO(W)が来ない原因が思い当たりますでしょうか。
491 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 23:52:31 ] >>490 ウィンドウクラスは WC_LISTVIEWW になっているかい?
492 名前:デフォルトの名無しさん mailto:sage [2010/01/12(火) 23:57:50 ] はい。念のため、CreateWindowExW、WC_LISTVIEWW としても実行してみましたが 同じでした
493 名前:490 mailto:sage [2010/01/13(水) 00:56:40 ] 原因が分かりました。 他の言語の GUIに リストビューを貼り付ける形で 何の言語からも手軽に 仮想リストビュー や表示するデータを利用できるように作った DLLなのですが、その親となる相手方のコントロ ールやウィンドウをサブクラスしていて、親(相手方)が ANSIだった為 リストビューが親に ANSI のメッセージ(WM_NOTIFY)を送っていたようです。 間に1枚 UNICODEのコントロールを作成することで解決しました。 >>491 ありがとうございました
494 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 01:31:03 ] BitBltでソースの画像より大きいサイズを指定すると 余った部分が真っ黒になるようだけど、 その部分の色を指定することは出来ないの?
495 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 02:51:59 ] >>494 背景とソースを合成したビットマップを動的に作成してBitBltするか ソースの画像サイズでBitBltしてから描画した画像の範囲をExcludeClipRectして最後にソースよりも大きいサイズの矩形を塗りつぶす。
496 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 02:57:51 ] 入力先はソースより大きくする理由はない 出力先が大きいなら塗り潰す
497 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 03:05:55 ] >>496 StretchBltと間違えていませんか? BitBltは入力元のサイズは指定できませんよ。
498 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 03:14:59 ] 指定できなくても元サイズはあるだろう destをそれと同じサイズにすればいいだけ
499 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 03:23:43 ] 真っ黒になる(=ゼロクリアする)かどうかって不定じゃなかったか? ちゃんと正しいサイズを指定しろ。
500 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 03:32:19 ] >>498 じゃあこれはどういう意味ですか? > 入力先はソースより大きくする理由はない
501 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 03:40:52 ] 絵を絵より大きなサイズ指定して出力しても仕方がないだろう
502 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 03:56:24 ] >>500 そんなん俺に聞かれたって知るかよ
503 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 05:42:34 ] 知らないならレスしないで下さい。ウザイだけです。
504 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 10:28:10 ] そもそもBitBltにソースのサイズを超える指定をした場合の言及がないので、 動作は未定義と考えるべき。 ドライバの実装など環境に依存する可能性があるので、そもそも使うべきではない。
505 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 10:59:23 ] Vista以降はドライバに依存しないでしょ
506 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 13:02:16 ] だれがVista以降専用だと書いているんだ? なんで脳内妄想で書いてもいない前提条件を付けるの?
507 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 13:56:45 ] 質問する際に対象OSを書かない場合は質問時点での最新OSとみなします。
508 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 14:12:45 ] SDK的解釈かよw
509 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 18:03:45 ] >>496 ダブルバッファとやらだと 画面全体のサイズに描画するものじゃないの?
510 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 18:22:08 ] 画面全体のサイズのバッファを用意してるからな
511 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 12:37:57 ] [Mainウィンドウ]→→→※[TreeViewウィンドウ(Mainのowned)] ↓ [Mainダイアログ(Mainの子)] ※印のTreeViewウィンドウは、CreateWindow()でなければ実現できない 機能を持たせているので、独自にメッセージループをもっています。 ここで、その※印のTreeViewウィンドウを開いたまま Mainウィンドウを 閉じてアプリを終了すると、”ゾンビ状態?”になり、タスクマネージャーに プロセスが残ります… どうも PostQuitMessage() が実行されてないようなんですが、 なにが悪いのか、ヒントだけでもお願いいたします。 m(。。)m
512 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 12:51:47 ] PostQuitMessageで独自のメッセージループは抜けるけど、 元のメッセージループはそのまま走っているからじゃないかな もう一回PostQuitMessageしてみたらどうだろう
513 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 14:27:28 ] > CreateWindow()でなければ実現できない機能 意味不明 たぶんTreeViewをサブクラスすれば済む話のような気がする
514 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 17:25:29 ] 設計思想が悪い
515 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 17:42:35 ] 頭が悪い
516 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 17:50:04 ] >CreateWindow()でなければ実現できない >機能を持たせているので、独自にメッセージループをもっています。 CreateWindowの利用と、独自にメッセージループを持つという内容が繋がらない。 この独自というのがTreeViewを完全に再実装しているのか、 メッセージループの中でさらにメッセージループを使っているということなのか、 別スレッドで回しているということなのか全く伝わらない。
517 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 18:09:18 ] 全く伝わらない奴がなぜレスするの?
518 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 18:14:47 ] 独自のモーダルループを用意してるんだろ。 そんな事も分からない連中は黙っとけ。
519 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 18:26:01 ] 俺も全く意味が分からなくてレスしなかったけど、意味が分からないということも 伝えないとダメだなw 同じスレッドで作成したウインドウなら、普通は全て1つのメッセージループで 処理するものだしね。 別のものを「メッセージループ」と間違って呼んでいるのか、それとも別スレッドなのか、 あるいはPeekMessageでhWndを限定しながら回してるのか。 CreateWindowでなければ実現できない機能というのもよく分からない。 Dialogだとできないって意味なのかな? >>518 TreeViewウインドウを開いたままMainウインドウを操作できるようだから、 モーダルではないと思う。
520 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 18:35:30 ] IEのプロキシ設定を行った場合、 そのアドレス、ポートの情報を win32api で取得することは可能でしょうか?
521 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 18:48:57 ] >>519 モーダルダイアログとモーダルループの違いも分からないの?馬鹿なの?
522 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 18:54:07 ] モーダルダイアログとモーダルループが分からない人ってまだ居たのか。 まあ、回答者のレベルが低すぎるのがこのスレ最大の欠点だが。
523 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 18:59:59 ] どこのスレにも一人ぐらいいるでしょw ろくに知識無いくせにやたらと回答したがる奴
524 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:39:42 ] オレオレ
525 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:40:25 ] エンドレスループですね
526 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 20:44:29 ] 知識ある人はレスしないで下さい。ウザイだけです。
527 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 21:17:37 ] もし、※ループのGetMessageでWM_QUITを拾うと、WM_QUITがMSGキューから消えてる Mainループでは、WM_QUITが拾えないので無限ループ
528 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 21:19:26 ] 正しくは、WM_QUITは、内部フラグをONにしているだけとか書くなよ>知識あるやつ
529 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:02:55 ] >>512 で答え出てるのにここまで引っ張るあたりさすがだな しかも知識無い馬鹿まで混じってるしw
530 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:07:57 ] Win32 の基礎知識を理解してない馬鹿の回答は禁止します。
531 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:26:29 ] >>520 InternetQueryOption
532 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:31:15 ] >>529 >>512 の現象分析は正しいが、解決法は間違っとる。
533 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 22:58:45 ] 間違ってないよ そんな事さえ分からんのか
534 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:00:41 ] 知識無い馬鹿はスルーしろ。
535 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:03:11 ] >>532 間違っているというのなら、何が間違っていて正解は何なのかを提示しろ。 煽るだけのどこかの馬鹿と一緒になるぞ。
536 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:17:45 ] どこかの馬鹿(笑) お前だよwww
537 名前:デフォルトの名無しさん [2010/01/14(木) 23:21:34 ] msdnに検索機能が無いとかほざいた馬鹿?
538 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:23:44 ] 正解
539 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:31:48 ] どうでもいい
540 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:35:19 ] ▄▄ ▄▄▄ █ ▄█ ▄██▄▄ ▄▄▄▄▄ ▀▀▀▀▀▀█▄▄▄▄▄ █ ▄█▄▄▄▄ ▀ █ ▀▀▀▀▀▀ █ █ █▄ █ ▀▀▀▀ ▀▀▀█▀▀▀ █ █▄ █ ▄█ █▀▀█ █ █▄ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀ ▀▀ ▄▄▄▄▄▄ ▄▄▄ ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀ █ █▀ █ ▀▀█▀ ▀▄ █ █▀▀▀ █ █▄ ▀ █▄▄▄ █ ▄▄▄ ▀▀ ▀ ▀▀▀
541 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:48:14 ] 許しを請うなら二度と来るな。
542 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:53:34 ] 許しを請いに来い
543 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:57:32 ] ねえ、Win32の知識に乏しいのになぜスレに居るの? 正直に答えてよ。
544 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 23:59:58 ] 質問スレだからだよ
545 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:04:53 ] 理由になってない。 少なくとも回答する立場では無いだろう。
546 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:05:44 ] 元の質問者ほったらかしで雑談するのもうやめようぜ。
547 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:07:44 ] 質問は>>512 で解決してるだろ
548 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:09:31 ] 現時点で未解決の質問は>>543 だけです 当事者は早く答えなさい
549 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:15:07 ] >>535 > 質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
550 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 00:24:42 ] >>549 MSDNに検索機能なんてないだろ いったいどれだけホラ吹けば気が済むんだ?
551 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 02:42:05 ] ホント、学生レベルの回答者が多いな。
552 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 07:15:44 ] どこかの馬鹿という言葉にすぐさま反応しているのは、 自分にその認識があるのを認めてしまったことを示すわけだけどね。
553 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 08:14:08 ] ちょっとAPIの質問と違うのですが、CreateWindowでコマンドボタンを作成した場合 戻り値のHWNDはどこに置くのがスタンダードなんでしょうか? メッセージで呼び出されるウィンドウプロシージャ内にstatic宣言かグローバル宣言かに ナルト思うのですが。
554 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 10:02:43 ] GWL_USERDATAにオク。
555 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 10:12:14 ] ウインドウ自体をclassで管理して、親ウインドウのメンバ内に置く。
556 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 10:52:58 ] ボタンくらいならID振って、戻り値は関数の成否判定のみ
557 名前:デフォルトの名無しさん [2010/01/15(金) 13:55:41 ] レジストリファイル(.reg)を プログラム上から読込み、レジストリ登録を行いたいのですが、 間単に行えるAPIはないでしょうか? また、逆に指定したレジストリのキー配下を.reg形式で出力するAPIも あれば教えていただきたいです。
558 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 14:01:08 ] regedit使え
559 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 14:02:35 ] むしろreg.exe使え
560 名前:557 [2010/01/15(金) 14:08:25 ] >>558 ,559 外部のモジュールが使えないので、悩んでいます。 APIがなければ、自作で.regファイルを読み込み、 1個ずつ登録して行きます。
561 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 14:09:58 ] 外部て、OSに標準で備わってるファイルだろ
562 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 14:16:47 ] APIだってある意味外部のモジュールでしょうが
563 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 14:50:11 ] 557は頭が悪いからその辺理解できないのね
564 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 15:18:47 ] >>557 そういう用途は恐らくVB-Scriptを使うのが最善ではないかと
565 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 15:38:38 ] "VB-Script"?
566 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 16:02:46 ] VBScriptなりJavaScriptなり場合によってはPerlScriptを 使ってWSHでも使えば?Windows Scripting Host. メモ帳でコード作ってファイルのアイコン、マウスク リック一発で一発起動。 Windowx9xの頃からあるんでそこそこ安定しているし 最近のマシンだったら十分早い。 Windows power shellのほうが良いという人はそっち 使えばいいし... C++でレジストリ環境のAPIを使うやり方は恐らく とりあえずは知らなくてもよいことまで いちいち勉強しなければならなくなる可能性大
567 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 16:24:51 ] そんな事しなくてもバッチファイルでregコマンドを呼べばいいじゃん
568 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 16:29:58 ] >>566 はreg.exeで.regファイルが読み書き出来るのを知らないんでしょ
569 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 16:40:22 ] プロシージャ呼び出しじゃなきゃいや。という理由であったとしても、 もRPCの仕組み知っていれば意味無い事がわかるし。
570 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 16:47:40 ] もRPCって何?
571 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 17:32:15 ] >>566 MSDNとか調べると一番嫌なのは、結果的にも取り敢えず知らなくて も良かったことまで調べなければならなくなること。 これは辛いよね。確かに。フラストレーションが滅茶苦茶溜まる。 >>568 Wsh知ってるんだったらReg.exeも当然知ってるだろうし 当然バッチも使った上でのWsh推奨だろ VBScriptは型が無いようであるVariantが標準型だからC++プログラマ にとってはJavaScriptよりか使いやすいんじゃないかと
572 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 17:57:54 ] レジストリキーとファイル名を引数にコマンドを実行するだけのスクリプトに型なんて関係無いでしょうが 知らないのに無理にレスしなくていいよ
573 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 17:59:55 ] とりあえず>>566 =>>571 が頭悪いのは分かった
574 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:12:22 ] >>571 君はプログラマに向いてない 転職をおすすめする
575 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:31:40 ] そもそもJavaScriptとJScriptを混同している時点で終わってる。
576 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:39:56 ] MSDNとか調べると一番嫌なのは、 Dr.GUIとかいうアホなキャラが うだうだ御託並べた駄文読まされた挙句 それが探してるものと全然関係ない話題だと気付いたとき
577 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 18:51:49 ] いや、それはもっと早い段階で気付くべき
578 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 19:00:54 ] 検索が下手な気がする Win32内に絞り込んでおけばその手のゴミは拾わないはず
579 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 19:29:48 ] 切削されたgoogle経由の検索が好まれる所以
580 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 19:43:49 ] MSDN検索でWin32&COMを指定した方がいい google経由はノイズが多すぎてうざい
581 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 19:45:36 ] っつーか Dr.GUY ってなんであんなにおしゃべりなんだ? そもそもあんなもの MSDN に要らんだろ?
582 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 19:52:05 ] Dr.GUYってのはわざとじゃなくて素で間違えたな
583 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 19:56:34 ] 検索できない馬鹿の言い訳は見苦しいので終了
584 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:02:16 ] 大して知識も無いド素人がうだうだ御託並べた駄レスの方が迷惑です
585 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:23:50 ] 馬鹿は使うな! 以上!
586 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:35:33 ] 馬鹿は使うな! 以上!
587 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 20:44:09 ] 馬鹿は使うな! 以上!
588 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 21:06:34 ] 馬鹿は使うな! 以上!
589 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 21:10:56 ] いくら大事なことだからって4回も言わなくていい
590 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 21:16:21 ] いくら言ったところで当の本人が自覚してないから無駄
591 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 21:42:19 ] >馬鹿は使うな! >以上! うわっ誰も使えねえ!!!
592 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 21:50:06 ] 馬鹿以外は使えますが、何か?
593 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 23:57:17 ] そうだね。 使えないのはお前らだけだね。
594 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:04:59 ] ホント、役に立たんスレだな w 学生さんは回答やめたら?
595 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:29:21 ] と、このスレ一番の馬鹿が申しております
596 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:36:25 ] 今時JScriptってもしかしてJavaをJ++だと未だに言う人?
597 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:37:16 ] さあ、必ず反論しないと気が済まない馬鹿が来ましたよ〜
598 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:38:53 ] >>566 =>>571 =>>596 こいつが消えればスレは平和になる
599 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:42:23 ] ん?鋭い指摘でもしたつもり?
600 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:42:53 ] 今時っていうかWindows7でも.jsの説明にJScriptと書いてあるんですが(笑) Windowsが存在しない時代から来た未来人ですか?
601 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:45:44 ] ・モーダルループを知らない ・reg.exeを知らない ・JScriptを知らない ・MSDNの検索機能を知らない
602 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:48:44 ] ここまで恥を晒しながらも平然と書き込みできるのが信じられない
603 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:49:48 ] 人工知能だろ
604 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 00:51:19 ] 人工”知能”を名乗るな
605 名前:596 mailto:sage [2010/01/16(土) 00:52:45 ] 自己解決しました
606 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 01:53:59 ] >>605 どうやって解決したか教えて。
607 名前:596 mailto:sage [2010/01/16(土) 02:04:16 ] 歴史の教科書を読み返しました ちなみに私は2077年から来ました
608 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 02:23:59 ] >>607 歴史の教科書にJScriptが載ってるのですか?
609 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 02:46:18 ] Webの歴史書に決まってるだろ
610 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 02:50:43 ] 古墳から出土しました
611 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 06:10:38 ] APIでレジストリ扱うんだったら、仮想PCにWin2000とか インストールしてそこで慣れてから。開発マシンとは言え リアルPCではやらんほうがいい。 reg.exe+バッチだと文字列のきめ細かい操作が絡むとたちまち 面倒になってくる。第一.regファイルもMS内部仕様のファイル なんで扱わないで済ませられるんだったらそうしたほうがいい。 WSHを使う場合、J(ava)Script/VBScriptの選択があるがどち らでもお好きなほうで
612 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 07:52:02 ] 構って貰いたくてわざとやってるとしか思えない。 以後の発言はコテを強制します。
613 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 07:58:26 ] リア小じゃねぇの?w
614 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 08:10:18 ] 変なのが住み着いちゃったね
615 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 08:15:04 ] >J(ava)Script/VBScript 間違いを間違いとして認められない気性がよく表れている。 さらに全然関係ない話を挟んでごまかそうとするところとか。
616 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 08:32:19 ] WScript.ShellオブジェクトとかをC++で操作すればいいんじゃね? あ、APIの話じゃないから関係ねぇかw
617 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 08:46:57 ] そもそも必要性が皆無
618 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 09:06:29 ] プログラムから.regファイルに関わろうとする必要性がね
619 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 09:09:36 ] regedit.exe/reg.exe/regedit2.exe等専用の形式が.regなんで その仕様に依存したプログラムを作ろうとしているのにそもそも 問題がある。APIに依存したプログラムすら問題視されているこの ご時勢に。
620 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 09:33:11 ] 解決方法は以下の三つ .regを使用せず独自の形式を使う 外部プログラムから.regを利用する .regの構文を独自のプログラムで読み出す で、質問の条件を満たすのは3つめのみ 以上が結論 で、wshとかテストを仮想環境でやるとか、脱線も甚だしい。
621 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 09:36:41 ] 619はMVPだろ 質問者の狭い世界ではそんな要求されてねぇのに
622 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 10:05:58 ] 3つめの結論を取る限りWsh.Shell オブジェクトを 使わぬ手はないね。これをする際にScriptでシミュレート することが出来るのが嬉しいね。 レジストリをReg系APIで弄るPGのテストをリアルマシン でするのはレジストリ飛ばして再インストールしました。 一部業務データが消えました、ごめんなさいで許される趣味で やってる奴らだろ。Windowsプログラマなら常識以前じゃん
623 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:09:39 ] 外部プログラムですら駄目だと言っている質問者にwshを利用させようとする馬鹿さ加減は、 さすがにJScriptとJavaScriptを混同するだけのことはある。
624 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:15:38 ] RegSaveKey()、RegLoadAppKey() って違うの?
625 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:21:18 ] .htaに書かれているのはJScript JavaScriptどっち?
626 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:27:08 ] Wsh.Shellと[wc]script.exeを混同しているおバカさんですか?
627 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 11:35:14 ] WScript.ShellとWsh.exeを混同している人よりかマシだろ
628 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 12:21:38 ] いい加減コテつけろよキチガイ
629 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 12:54:04 ] APIの枠組みだけで閉じてしまったら (Win32) APIプログラミングはできないだろ COMとかRDBとかを同時並行に勉強しないとな
630 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 13:13:34 ] Win32 APIは枠組みじゃないだろ、そもそもからしてよキチガイ
631 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 13:26:53 ] だからコテつけろ
632 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 13:33:49 ] コテつけるのはキチガイ
633 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 13:49:27 ] 既に基地外だからコテつけろ
634 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 13:51:48 ] さっさとコテつけろよキチガイ
635 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 14:02:42 ] ▄▄ ▄▄▄ █ ▄█ ▄██▄▄ ▄▄▄▄▄ ▀▀▀▀▀▀█▄▄▄▄▄ █ ▄█▄▄▄▄ ▀ █ ▀▀▀▀▀▀ █ █ █▄ █ ▀▀▀▀ ▀▀▀█▀▀▀ █ █▄ █ ▄█ █▀▀█ █ █▄ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀ ▀▀ ▄▄▄▄▄▄ ▄▄▄ ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀ █ █▀ █ ▀▀█▀ ▀▄ █ █▀▀▀ █ █▄ ▀ █▄▄▄ █ ▄▄▄ ▀▀ ▀ ▀▀▀
636 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 17:55:10 ] メッセージループと他の処理をスレッド それぞれ別のスレッドで動かしているんだけど 他の処理スレッドからアプリを終了させるには 単純にWM_DESTROYを送るだけでいいの?
637 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 18:25:46 ] WM_DESTROYを送るというのが大間違い
638 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 18:31:08 ] >>636 スレッドを全て終了させる必要があるよ ちなみにメッセージループを抜けるには メッセージループを実行しているスレッド内でPostQuitMessage関数を呼べばいい 大抵はウィンドウ破棄のタイミングでアプリケーションを終了させるので ウィンドウ破棄時に送られるWM_DESTROY内でPostQuitMessage関数を呼ぶ だからWM_DESTROYを送ると終了できるように見える
639 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 19:46:39 ] 練習でエディタ作ってるんですが IMEの変換中の文字列って小さく補正?されるんでしょうか? 同じサイズの同じフォントにしたいんですが こんな感じで2パターン試したところ変換中の文字のほうが小さくなります LOGFONT logfont; #if 0 HFONT default_guifont = (HFONT)::GetStockObject(DEFAULT_GUI_FONT); ::GetObjectA(default_guifont,sizeof(logfont),&logfont); #else ::SystemParametersInfo( SPI_GETICONTITLELOGFONT,sizeof(LOGFONT),&logfont,0); #endif ::ImmSetCompositionFont(ime,&logfont);
640 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 22:44:30 ] >>638 他のスレッドを終わらせるのってどうやるの? TerminateThreadだとメモリリーク起きるんでしょ?
641 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 22:49:03 ] フラグでも何でも使ってリターンさせりゃいいだろ
642 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 22:51:07 ] ここはAPIスレなのでAPI使って回答しなさい
643 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 22:51:36 ] あ”?
644 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 22:54:56 ] あぴ♥
645 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 23:05:34 ] >>637 じゃあWM_CLOSEは?
646 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 23:55:08 ] WM_CREATEやWM_DESTROYはOSが送ってくるメッセージであって プログラマが送るメッセージではない
647 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 01:02:34 ] 頭が固いと640みたいな発想になるのかな
648 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 04:27:25 ] JScriptとJavaScript 昔はWSH専用コードがJScript HTMLに埋め込まれているのがJavaScriptで ほぼ通った。 しかし.NETが出て10年以上経つた現在 JScriptとはほぼJScript.NETのことを指す でいいんじゃね?(つまりWSH専用コード もJavaScriptと統一。同じ文法なんで)
649 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 04:58:58 ] コテつけろや キチガイ
650 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 05:42:55 ] >>647 頭が固いのではなくプリエンプティブマルチタスクOSに関する基礎知識がないものと思われる
651 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 06:49:12 ] >TerminateThreadを不用意に使うとメモリリークが起こったりする 原因になる 「夕焼けが出ると明日は快晴」 と同じ信頼レベルで概ね正しいが、100%正しいわけではない。 脳軟化症気味だから、ちょっとコ難しい横文字が出ると 100%正しいことなんだと、右辺と左辺を等式で 結んでしまうんじゃ?
652 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 08:04:50 ] このツンデレめ。下3行が「べ、べつにあなたの〜」に対応するわけだな。
653 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 11:30:41 ] HTMLに埋め込まれてるのもIEの場合JScript
654 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 11:34:37 ] msdn.microsoft.com/en-us/library/d1et7k7c (VS.85).aspx を見れば、MSのECMAScript実装が「JScript」である、ってことぐらいわかると思うんだけどな・・・。 当然、ブラウザだからどう、なんてのは関係ない。
655 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 11:51:14 ] 関係はあるだろ MSの実装がJScriptならMSのブラウザならJScriptということになる
656 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 12:00:07 ] なんでIEでは<script lang='JavaScript'>なんてHTML 読むと一見正常動作するように見えて実は... というデマが流れたりしかねないんでさ そういう些細な話はもうやめたら?
657 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 12:02:53 ] 文脈の読めない馬鹿乙。
658 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 12:10:34 ] ▄▄ ▄▄▄ █ ▄█ ▄██▄▄ ▄▄▄▄▄ ▀▀▀▀▀▀█▄▄▄▄▄ █ ▄█▄▄▄▄ ▀ █ ▀▀▀▀▀▀ █ █ █▄ █ ▀▀▀▀ ▀▀▀█▀▀▀ █ █▄ █ ▄█ █▀▀█ █ █▄ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀ ▀▀ ▄▄▄▄▄▄ ▄▄▄ ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀ █ █▀ █ ▀▀█▀ ▀▄ █ █▀▀▀ █ █▄ ▀ █▄▄▄ █ ▄▄▄ ▀▀ ▀ ▀▀▀
659 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 12:24:09 ] JScriptとJScript.NETは違うんだから、後者を指したいなら JScript.NETと明示的に言うか、そうでなければ、誤解の起こらない それなりの文脈のもとでJScriptといわなければだめだろう
660 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 12:25:33 ] 一緒だと考えてるのはMVPくらいだろ?
661 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 12:28:05 ] >>640 終了用のEventを用意したり PostThreadMessageで終了用メッセージを投げたり
662 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 12:40:56 ] 何?JavaScriptとJScript.NETが違うって? 常識じゃん。それって
663 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 12:43:10 ] JavaScriptとJScriptも違うのは常識だけどな
664 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:10:53 ] SpiderMonkeyもV8もJavaScriptとは違うと言えるな。
665 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:12:58 ] SpiderMonkeyはJavaScriptだけどな。
666 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:24:06 ] JavaScriptは言語仕様であり、かつその実装のこと ECMAScriptとはJavaScriptやJScript等の言語を共通化するために作られた言語仕様 SpiderMonkeyはJavaScriptの実装のコード名 JScriptはECMAScript互換の言語仕様及び実装のこと まとめると SpiderMonkeyはJavaScript JScriptはJavaScriptではない ECMAScriptはJScriptではないが、JScriptはECMAScriptの一種 ECMAScriptはJavaScriptではないが、JavaScriptはECMAScriptの一種
667 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 13:29:41 ] ▄▄ ▄▄▄ █ ▄█ ▄██▄▄ ▄▄▄▄▄ ▀▀▀▀▀▀█▄▄▄▄▄ █ ▄█▄▄▄▄ ▀ █ ▀▀▀▀▀▀ █ █ █▄ █ ▀▀▀▀ ▀▀▀█▀▀▀ █ █▄ █ ▄█ █▀▀█ █ █▄ ▀▀▀ ▀▀▀ ▀▀▀▀ ▀ ▀▀ ▄▄▄▄▄▄ ▄▄▄ ▀▀▀▀ █▀▀ ▀▀▀▀▀█▀ █ █▀ █ ▀▀█▀ ▀▄ █ █▀▀▀ █ █▄ ▀ █▄▄▄ █ ▄▄▄ ▀▀ ▀ ▀▀▀
668 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 17:30:19 ] APIと何の関係があるまとめなんだ?>>MVP
669 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 17:54:24 ] バージョンが違うだけ
670 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 02:03:36 ] OpenProcessで開いたプロセスの処理速度を2倍、3倍などの任意の速度へ変えたいのですが 何かそれっぽいAPIがありましたら教えてください。
671 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 02:14:26 ] 処理速度?優先度の間違いだよな…? 優先度ならSetPriorityClassとか CreateToolhelp32Snapshotでスレッド列挙してからSetThreadPriorityとか… CreateToolhelp32Snapshotは今は別な方法あったような気がする あったはず 覚えてないけど
672 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 02:27:03 ] いや優先度じゃなくて、よく処理速度です。 フリーのソフトを例に出すと「Ragud Mezegis」でやっているような処理です
673 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 02:41:55 ] dependency walkerでRagud MezegisとDLLを見た感じでは タイマーAPIのフックしてるだけみたいだ SetWindowsHookEx辺りで対象プロセスに侵入して ImageDirectoryEntryToData辺りでインポートアドレステーブルを探して VirtualProtectで書き換え可能にして 参照アドレス書き換えればいい
674 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 02:43:41 ] なんか難しそうですがありがとうございました
675 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2010/01/18(月) 03:50:54 ] ファイル→プロパティ→セキュリティで表示される、 user のアクセス許可を許可、あるいは拒否 をプログラムから変更するにはどうすればよいのでしょうか? 環境は Visual C++ 2005, Windows XP です
676 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 04:03:15 ] aclSetEntriesInAcl 既存のACL(アクセス制御リスト)に新しいアクセス制御情報、 または新しい監査制御情報を結合することで新しいACLを作成
677 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 04:05:59 ] >>675 つ ttp://www.geocities.jp/rasuxo/win32.html
678 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 04:18:31 ] 昼間は糞みたいなレスしかしないくせに 夜間は頑張るじゃないか君達
679 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 04:34:37 ] 朝ですが
680 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2010/01/18(月) 05:13:39 ] >>676-677 ありがとう! 挑戦してみます
681 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:11:45 ] >>641 >>661 そのスレッドでメッセージループみたいな ブロッキング関数をwhileで回してた場合はどうするの?
682 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:29:03 ] ブロックしない方法にしたらいいじゃないか
683 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 01:31:41 ] 何がブロックしてるかによって解決方法は違うんじゃね。 GetMessageだったらPostすればいいし、 イベントオブジェクトなら持ってる奴が所有権放せばいい。 ブロッキング関数なら非ブロッキング関数使うなり。 万能解を求めるから強引になるんじゃないの? 頭やわらかく行こうぜ。
684 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 02:07:31 ] standby listに無理やり読み込ませるAPIみたいなものってないの?
685 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 02:44:41 ] 無いね。
686 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:21:42 ] エディットやリストボックスを画面上から消すにはどうすればいいんだ? DestroyWindowてのを試したが何も起きなかった
687 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 20:55:04 ] >>686 エディットやリストボックスのウィンドウハンドルが合っているか確認する。 エディットやリストボックスがDestroyWindowを呼び出すスレッドに属しているか確認する。
688 名前:デフォルトの名無しさん [2010/01/19(火) 21:30:27 ] >エディットやリストボックスがDestroyWindowを呼び出すスレッドに属しているか確認する。 どういうこと?コントロールを生成したスレッドじゃないと消せないってことなの?
689 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 21:54:05 ] 別のスレッドで作成したウィンドウを DestroyWindow 関数で破棄することはできません。
690 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 09:09:42 ] ウィンドウのサイズ変更で、 縮小できるサイズを制限する方法教えてください
691 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 09:45:30 ] GETMINMAXINFO
692 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 20:01:14 ] CreateWindow関数をでテキストボックスを作成し SetWindowTextでボックスに文字を入れたいのですが ボックス内をクリックしないとSetWindowTextで入れた文字が画面に描画されません InvalidateRect関数で再描画をしてみたのですがやはり反映されないようです・・・ どのようにすれば、テキストボックス内に文字をすぐ描画することができますか?
693 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 21:14:49 ] >>692 SetWindowTextだけで反映するよ static HWND hEdit;//or グローバルでHWND hEdit; ・・・ hEdit = CreateWindow... ・・・ SetWindowText(hEdit,"....."); 確認してみて。
694 名前:デフォルトの名無しさん mailto:sage [2010/01/20(水) 21:38:30 ] >>693 ちょっとやってみます。 ありがとうございます。
695 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:49:21 ] キーボードで左右上下に何かを移動させるようなゲームを作りたいんだけど キー入力がある度に背景のマップも再描画しないとならないの?
696 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:50:01 ] 無効じゃない領域は再描画しなくていいよ
697 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 23:05:35 ] スクロールするなら移動して背景について新たに表示が必要になった部分だけ描画する
698 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 23:27:13 ] IMEパッドみたいにマウスで文字を書くプログラムを作りたいんだけど MouseMoveと何を使えばいいですか? マウスで直線を描くプログラムならできるのですが・・・
699 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 23:31:45 ] >>698 直線で曲線を近似すればいいと思うよ。
700 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 23:54:23 ] >>699 マウスポインタの始点と終点をLineTo関数で繋ぐことしかできないんで・・・ どうすれば曲線の近似をかけますか?
701 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 00:04:42 ] >>700 俺とて素人だから大きなことは言えないが たとえば0.1秒ごとに点を取ってつなぐとか。
702 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 00:06:54 ] 試しにさぁ MouseMoveが来るたびにx,yにSetPixelしてごらんよ 点が集まれば線になることは分かるだろ 点をでかくするのもいいだろう
703 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 00:11:29 ] 本に書いてあった方法だが、>>702 のようにすると飛び飛びの点々になるだけだから、 MouseMoveでLineToを呼べばちゃんと繋がるとのこと
704 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 00:12:00 ] GDI+のGraphics::DrawCurveならスプラインが描画できるな。
705 名前:698 mailto:sage [2010/01/22(金) 00:45:09 ] timer使ったりしてるんですけどなかなかうまくいきません・・・ けど、いろいろ試そうと思います。 みなさん、ありがとうございます。
706 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 01:43:50 ] case WM_TIMER pt.x=LOWORD(lParam); pt.y=HIWORD(lParam); ってできないんだっけ?
707 名前:698 mailto:sage [2010/01/22(金) 02:42:09 ] あ、linetoを2回使ったらできました! 皆さんのおかげです。 ありがとうございました。
708 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 03:19:24 ] マウスで曲線描く場合 一般的には始点制御点終点の3点からベジエ曲線を描くと比較的簡単 ja.wikipedia.org/wiki/%E3%83%99%E3%82%B8%E3%82%A7%E6%9B%B2%E7%B7%9A
709 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 03:45:56 ] >>706 LPARAMは常にマウス座標が入ってんのか 面白いw
710 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 19:04:37 ] GetMessagePosとかなんとか
711 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 21:52:11 ] TRUEって打とうと思ったのにTERUってなっててワロタんですがどうしたらいいですか?
712 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 21:58:34 ] #define TERU TRUE
713 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 01:02:57 ] 座標xが0〜10yが0〜10 の範囲に線が引かれているかどうか確認するプログラムを作りたいのですが どうすればいいか思いつきません、誰か知恵を貸してください
714 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 01:17:54 ] お前センス無いからもう諦めた方がいい
715 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 01:37:44 ] そこをなんとか、頼みます
716 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 02:06:32 ] >>715 一度その線を描き GetPixelの類で(0,0)〜(10,10)までの座標の点色を1個1個確かめるという バカでもわかる方法があるけど まともなレスを求めるなら 線にも色々あるのでどんな線なのか 0〜10までの刻み幅はどの程度なのか 端数の処理方法はどうなってるのか このあたりは最低限欲しいところ。
717 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 02:25:02 ] すみません 線はLineTo関数で書く普通の線です。 例えば、100*100ピクセルの正方形内にどんな形でもいいので線が引かれていたら1を出力 線が引かれていなかったら0を出力するみたにしたいです。 説明が下手ですみません。
718 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 02:37:12 ] >>717 線数を数える変数でも作って、LineToで線を描くときにカウントするのは駄目なの? 正方形の範囲外にも線が引かれる可能性があるなら、線を描く時にマウスの座標で範囲チェックも実施するとか。
719 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 02:51:04 ] >>717 線分&矩形のあたり判定なので レーザーアリシューティングゲームのソースでも見なさい 速さや精度が必要ないなら いったん描画してGetPixelで調べるのがいちばん簡単
720 名前:717 mailto:sage [2010/01/23(土) 04:49:14 ] レスありがとうございます GetPixcelでやって見ようと思うんですが RGBの値をうまく取得できません。すべて255,255,255になってしまいます。 下のようにやったのですが、何がいけないのでしょうか? COLORREF color; hdc=BeginPaint(hWnd,&ps); color=RGB(0,0,255); SetPixel(hdc,10,10,color); int r=GetRValue(GetPixel(hdc,10,0)); int g=GetGValue(GetPixel(hdc,10,0)); int b=GetBValue(GetPixel(hdc,10,0)); wsprintf(buff,TEXT("%d %d %d"),r,g,b); MessageBox(NULL,LPWSTR(buff),NULL,MB_OK);
721 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 05:14:33 ] >>720 10,10 に 0,0,255をセットしつつも 10,0の座標を見てる
722 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 07:02:03 ] GetPixelが遅いのは.NET通したときだけで、API叩く分には速いの?
723 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 07:13:37 ] 遅い。 一端DIBに転送してからシステムメモリ上で確認した方がいい。
724 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 10:01:16 ] 出る質問全てが中学生クラスの質問レベルだったり単純な数字のミスだったりで萎える 小学生か?
725 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 10:14:37 ] >>7211 すみません、ありがとうございます >>724 すみません。。
726 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 10:15:29 ] 最近の小学生は中学生クラスの質問をするのか。 ゆとり教育を止めて正解だったようだな。
727 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 10:18:01 ] すまないと思うなら1日は自分で悩めよ低脳
728 名前:デフォルトの名無しさん [2010/01/23(土) 10:38:26 ] SHAutoCompleteを使わずにコンボボックスで入力補完を行う方法を教えてください。
729 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 10:52:11 ] >>728 CLSID_AutoCompleteで作ったAutoCompleteオブジェクトをどうこうする。 詳細は以下を参照。 User Interface - Windows Shell - Shell Developer's Guide - Application Support - Using Autocomplete
730 名前:デフォルトの名無しさん [2010/01/23(土) 11:08:47 ] >>729 蟻がd
731 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 12:31:17 ] テーマとかビジュアルスタイルを設定した、ボタン等のコントロールのイメージは、どのようにすれば取得できますか。
732 名前:デフォルトの名無しさん [2010/01/23(土) 12:32:35 ] レジストリの中で、Explorerのコンテキストメニューを作り出すための ファイルの「新規作成」メニュー用のキーとその扱い方について教えて ください、これの言語対応について。 WindowsXpまでは、この「新規作成」されるファイルのファイル名は日本語 バージョンのOSでは確かに日本語の名称になっていました。 たとえば、'.rtf' の場合、rtffile の「新規リッチテキストドキュメント」 でした。 ところが、Vistaですとこれが「Rich Text Document」といった英語名になっていて、 それでもExplorerではメニューは日本語の名称で現れ、かつ新規作成もされていました。 これはWin32APIで日本語に変換できるものか、それともどこかに言語別の対応データが レジストリにあるのでしょうか?
733 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 13:50:48 ] >>732 実データは実行ファイルやDLLの文字列リソースに入っていることが多いな。 レジストリにはそのリソースへの参照文字列が入っている。 FriendlyTypeNameとか、ShellNewのItemNameとか。 拡張子に関連付けられた名前なら、AssocQueryStringで取れた気がする。 これ以上は、世界のどこかにいる関連付けマイスターにでも訊いてくれ。 歴史的経緯もあってか複雑怪奇過ぎて、俺も詳しくは知らん。
734 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 14:19:36 ] >>732 成功した暁には、是非その操作を一つの関数にまとめ、貴方の謹作Win32APIとしてフリーに公開して下さると一同感激します。
735 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 14:23:35 ] 名前は GetNewDocumentDefaultNameWhenNewDocumentOfRightClickContextMenuOfExplorer辺りでしょうか?
736 名前:732 [2010/01/23(土) 14:47:39 ] >>733 >FriendlyTypeName, ShellNewのItemName, AssocQueryString など なるほど!そういえばVistaにはこれらのキーがありますね、これらを 取得して調べてみます。ありがとうございました!!
737 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 14:50:39 ] どこを見てるのかわからないけど、「@filename,resource」の形式なら、 SHLoadIndirectString() とかで取れるよね。
738 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 14:57:41 ] >>734-735 過去ログ見れとか検索しろとかいうよりか 2ch仕様のWin32APIとしてまとめてDLLをどっかの サイトにソースごと置いておいてくれると有り難いよ な。確かに。
739 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 16:00:56 ] GetPixelより早いの無いの?
740 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 16:10:10 ] LONG WINAPI GetPixel2ch( HBITMAP hmembitmap,int x,int y) C++用にはインポートされておらずマクロで定義されているので 早い。
741 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 16:43:37 ] >>739 GetDIBits
742 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 22:15:26 ] lineToの幅は何ピクセルか分かりますか?
743 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 22:17:00 ] 殺すぞ
744 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 22:19:38 ] >>742 デバイスコンテキストのペンを取得してGetObjectしてペンのスタイルと幅を見る。 ヒントは出したから後は自分で考えろ。
745 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 22:25:02 ] ヒントっていうかまんまだな
746 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 02:42:52 ] おかげさまでキラーアプリが出来上がりました。 明日、特許申請に行こうと思います
747 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 05:52:45 ] ノートPCに、USBキーボード指して使ってるんですが USBキーボードのキーを押しっぱなしにしていても ノートPCのキーボードが押されてないと判断するのか WM_KEYDOWNの直後に同じキーのWM_KEYUPが発生してしまうのですが。 アプリで標準の入力とみなすキーボードの選択って どうやるのか教えて頂ける方いましたら宜しくお願いします。
748 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 05:55:12 ] WM_KEYDOWN WM_KEYUP WM_KEYUP WM_KEYUP WM_KEYUP っていう意味ならオートリピートしてるだけじゃないの?
749 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 06:15:02 ] ノートPCに直接ついてるキーボードでAキー押しっぱなしにしても KEYUPは来ないんですが、USBキーボードでAキー押しっぱなしにすると 押しっぱなしにしてるのにKEYUPが来てしまうんです。 ↓のような感じです。 if(PeekMessage(&msg,NULL,0,0,PM_NOREMOVE)){ if(!GetMessage(&msg,NULL,0,0)){ break; } if(msg.message == WM_KEYUP) { break; ←USBキーボードだとキー押下だけで、引っかかる。 }
750 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 06:20:35 ] >>748 すいません見落としました。 調べてみます。有難うございました。
751 名前:747 mailto:sage [2010/01/24(日) 13:32:40 ] たびたびすみません。 PCのキーボード長押しの後、離すと WM_KEYDOWN このとき"lParam30ビット直前のキー状態" は0 WM_KEYDOWN このとき"lParam30ビット直前のキー状態" は1 WM_KEYDOWN このとき"lParam30ビット直前のキー状態" は1 ... WM_KEYUP となり、自分が想像してるオートリピートの処理となるのですが USBキーボードだと長押しだけで WM_KEYDOWN このとき"lParam30ビット直前のキー状態" は0 WM_KEYUP WM_KEYDOWN このとき"lParam30ビット直前のキー状態" は0 WM_KEYUP WM_KEYDOWN このとき"lParam30ビット直前のキー状態" は0 WM_KEYUP ...繰り返す となるようなのですが、 直前のキー状態が0になるので OSのキーリピートでなく、自動連打?のようなものが働いているのですが これはキーボードについてるオートリピート機能と OSのキーリピートは異なるのでしょうか。 これだけをアプリから無効化する手段は何か無いでしょうか。
752 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 13:47:05 ] 自動連打って何よ。 ゲームの連射機能みたいなもん?
753 名前:747 mailto:sage [2010/01/24(日) 14:00:51 ] キーボードの説明書とやらを見てもリピートみは触れてないし キーボードのプロパティで、速度を、一番長く遅くしても短く速くしても 似たタイミングで↑のようなことになるんだもの。 きっと下らない原因なんでしょうが。 押下中にKEYUPが起こってもらうわけには絶対いかないので 脳内でこれを自動連打と名付けて対処方法考え中なだけです。
754 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:16:50 ] Bingってみると、チャタリングによる不良とかPS/2->USB変換機絡みで そういう事が起きることもあるみたいだな。 USBキーボード側が腐ってるって事で良いんじゃね?
755 名前:747 mailto:sage [2010/01/24(日) 15:05:15 ] >>754 有難うございます。 手動ではありえないくらい短い時間で連続してKEYUP来たら それは無視する、とかでもう少し粘ってみます。
756 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 15:44:06 ] Viewを管理するクラスを作っているのですが フォントってウィンドウごとに設定されるのでしょうか?
757 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:03:26 ] USBキーボードを違うのに変えても結果はおなじ?
758 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:20:30 ] キーボードのドライバがなんかやってるんじゃないの?
759 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:27:54 ] ドライバじゃいと予想してみた。初心者がつくった怪しげな常駐ソフトとか。
760 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:26:29 ] USBキーボードだとそんなことあるのか。 うちでも実験してみるかな?
761 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 19:20:01 ] >>756 CS_OWNDCでウィンドウ毎にDCを持たせればそういう事も出来るが、 そうでない場合は設定とかは無い。 WM_GET/SETFONTも実装側で対応しないと何の効果も無かったはずだし。
762 名前:747 mailto:sage [2010/01/24(日) 20:12:57 ] >>757 見直したところ、 ノートPCに付けてたのは、PS2 キーボードを USB PS2変換ケーブル「Arvel AUO1PS」につないで、 USBに指して使ってました。 別にUSBキーボードと、別のPS2キーボード、 WindowsXPマシン、WindowsVistaマシン が丁度あったのでテストしてみました。 開発環境(Windows Vista) +USBキーボード = 未発生。 +PS2キーボードA + 変換ケーブル = 発生。 +PS2キーボードB + 変換ケーブル = 発生。 WindowsXP マシン +USBキーボード = 未発生。 +PS2キーボードA + 変換ケーブル = 発生。 +PS2キーボードB + 変換ケーブル = 発生。 Windows Vista マシン +USBキーボード = 未発生。 +PS2キーボードA + 変換ケーブル = 発生。 +PS2キーボードB + 変換ケーブル = 発生。
763 名前:747 mailto:sage [2010/01/24(日) 20:15:10 ] >>754 >>PS/2->USB変換機絡みで そういう事が起きることもあるみたい 自分はソースを見つけられなかったので 確証無く、単に自分の変換ケーブルが壊れているだけかもですが、 自分で勝手に作ってるソフトなので、これを信じ、 対処の処理を追加したいと思います。 的確な、ご指摘有難うございました。
764 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 04:01:24 ] 二次元配列の中身をメッセージボックスで並べて表示したいのですがどうすればいいですか?
765 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 04:06:02 ] どうすればって…空白と\n(改行)で繋いで表示するとかしたらいいんじゃないでしょうか
766 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 10:39:16 ] 可変幅フォントでカラムがずれるという事じゃないかな。 MessageBoxで揃える方法があるなら俺も知りたい。
767 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 12:07:13 ] >>766 ::MessageBox()のAPIフックして固定幅フォントをセットし直せばよいのではなかろうか
768 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 12:38:07 ] MessageBoxをCreateWindowしたいってことじゃないの?
769 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 13:52:47 ] そこまでやるならダイアログ作るんじゃないかw
770 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 14:17:11 ] メッセージボックスを一度に複数表示したいということかもしれない
771 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:03:15 ] 結局よく分からないな…
772 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:32:29 ] CreateStatusWindowで作るステータスバーに右から左に流れるメッセージを 表示するにはどうすればいい?
773 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:41:35 ] オーナードロー。
774 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:41:53 ] タイマーか何かで一文字ずつずらして表示すればいいんでは 1回目ABCDE 2回目BCDE 3回目CDE . . 6回目 7回目 A
775 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:48:50 ] >>774 そういう方向で実装するしかないんですか・・・めんどくさいな
776 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:00:20 ] ダイアログのクライアント領域にエディット・ボックスを縦に並べ、 最上部のウィンドウを開け閉めしてダイアログの高さを変更しようと してますが、うまくいきません。 ┌[ダイアログ]──────────┐ │┌─────────────┐│ ││ Edit Box1 ││ ││ ││ │└─────────────┘│ │┌─────────────┐│ ││ Edit Box2 ││ ││ ││ │└─────────────┘│ │┌─────────────┐│ ││ Edit Box3 ││ ││ ││ │└─────────────┘│ └───────────────┘ ShowWindow(1,SW_HIDE); MoveWindow(2); MoveWindow(3); MoveWindow(ダイアログ); では、ダイアログ・ウィンドウ内が真っ白になり、マウスでサイズ変更すると 1が消えているだけです。 こういう動作は、どんな手順ならよいのでしょ〜か?
777 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:19:03 ] ちゃんとRepaintフラグ送ってんですか?
778 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:21:35 ] BeginDeferWindowPos
779 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:38:25 ] >>775 せいぜい1時間くらいだよ 一回書けば使いまわし出来るだろ
780 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:40:19 ] では一時間後に >>779 がうpしてくれるのを楽しみに待つとしよう
781 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 18:13:06 ] ……。
782 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 18:36:00 ] wktk
783 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 19:47:02 ] 779ではないが。なんか書けたぞ。通るかも解らんが(笑) static int nNowPos = 0; static DWORD dwLastTime = 0; DWORD dwWork; char bufWork[256]; char bufHyouziString[256]; strcpy(bufWork,"ABCDEが流れると嬉しいな。 "); //前回より1秒経過してたら。更新 dwWork = timeGetTime(); if((dwLastTime + 1000) < dwWork){ //最後に更新した時間を更新 dwLastTime = dwWork; //今の文字が全角なら、次に進めるカウントは+2 if(bufWork[nNowPos] & 0x80 == 1){ nNowPos +=2; } else{ nNowPos ++; } //最後まできてたらまた最初 nNowPos = nNowPos % strlen(bufWork); } //進んだアドレスを先頭にして、文字列コピー strcpy(bufHyouziString,bufWork[nNowPos]); //ここまでで、bufHyouziString に来るんではないかね多分・・・
784 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 19:49:17 ] いろいろ間違えてるな。0x80 との比較結果は != 0だった。 まぁどうでもよいか。
785 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 01:25:17 ] とりあえず出来た もうすぐうp
786 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 02:02:44 ] おれなら char orig[]="ABCDEが流れると嬉しいな。 "; なら char tmpbase[]="\t\tABCDEが流れると嬉しいな。 ______________________";//_は半角スペースでステータスバーが埋まるだけの数 を用意して 定期的にtmpworkからtmpbaseをコピーして適切な位置に\0挿入する
787 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 11:42:26 ] ステータスバーが埋まる文字数。が常に固定であるかの 考慮忘れて発現してた。 GUIで食ってる人はこういう時の定石とかあるのかな。
788 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 12:28:58 ] そういうUIは嫌われるから作らないのが定石。
789 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 12:58:19 ] ステータスバーに文字が流れるのって昔見たなー、と思ったが あれはブラウザにjavascriptで書いてたんだったか
790 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 13:07:01 ] ずーーーっと見てないと何が書いてあるのかわからないのは時間の無駄
791 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 14:44:10 ] SB_SETPARTS にも対応してくだされ
792 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 18:00:16 ] >>787 こんなクソUI作らないのが定石です
793 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 18:15:08 ] 文字流す用のウィンドウ作ってそれをステータスバーの上に乗せればよくね
794 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 19:59:26 ] 作りたいもの作ればいいのよ やる気だけが自分を向上させてくれる
795 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:33:34 ] 同意
796 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:34:44 ] だ
797 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:45:42 ] 文字列が与えられたときにフォント(等幅・プロポーショナルとも)考慮して その文字列の画面上での表示幅を教えてくれるような関数ってWin32APIになかったっけ?
798 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 21:53:14 ] GetTextExtentPoint32
799 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 22:11:25 ] おおきに
800 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 22:16:25 ] >>791 SB_GETPARTS でパート数と座標が判るので書きたい場所に DrawText 汁 この方法だと GetTextExtentPoint32 使わなくても良くなると思う
801 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 07:03:47 ] ブラウザと同じように ツールバーの右に何かの進行状況を 表すゲージを表示させるにはどうしたらいいの?
802 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 07:05:38 ] ブラウザと同じようにやれば良い
803 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 08:06:24 ] ブラウザはどうやってるの?
804 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 08:23:41 ] そのブラウザ使ってググレカス
805 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 15:19:58 ] ブラウザのツールバーの右に進行状況を表すゲージってでたっけ? ステータスバーの右のこと?
806 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 16:56:00 ] 脳内変換しとけよ
807 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 16:57:57 ] はいや
808 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 17:07:40 ] どのブラウザだろう
809 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 18:08:19 ] うちのブラウザです
810 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 19:33:04 ] うちのブラウジャーですごめんなさい
811 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 20:52:20 ] うちの妹のです
812 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 00:35:58 ] そのブラウザい
813 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 08:13:12 ] ぶらぶら
814 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 12:23:14 ] Rich じゃない Edit control で、文字列の特定個所をハイライト表示させる ことはできるのでしょうか??
815 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 13:42:53 ] ●
816 名前:814 mailto:sage [2010/01/28(木) 14:12:16 ] EM_POSFROMCHAR で取得(すればよいのか?)した領域の ・バックカラーを変更するのは、どうすればよいでしょうか? (・д・)
817 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 14:23:28 ] 当該領域を選択すればよいと思われますが
818 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 14:36:29 ] ということは、領域を選択する前に (1)SetBkColor(黄色) (2)領域を選択 (3)SetBkColor(オリジナル色) とすれば良いのですかね?
819 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 14:43:26 ] 黄色って何? どこから出てきた?
820 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 14:46:26 ] つまり、選択した領域のバックグランドカラーを任意に変えたいのです。
821 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 14:46:32 ] ハイライト表示 が いつのまにか指定色背景のブロック塗り にカワットル
822 名前:デフォルトの名無しさん mailto:sage [2010/01/28(木) 14:59:19 ] 素直に Rich Edit おすすめ
823 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 03:51:35 ] WM_PAINTでBitBltしてビットマップ表示してるとき そのビットマップの上でボタンとか置いてると 再描画したときにボタン消えるのはどうすればいいの? 多分上書きされて見えなくなってるんだと思うんだけど
824 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 03:57:01 ] クリッピング
825 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 08:28:47 ] ボタンを再描画させる。
826 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 10:52:30 ] WS_CLIPCHILDREN
827 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 18:08:34 ] 32 bit プロセス内で DuplicateHandle(..., process_handle_of_64bit_process, &target_handle, ...) して 64 bit プロセスに target_handle をプロセス間通信で渡したんだけど、そのまま使って問題無い? 16bit → 32bit: WOWHandle32 で変換しなさい。 32bit → 64bit: WOWHandle64 …らしきものは見つけられなかった。 実は HANDLE は下位 32 bit に収まっていて、上位 bit を 0 で埋めればおkとか?
828 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 20:06:04 ] 32bitのハンドルを64bitのプロセスでDuplicateHandleすれば、 64bitプロセスで使えるハンドルが得られる、ような気がする。 あまり具体的に書かれていないので、実際に試さないと分からないが。
829 名前:827 mailto:sage [2010/01/29(金) 21:22:49 ] > 32bitのハンドルを64bitのプロセスでDuplicateHandleすれば、 > 64bitプロセスで使えるハンドルが得られる、ような気がする。 つまりこうですか? --code_for_x64.cpp-- DWORD handle_32; // sizeof(DWORD) == 4 HANDLE handle_64; // sizeof(HANDLE) == 8 ReadFile(pipe等, &handle_32, sizeof(DWORD), ...); DuplicateHandle(static_cast<HANDLE>(handle_32), process_handle_of_32bit_process, &handle_64, GetCurrentProcess(), ...); > あまり具体的に書かれていないので、実際に試さないと分からないが。 実際のところ、HANDLE は 32bit で表現できない値にはならなそうだけど…。 やはり具体的な記述が欲しいですね。 MSDN に x86 x64 共存 FAQ とかないかな。
830 名前:デフォルトの名無しさん [2010/01/29(金) 21:52:09 ] ファイルの更新時間を変更したくてSetFileTime関数を使おうと考えています。 ただ、この関数を使うためにはCreateFileでGENERIC_WRITEを使ってHANDLEを 取得する必要があります。 問題は、ReadOnlyのファイルの更新時間を変える場合に、GENERIC_WRITEを使ってハンドルが取得できない点です。 ReadOnlyなファイルの更新時間はcygwinのtouchで変更できるのでなにか方法はあると思うのですがWin32APIを使う方法が分かりません。 どーしたらいいの?
831 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 22:00:21 ] attribe -r
832 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 22:07:18 ] readonlyを一旦外せばいいのでは?
833 名前:デフォルトの名無しさん mailto:sage [2010/01/29(金) 22:19:54 ] >>829 msdn.microsoft.com/en-us/library/ms724251 (VS.85).aspx > DuplicateHandle can be used to duplicate a handle between > a 32-bit process and a 64-bit process. The resulting handle > is appropriately sized to work in the target process.
834 名前:827 mailto:sage [2010/01/29(金) 23:31:42 ] >>833 おお、ありがとう! 普通に書いてありましたね。
835 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 03:44:16 ] >>823 BitBltの前にボタンの位置とサイズでExcludeClipRectすると少しだけよくなることなら知ってる
836 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 06:56:21 ] >>823 ビットマップの上にボタンを置かなければよい。 仕様が間違っている。
837 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 07:02:22 ] >>836 お前のアホさがとても残念だ
838 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 09:32:30 ] WS_CLIPCHILDRENがあるじゃない
839 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 10:58:56 ] GetPrivateProfileString でバッファサイズが足りないと戻り値がnSize-1になるみたいなんですが 切り捨てられたか、文字数がピッタリ一致してただけなのかを区別することはできますか?
840 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 11:25:45 ] バッファサイズを1文字余分に取る
841 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 12:04:29 ] HWND h; SHELLEXECUTEINFO sei = { 0 }; sei.cbSize = 60; sei.nShow = SW_SHOW; sei.fMask = SEE_MASK_NOCLOSEPROCESS; sei.lpFile = "notepad.exe"; ShellExecuteEx(&sei); Sleep(3000); h = FindWindowEx(sei.hProcess, NULL, TEXT("Edit"), NULL); SendMessage(h, WM_SETTEXT, 0, (LPARAM)("test")); ShellExecuteExでメモ帳を起動させて3秒後に"test"を エディットに表示させたいんだけど FindWindowExがNULLを返す模様。どうしたらいいの?
842 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 12:29:07 ] >>840 あなたは天才ですね! ありがとうございました!
843 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 14:18:08 ] >>841 FindWindowExにメモ帳の「ウィンドウ」ハンドルを渡す。 プロセスハンドル渡しても無意味でんがな。
844 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 19:14:29 ] FindWindowExってウィンドウ見つけるんじゃないの? 初めからあるものをどうやって見つけるんだ
845 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 19:16:37 ] >>844 お前バカじゃないの?MSDN読んでるか? HWND FindWindowEx( HWND hwndParent, // 親ウィンドウのハンドル HWND hwndChildAfter, // 子ウィンドウのハンドル LPCTSTR lpszClass, // クラス名 LPCTSTR lpszWindow // ウィンドウ名 ); パラメータ hwndParent 検索する子ウィンドウの親ウィンドウのハンドルを指定します。 NULL を指定すると、デスクトップウィンドウが親ウインドウとして使われ、デスクトップの子ウィンドウが探されます。
846 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 19:20:09 ] プロセスハンドルが分かるのだから プロセスを作成する ↓ ウィンドウを列挙する ↓ ウィンドウを作成したプロセスIDを取得する ↓ プロセスハンドルとプロセスIDの紐付け ↓ ( ^ν^ )
847 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 19:25:52 ] 顔文字キモイ。
848 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 20:02:46 ] νは口なのか鼻なのかはっきりしろ
849 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 20:14:52 ] EnumChildWindows の戻り値の説明って間違ってないですか?
850 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 21:47:30 ] Win7だと、EnumWindowsと同じような返し方をして来るな。 OSのバージョンによっては妙な値が返してくるやつもあるのか?
851 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 23:20:52 ] Vistaでした
852 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 23:42:02 ] メインウィンドウのダイアログから CreateDialogParam() で、検索 popup ダイアログを 開いたのですが、キー・バインドなどが働きません。MSDNを見ると、 ”To support keyboard navigation and other dialog box functionality, the message loop for THE DIALOG BOX MUST CALL THE IsDialogMessage() FUNCTION.” と、あります。キー・バインドが利かないのも、これが原因と思われますが、 メインウィンドウのメッセージ・ループ以外で IsDialogMessage() を実装しろ という意味なのでしょうか??? ここがよく分かりません。 IsDialogMessage() をどこで、どうやって実装すればよいのか教えてください。
853 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 23:56:02 ] FindWindowEx()で、検索対象のウィンドウに、複数のEDITが有り、 検索クラス名がEDITだった場合、一番最初のEDITのハンドルしか取れないけど、 2つめ3つめのEDITのハンドルを取得するにはどうしたらいいのでしょう?
854 名前:デフォルトの名無しさん mailto:sage [2010/01/30(土) 23:57:46 ] hwndChildAfter 子ウィンドウのハンドルを指定します。Z オーダーでこのウィンドウの次にくる子ウィンドウから検索が開始されます。
855 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 00:05:09 ] LineTo君に続いて FindWindowEx君も死ねよ 二度と来るな
856 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 00:11:18 ] 落ちつけよ。
857 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 00:13:41 ] おっかないインターネッツですね
858 名前:デフォルトの名無しさん mailto:sage [2010/01/31(日) 05:13:07 ] >>852 そこは、書いてあるとおりダイアログを処理するメッセージループで。 普通メッセージループなんて1つしかないだろうから、そこでいい。