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


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

Win32API質問箱 Build85



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






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

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

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