- 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/
- 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 ]
- 文脈の読めない馬鹿乙。
|

|