トップページ⇒tech
1001コメント254KB

Win32API質問箱 Build63

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2008/03/04(火) 12:15:58
スレ立てるまでもない、Win32APIのついての質問はこちらへどうぞ。
やさしいお兄さんやお姉さんたちが答えてくれるかも。

過去スレ、関連リンクは>>2-10くらい。

■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(http://msdn2.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで

- Win32API質問箱 wiki
http://wiki.livedoor.jp/program1/d/FrontPage

【前スレ】
http://pc11.2ch.net/test/read.cgi/tech/1202060403/
0369デフォルトの名無しさん2008/03/17(月) 23:10:58

    _, ._
  ( ・ω・) now shibakaring ...
  ○={=}〇,
   |:::::::::\, ', ´
、、、、し 、、、(((.@)WWWWWWWWWWWWWWWWWWWWWWW (26%)
0370デフォルトの名無しさん2008/03/17(月) 23:12:26
>>369
激しくワロタ
0371デフォルトの名無しさん2008/03/17(月) 23:12:47
>>370
自演はお帰りください。
0372デフォルトの名無しさん2008/03/17(月) 23:13:40
お帰りなさいませ、ご主人様
0373デフォルトの名無しさん2008/03/17(月) 23:14:08
>>371
そうだよね。
0374デフォルトの名無しさん2008/03/17(月) 23:15:06
>>373
自演乙w
0375デフォルトの名無しさん2008/03/17(月) 23:15:13
>>371
だから帰ってきたのさ。このスレに。
0376デフォルトの名無しさん2008/03/17(月) 23:18:18
なにこれ
0377デフォルトの名無しさん2008/03/17(月) 23:19:22
>>376
これはね…


    お前を食べるためだぁ〜〜
0378デフォルトの名無しさん2008/03/17(月) 23:20:57
自演UZEEEEEEEEEEEEEEEEEEEEEEEEE
0379デフォルトの名無しさん2008/03/17(月) 23:22:47
>>378
激しく同意
0380デフォルトの名無しさん2008/03/17(月) 23:23:47
自演だと思われるから俺にレスつけるんじゃねえよ
0381デフォルトの名無しさん2008/03/17(月) 23:25:50
>>380
自演必死だなw
0382デフォルトの名無しさん2008/03/17(月) 23:27:50
以下日付が変わるまで書き込み禁止
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
0383デフォルトの名無しさん2008/03/18(火) 00:06:05
>>367
言ってみるものだ、地味に助かったわ。 �d
0384デフォルトの名無しさん2008/03/18(火) 00:47:42
>>383=>>364-383
解決できて良かったね^^
0385デフォルトの名無しさん2008/03/18(火) 00:52:49
自演 The End
0386デフォルトの名無しさん2008/03/18(火) 01:26:23
�dじゃねーよそんなのC++やってりゃ常識だろうが
軽口叩く前にベッドの中で入門書でも読んでろよこのHP3の雑魚グラマが
0387デフォルトの名無しさん2008/03/18(火) 01:29:50

           _, ._
          (・ω・ ) now shibakaring ...
          ○={=}〇,
           |:::::::::\, ', ´
wwwwww、、、、、、し 、、、(((.@)wwwwwwwwwwwwwwwwwwwwwww (19%)
0388デフォルトの名無しさん2008/03/18(火) 01:58:36
>>383
お前は俺か

俺も丁度コンパイルエラーで悩んでいた所だったから助かったよ。
0389デフォルトの名無しさん2008/03/18(火) 02:48:39
なにこの自演地獄

とレスすると自演だと思われる地獄
0390デフォルトの名無しさん2008/03/18(火) 02:51:17
いい加減自演うざい
0391デフォルトの名無しさん2008/03/18(火) 02:52:29
>>389
>>390
自演乙
0392デフォルトの名無しさん2008/03/18(火) 03:33:35
自演がキモイのでやめてもらえません?
0393デフォルトの名無しさん2008/03/18(火) 03:45:12
自演ど
0394デフォルトの名無しさん2008/03/18(火) 06:32:19
>>393
ワロタw
0395デフォルトの名無しさん2008/03/18(火) 06:49:31
>>393-394
>>385で相手にされなかったので今度は自演でフォローとは情けない
0396デフォルトの名無しさん2008/03/18(火) 09:21:58
ちんこ
0397デフォルトの名無しさん2008/03/18(火) 13:03:39
何書き込んでも自演になると聞いて飛んできました
0398デフォルトの名無しさん2008/03/18(火) 13:05:40
インプレースアクティベーションがさっぱり分からん。
クライアント側はどうやって実装すりゃ良いの?
0399デフォルトの名無しさん2008/03/18(火) 13:05:54
そうですかお帰りください
0400デフォルトの名無しさん2008/03/18(火) 14:31:11
パソコンの前でしかいきがることができない人がいるスレはここですか?
0401デフォルトの名無しさん2008/03/18(火) 15:25:21
超伸びてるなと思ったらなんだこれwww
0402デフォルトの名無しさん2008/03/18(火) 17:56:35
ダイアログに List ボックスを貼り付けて LB_ADDSTRING した場合
ダイアログ破棄時に LB_DELETESTRING しないと メモリーリーク
するのでしょうか?
0403デフォルトの名無しさん2008/03/18(火) 17:59:35
しない
0404デフォルトの名無しさん2008/03/18(火) 18:37:58
実は std;;string の文字列を
.c_str() で LB_ADDSTRING していると、メモリーリークするようです。
ダイアログ破棄時に、ちゃんと LB_DELETESTRING すると直るんです。
0405デフォルトの名無しさん2008/03/18(火) 19:28:55
>>404
:と;を間違えるぐらいだから他の部分でトチ狂った事してるんだろ
0406デフォルトの名無しさん2008/03/18(火) 22:42:27
>>400
「しかいきがる」って何?
そんな日本語ねーよ。
国 へ 帰 る ん だ な。 お 前 に も 家 族 が い る だ ろ う。
0407デフォルトの名無しさん2008/03/18(火) 22:45:12
>>406
司会気軽
鹿息がる
しか、粋がる
0408デフォルトの名無しさん2008/03/18(火) 22:46:31
つまらんレスしてる奴はVIPあたりに帰ってくれないか
0409デフォルトの名無しさん2008/03/18(火) 22:53:02
>>406
そんな品詞分解する日本人いねーよ。
国 へ 帰 る ん だ な。 お 前 に も 家 族 が い る だ ろ う。
0410デフォルトの名無しさん2008/03/18(火) 22:54:37
>>409
> お 前 に も 家 族 が い る だ ろ う。

いません… orz
0411デフォルトの名無しさん2008/03/18(火) 22:56:53
Win32APIがこの先生きのこるには
0412デフォルトの名無しさん2008/03/18(火) 23:14:25
ひらがなの句読点問題は十分認識されているから気にしないのだが
分かち書きしないハングルとか何故普通に読めるのかナゾ杉る
0413デフォルトの名無しさん2008/03/18(火) 23:16:51
How should Win32API mushroom this teacher?
0414デフォルトの名無しさん2008/03/18(火) 23:35:03
    _, ._
  ( ・ω・) now shibakaring ...
  ○={=}〇,
   |:::::::::\, ', ´
、、、、し 、、、(((.@)WWWWWWWWWWWWWWWWWWWWWWW (26%)
0415デフォルトの名無しさん2008/03/18(火) 23:38:19
now mowing
0416デフォルトの名無しさん2008/03/19(水) 00:07:41
おい、>>364以降ネタスレ化してるじゃねーか
責任取れ>>364
0417デフォルトの名無しさん2008/03/19(水) 00:09:15
>>412
実は普通に読めてないようだが。
つ 機能性文盲
0418デフォルトの名無しさん2008/03/19(水) 00:14:04
それは別の問題なんだよ
0419デフォルトの名無しさん2008/03/19(水) 01:37:02
>>412
ハングルは、日本語のカナと違って漢字一文字で一文字だからな。
勿論、同音異義語は山の数。
0420デフォルトの名無しさん2008/03/19(水) 01:48:34
じゃ別に漢字そのまま使ってりゃ良いじゃん
なんでわざわざ暗号化したんだろ?
0421デフォルトの名無しさん2008/03/19(水) 01:59:10
表音文字の方が覚える文字の数が少なくて済むからだよ。
仮名もアルファベットも同じ趣旨の元に生まれた文字。
0422デフォルトの名無しさん2008/03/19(水) 04:20:41
当時の愚民は漢字教育なんて受けられなかったからな。
419の言う様にそのまま置き換えたから、表音文字の癖に縦横に
組み合わせないといけないややこしい物になっちまってるが。
0423デフォルトの名無しさん2008/03/19(水) 07:03:45
3月18日 「自演は誰だ?」
3月19日 ハングル講座 -歴史編-

もはやWin32APIスレとは言えないな・・・
0424デフォルトの名無しさん2008/03/19(水) 07:44:38
ハングルはまぁ機能障害云々や簡略化した筈が一万文字出来たニダ等で問題外としても
カナ文字ってかなり変な仕組みな文字だと思わね?
0425デフォルトの名無しさん2008/03/19(水) 07:59:13
他所でやれ
0426デフォルトの名無しさん2008/03/19(水) 08:37:25
嫌です
0427デフォルトの名無しさん2008/03/19(水) 08:42:13
他所でやれ
0428デフォルトの名無しさん2008/03/19(水) 08:48:02
いい加減にしろ
0429三木支2008/03/19(水) 08:51:03
「ハングル」板へいらっしゃ〜い。
0430デフォルトの名無しさん2008/03/19(水) 09:31:34
SetRectとかCopyRectって何のためにあるんですか?
わざわざ専用の関数用意しなくてもいいような気がするんですが…
こういうのがあるってことは、できる限りこれらを使った方がいいんですか?
0431デフォルトの名無しさん2008/03/19(水) 10:00:41
Win95からあるみたいだから昔は使ってたんじゃないか?
今は知らんけど。

別にわざわざ使う必要も無いと思う。
0432デフォルトの名無しさん2008/03/19(水) 10:03:02
>>430
まったく同じ処理するんだったら使った方が分かりやすいかな
0433デフォルトの名無しさん2008/03/19(水) 10:25:16
>>430
C言語用だろ、たぶん
0434デフォルトの名無しさん2008/03/19(水) 10:38:10
InflateRectはよく使いそうな気がする
そうすると他のも使う
0435デフォルトの名無しさん2008/03/19(水) 12:18:41
>>430
lstrlenとかlstrcpyって何のためにあるんですか?
わざわざ専用の関数用意しなくてもいいような気がするんですが…
こういうのがあるってことは、できる限りこれらを使った方がいいんですか?
0436デフォルトの名無しさん2008/03/19(水) 12:40:29
世の中の開発言語がなんでもC/C++ではないってことよ
0437デフォルトの名無しさん2008/03/19(水) 12:46:47
>>430>>435
Win16の頃、機械語の量を減らすのに役立ったと聞いたことがある。
0438デフォルトの名無しさん2008/03/19(水) 12:54:47
ステップ数がどうたらとかマニアックな話になりそうですね
0439デフォルトの名無しさん2008/03/19(水) 12:58:40
ゆでたまご切り機みたいなもんだと思ってる。
包丁一本で何でもできる人には不要だけど、そうじゃない人には手軽。
0440デフォルトの名無しさん2008/03/19(水) 14:15:32
描画処理で使うから高速化が目的かもね
0441デフォルトの名無しさん2008/03/19(水) 14:59:00
>>440
ハァ?
0442デフォルトの名無しさん2008/03/19(水) 15:06:34
>>440
おいw
すごい方向へ飛んで行ったぞw
0443デフォルトの名無しさん2008/03/19(水) 18:44:47
某流出コードみたらWindowsの中の人も使ってる
0444デフォルトの名無しさん2008/03/19(水) 19:33:26
>>443
Windowsの中の人が必要と思ってるから、APIがあるんじゃないのか?
0445デフォルトの名無しさん2008/03/19(水) 20:22:29
InternetOpen→InternetOpenUrlで指定したurlのページの容量を知るにはどうすれば
できますか?
0446デフォルトの名無しさん2008/03/19(水) 20:23:45
実際にデータを受信してサイズを確認するか、エスパーになるかすればいいと思うよ。
0447デフォルトの名無しさん2008/03/19(水) 20:48:59
Windows の中の人が必要と思っても、隠し API にしかならないこともあるんじゃないかな。
0448デフォルトの名無しさん2008/03/19(水) 21:10:18
>445
ヘッダ
0449デフォルトの名無しさん2008/03/19(水) 21:16:05
隠しAPI(笑)
0450デフォルトの名無しさん2008/03/19(水) 21:54:51
hotplug.dllとか隠しAPIは山ほどあるがさっぱり公開が進まないな
EUにもっと暴れてもらわないと
0451デフォルトの名無しさん2008/03/19(水) 22:31:29
隠しAPI(笑)
0452デフォルトの名無しさん2008/03/19(水) 22:33:05
何かキチガイのツボにハマるんだろうか。隠しAPIって。
0453デフォルトの名無しさん2008/03/19(水) 22:45:39
>>416
正直スマンカッタ 些細な疑問だったんだ。 反省してる。


だが謝らない。
0454デフォルトの名無しさん2008/03/19(水) 22:47:09
非公開とかundocumentedって書くのが玄人 
そうでないのは語彙が乏しくてガキっぽいよねww とか

ってここ何のスレだっけな
0455デフォルトの名無しさん2008/03/19(水) 22:49:36
そもそも今後消える可能性があるから非公開なんじゃねーの

ベータ(SONY)みたいな
0456デフォルトの名無しさん2008/03/19(水) 23:03:31
隠しというの表現は不公正に隠蔽しているというニュアンスだろ
0457デフォルトの名無しさん2008/03/19(水) 23:12:21
シェル関係でなんのために公開されているのか分からないAPIをよく見かける。
Windows 2000あたり限定(XPやVistaでは使えない)で、ほかの公開APIで代替が効く。
例えばSHFlushClipboardとか。
0458デフォルトの名無しさん2008/03/19(水) 23:29:50
MS嫌いのヨーロピアンが
「非公開API使って競合企業を出し抜いてるよ!ずるいよ!」
って訴えるためにあるAPI
0459デフォルトの名無しさん2008/03/20(木) 00:09:38
リパースポイントやハードリンク関連は隠されてるな
0460デフォルトの名無しさん2008/03/20(木) 00:15:11
>>458
…なんかGPL厨みたいな言い分だ
MSを擁護する気はさらさらないがこういうのも好きじゃないなあ
0461デフォルトの名無しさん2008/03/20(木) 00:15:44
>>457
SHFlushClipboardならXPにもあるみたいだが

で、2000の奴を逆汗してみたら
jmp OleFlushClipboard
の一行だけw 何の為にあるんだww
0462デフォルトの名無しさん2008/03/20(木) 00:17:02
別名作りたかっただけじゃないかな。
0463デフォルトの名無しさん2008/03/20(木) 00:23:51
エクスポートテーブルでフォワードできるのに
0464デフォルトの名無しさん2008/03/20(木) 00:35:43
SHFlushClipboardの他にもole32.dllに飛ばすだけの非公開関数があるようだ

shell32!SHRegisterDragDrop → ole32!RegisterDragDrop
shell32!SHRevokeDragDrop → ole32!RevokeDragDrop
shell32!SHFreeUnusedLibraries → ole32!CoFreeUnusedLibraries

どうやら95時代のshell32.dllが、対応するole32.dllのAPIをLoadLibrary/GetProcAddressで
遅延ロードしてアクセスする為のヘルパ関数として用意していたのを後方互換で残しているだけらしい
だから2000以降では全く意味が無いようだ

だったら最初からそう書いとけっつーの
0465デフォルトの名無しさん2008/03/20(木) 00:59:39
たしか、win95には、ole32.libをロードしなくてもすむ、
Shell用の軽量疑似OLEシステムがあったとかなんとか
0466デフォルトの名無しさん2008/03/20(木) 01:32:15
機器の抜き差しの検知方法について質問します。
VS2005のVC++でMFCを使ってプログラムしています。

USB機器の抜き差しについては、ぐぐったら
WM_DEVICECHANGE
DBT_DEVTYP_HANDLE
RegisterDeviceNotification
などのキーワードが出てきたので、それらを試して検知できることを確認しました。
結局、DBT_DEVTYP_HANDLE構造体のdbch_handleには
HIDデバイスのハンドルを渡したら上手くいきました。

しかし、DVI-Dで接続されたモニターの抜き差しを検知する方法がわかりません。
WM_DEVICECHANGEは飛んできます。
しかし、wParamにはDBT_DEVNODES_CHANGEDしか入ってきません。
USBと同じやり方でできないか、と思ったのですが
dbch_handleに何をセットすれば良いのかがわかりません。
EnumDisplayMonitorsで取得できるモニターハンドルではダメでした。

すみませんが、WM_DEVICECHANGEの中から、DVI-Dの抜き差しだけを検知する
やり方をぜひお教え下さい。
それとも、そのようなことは不可能なのでしょうか・・・?
0467デフォルトの名無しさん2008/03/20(木) 01:39:18
>>464
それを知るためにはThe Old New Thingを読まなければならないってどうなのかね
0468デフォルトの名無しさん2008/03/20(木) 02:09:24
俺はあれの邦訳本高くてまだ買ってないや
しかしなんであんな邦題なんだろう
■ このスレッドは過去ログ倉庫に格納されています