Win32API質問箱 Build126

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/05/01(金) 22:16:51.96ID:ZJ42fMZB
Win32APIについての質問はこちらへどうぞ。

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

■過去スレ
Win32API質問箱 Build125
https://mevius.5ch.net/test/read.cgi/tech/1551247748/
Win32API質問箱 Build124
https://mevius.5ch.net/test/read.cgi/tech/1510395780/

■関連スレ
Visual Studio 2019 Part4 https://mevius.5ch.net/test/read.cgi/tech/1585715794/
Visual Studio 2017 Part7 https://mevius.5ch.net/test/read.cgi/tech/1558179898/
【C++】 DirectX初心者質問スレ Part41 【C】 https://mevius.5ch.net/test/read.cgi/tech/1521786252/
2020/05/14(木) 21:25:47.85ID:wD9bKf3u
16bitは切った
これが事実
2020/05/14(木) 21:39:36.59ID:wbq2quQU
なんのこっちゃと思ったらOEM向けの32bit版OSを提供しなくなるってだけの話か
Windowsに関しちゃMSはゆーっくり削ってくねえ
2020/05/14(木) 22:18:38.95ID:ssqTGeCM
APIHOOKどうする ?
115デフォルトの名無しさん
垢版 |
2020/05/14(木) 23:55:54.26ID:7qxmxCRs
真っ赤な奴が一人で喋ってるというだけで信頼度0
2020/05/15(金) 01:57:25.78ID:T5z4Mqc/
この人前も同じ様なガバガバ理論を連レスしてたな

> 16bitは切った
> これが事実

これをドヤ顔で推すのなら、同じ理論で128bitOSが出るまでは32bitアプリは生きることになるぞ
117デフォルトの名無しさん
垢版 |
2020/05/15(金) 02:07:48.44ID:PClFYiSI
>>116
96bitで切ります
2020/05/15(金) 04:23:46.36ID:sHW7IJmG
>>116
なんで?
AMD64は16bit切ったけど、128の時32bit切るってどうして言い切れるの?
2020/05/15(金) 07:03:42.39ID:kJI5kK91
128bitなんか出ないよ
2020/05/15(金) 07:09:21.09ID:kJI5kK91
16bitは切った
32bitもいずれ切る
128bit CPUは出ない
2020/05/15(金) 07:25:33.82ID:Pb1EIu78
32bitのCPUが4つだから128bitだ、と嘘をつくゲーム機メーカーがあったな
2020/05/15(金) 08:01:44.45ID:GEHeiiL6
プレステ3だっけ
123デフォルトの名無しさん
垢版 |
2020/05/15(金) 09:25:45.18ID:v3x5k1hP
インテルのロードマップによると次に出るのは80ビットプロセッサ。
2020/05/15(金) 10:32:06.39ID:Sz6wqqvQ
レジスタに名前つけてほしいんだ
r10とか無機質な使い捨て兵士みたいな奴よりraxやrbpのほうがかわいげがあるだろ
2020/05/15(金) 11:21:50.10ID:QE59VEMD
>>122
Cellに関してそんなデマ流れてたっけ?
2020/05/15(金) 12:48:58.84ID:oHmbvZOo
>>122
ドリームキャストでは
2020/05/15(金) 18:13:09.35ID:sHW7IJmG
>>124
鉄オタを見てみなよ
103とか485とか、謎の数字で大喜びしてるよ?
2020/05/15(金) 18:18:02.87ID:QE59VEMD
昔、昔、あるところでの対話
友人: おまえPC何使ってんの?
俺:   486/33
友人: ????????
2020/05/15(金) 18:45:16.23ID:sHW7IJmG
PCを問われてるのにCPUを答えたらそうなるだろ
車何のってんの?って聞かれてHR15DEとか言ったら
オタクを蔑む目で見られるだけだろ
2020/05/15(金) 19:22:59.50ID:PWQ6blWE
>>124
なんだ…トムとかマイケルとかじゃないのか…
2020/05/15(金) 20:11:01.88ID:sHW7IJmG
>>130
MichaelはMikeでもMikeyでもMickyでもMickでもいいとかになるのかな
2020/05/15(金) 21:26:50.30ID:s5k+QbAR
>>125
CELLのSPEは128bitレジスタを128基備えた本物で、32x4のSIMD演算ができた。
2020/05/16(土) 12:07:58.46ID:duYaQXmV
今のPC用CPUは256bitレジスタがあって
64bit x 4 のSIMD演算が出来るから
256bit CPUか
2020/05/16(土) 12:17:02.93ID:IjBZ7sB3
昔のベクトルコンピューターは
65536bit CPUとか?
135デフォルトの名無しさん
垢版 |
2020/05/16(土) 12:36:13.35ID:is04b0b3
SSDとかすごそうだな
2020/05/16(土) 12:38:50.78ID:IjBZ7sB3
なにが?
2020/05/16(土) 12:48:31.52ID:Os/XxFcn
>>133
8bitCPUと言われる奴にだって16bitレジスタはあったよ?
でもそれを16bitCPUとかいったら馬鹿にされるよ?
2020/05/16(土) 15:19:59.15ID:nRzs8qav
〇〇bit CPUネタはいつも定義がグダグダで荒れる元
2020/05/16(土) 15:33:48.76ID:4LNE0T1O
Z80は4bit CPUだとかw
140デフォルトの名無しさん
垢版 |
2020/05/17(日) 13:33:26.86ID:qdHuVgcd
>>127
アオいいよね
2020/05/24(日) 10:26:06.68ID:aVoyeE00
>>138
昔から定義があいまいだしな

30年以上前はデータバス長で決めるのが主流だったと思う
なので68000は16ビットCPUと言われることが多かった
でも、68000は内部が32ビットだからと32ビットCPU扱いしてる本もあった

子供ながらに早く定義を確定させろよと思ってたな
2020/05/24(日) 10:38:26.14ID:y84CPFUU
何ビットかで性能を判断しようってのが間違い
2020/05/24(日) 11:08:07.08ID:9LKtIHkT
MC68008なんかどうなるんだよw
144デフォルトの名無しさん
垢版 |
2020/05/24(日) 16:10:49.32ID:x8aMDsmm
8088だか8085だかもう忘れたが
2020/05/24(日) 17:15:35.64ID:Y2PNnK8W
>>144
8085 は Z80 に似た位置付け
8088 は 8086 の 8 bit 版
2020/05/24(日) 18:23:26.62ID:WIKh9/kk
8080 は周辺回路用に、8251 (USART)、8253 (CTC / PIT)、8255(PPI)
というファミリがあったんだ。
「CHIPSET」というものの走りか。
147デフォルトの名無しさん
垢版 |
2020/05/25(月) 11:49:32.24ID:xHeORMOB
64180やろ常考
2020/05/26(火) 10:31:04.56ID:DUXfe990
ALUで一度に計算できるレジスタ長でいいんじゃないかね
2020/05/26(火) 11:34:31.94ID:kYnyuVta
ALU幅=レジスタ幅とは限らないのだが
2020/05/26(火) 11:48:43.44ID:lk6wFY6w
100メガビットまだー?
2020/05/26(火) 18:46:58.11ID:Be8LwKLh
Project REUNION

このスレもまだまだ終わらんね
2020/05/26(火) 19:24:46.61ID:kaVJ2d4/
アドレス空間の広さという定義もあった
さらに仮想アドレスや実アドレスに物理的サイズ(アドレス線の数)とか
2020/05/26(火) 20:41:32.11ID:tlZqmZqw
Win32でなんでこの話かとは思うが、基本的に
どれでも頭打ってる最小のビットがNならNビットCPUだろ
アドレスバスが32ビットでも命令長が16ビットのしかできなければそれは16ビットCPUだ
2020/05/27(水) 05:52:37.50ID:UfAFwj6f
>>153
その定義だと64bit CPUがほとんど無くなるけど
良いのかな?
2020/05/27(水) 06:45:53.85ID:l+od2Oe5
IA64「にやり」
2020/05/27(水) 22:55:18.61ID:RaY0EJLW
>>154
32ビット命令「しか」できないCPUそこらにないだろ
AMD64も「全部」64ビットだ
2020/05/28(木) 05:57:08.15ID:CImYg+b8
Win32的にはexeヘッダのmagic#が10Bか20Bかだろ
2020/05/30(土) 22:58:02.59ID:TVZRBSHA
>>151
我々の勝利と理解していいでしょうか?
2020/05/30(土) 23:12:23.25ID:nvVsoyu6
Win32のカオスもたいがいだが、それを置き換えきれないドットネットもダメすぎる
2020/05/31(日) 05:29:27.69ID:AV9N3TDc
何かしら新しいものを担ぎ上げたと思ったら梯外しを続けて屍累々だしね
泥林檎全盛時代モバイルWin大敗北という状況なのに、それでもUWPでバリバリ開発するぞってプログラマーなんて増えないだろ?と思ってたけど、この有様よ

>>158
我々の勝利でしょう
2020/05/31(日) 10:02:47.12ID:O94AXa21
EnumWindowsのコールバックの中でHWNDからEXEを割だそうとしてるんだけど
GWLP_HINSTANCEで取得したハンドルをGetModuleFileNameに渡してもうまくいかん
どうやんのコレ?
2020/05/31(日) 10:08:17.82ID:w6MuXuh+
>>161
他のプロセスだと駄目だから、GetModuleFileNameEx使っちゃって。

https://github.com/katahiromz/WinHier/blob/master/WinHier/WinHier.cpp#L53
GetWindowThreadProcessId
2020/05/31(日) 10:12:13.98ID:2cTTa+6C
全然関係ないけど、この略であってる?
なんか Win32API って、略しまくってて一見さんお断りって感じ

GWLP
Get Window Long Pointer
HINSTANCE
Handle to the Instance
2020/05/31(日) 10:23:14.96ID:xFqcIaF1
この略で書かれたオプションを使ってる関数名の略語なんだから別にこれは合理的だろ
GetWindowLongPtrAのオプションなのにEDH64_とかで始まってたら頭おかしいが
165デフォルトの名無しさん
垢版 |
2020/05/31(日) 15:49:36.34ID:T8jWCE6M
HINSTANCE はハンガリアン記法じゃね
2020/05/31(日) 15:52:03.55ID:hHIdU/aR
HRESULT って何の略だ?
2020/05/31(日) 18:01:29.96ID:Q6VzjxFK
妊娠判定?
2020/05/31(日) 18:08:14.04ID:G1/nv9Cn
>>156
命令長の意味
2020/05/31(日) 19:56:38.10ID:wHFXVFT0
>>166
昔はエラー情報へのハンドル値だったとどこかで読んだ気が
170デフォルトの名無しさん
垢版 |
2020/05/31(日) 20:45:34.27ID:ttbYfwVJ
エラー情報ハンドルからエラー情報を取得するには関数を使います
2020/06/01(月) 02:49:57.62ID:0GfvhwSl
>>169 >>170
なるほどね。
海外のサイトで、「Hex Result」説を書いていた人がいたが、どっちが正しいの?
2020/06/01(月) 03:35:25.53ID:cNH06St3
HEXもDECもなくてみんなBINだろ?
2020/06/01(月) 07:10:51.50ID:1xzv2R8/
>>171
https://devblogs.microsoft.com/oldnewthing/20180117-00/?p=97815
2020/06/01(月) 07:46:34.47ID:7+WAnHBR
>>173
it really was a handle to an object that contained rich error information.

これが答えってことかい?
2020/06/01(月) 10:19:00.27ID:GLKffah/
HFONT,HBRUSH,HDC,HPEN,etc
何でもかんでもハンドルとして扱ってるのに、HRESULTだけHEXかもなんて思うの?
2020/06/01(月) 10:51:47.09ID:INZFVYtf
>>175
HEXと思うのはどうかと思うけど
> HFONT,HBRUSH,HDC,HPEN,etc
こいつらはハンドルだけどHRESULTの型はlongだし値もどう見てもハンドルじゃないからあーだこーだ言ってるんだろ
2020/06/01(月) 11:03:16.80ID:17VfLqvo
通常voidだがエラーの場合は符号付きのlongにしてるだけ
実質型を隠蔽してハンドルとして扱うのは慣例みたいなもんだし、気にする必要は無い
2020/06/01(月) 11:09:40.98ID:53c0ZhQ4
>>174
要は昔の仕組みが型名として残ってるだけだと
2020/06/01(月) 11:51:23.63ID:OFgL6Ul1
>>174
それは昔の話、今は
The COM team decided that the cost/benefit simply wasn’t worth it, so the HRESULT turned into a simple number.
But the name stuck.
ってことだろ
2020/06/01(月) 11:52:59.14ID:GfnKilSu
>>177
お前は何を言ってるんだよw
HRESULT型のハンドル返すAPIなんてないぞ
2020/06/01(月) 11:56:51.06ID:Lo4SeZQj
>>173
だから意味不明な "interface not supported" とか返ってくるのか
Cだとエラー情報の領域管理が面倒なのはわかるけど固定で5個ぐらい持つとかやりようはあったと思うんだけどね
2020/06/01(月) 12:06:26.41ID:U4oPUiQG
>>181
5個どこにもつわけ?
183デフォルトの名無しさん
垢版 |
2020/06/01(月) 17:38:12.77ID:JphI8rwQ
>>176
bool なのに 0 と 1 と -1 とか帰ってくる API に何求めてんだ
2020/06/01(月) 21:11:55.51ID:M7ivFsPk
>>183
boolとBOOLをいっしょにすんなよ
2020/06/05(金) 13:41:09.29ID:D0XPmYCp
https://ideone.com/iTPLPg
これなんで動かないんですか?
フォーマットノットサポートって出るんだけど、意味が解らないです。
2020/06/05(金) 13:45:20.81ID:D0XPmYCp
メイン関数です。

#include <iostream>

#include "WaveDeviceII.h"


int main() {
WaveDeviceII WD;

WD.Initialize(WAVE_MAPPER, NULL, CALLBACK_NULL , 8, 2, 8000);
}
2020/06/05(金) 13:49:29.22ID:D0XPmYCp
The specified format is not supported or cannot be translated. Use the Capabilities function to determine the supported formats.
エラーです。
188デフォルトの名無しさん
垢版 |
2020/06/05(金) 14:23:44.24ID:WSRdRexs
失格
やり直し
2020/06/05(金) 17:48:01.41ID:9H09ckgd
>>187
日本語でおk
2020/06/05(金) 18:41:24.19ID:+T3Zxd1w
ここ Win32 API の質問箱なんですが、
WaveDeviceII とやらがなんなのかをノーヒントで推測する能力が求められてます…?

…そもそもリンク先見てないけど
2020/06/05(金) 18:51:59.15ID:vzFsYnai
再生・録音デバイスの設定がおかしいか、ドライバの問題ではないかな
2020/06/05(金) 19:58:06.58ID:D0XPmYCp
WaveOutDeviceIIに名前変えなきゃ。。。

>>191
うーん。他のアプリで音が鳴らないわけじゃないのだけど。うーん。
2020/06/05(金) 20:09:06.67ID:kzWGRm1w
>>187
具体的にエラーを出したAPIを特定して、その仕様をググって調べてこい。
あとその英語のメッセージに具体的に何をしろと欠いてあるからそれも調べて試してこい。
2020/06/06(土) 19:05:08.37ID:XjfTk0ib
接続されているUSBメモリの名前ってどうすれば取得できますか?
ドライブレターではない名前で、メーカー名とかが含まれるやつです。
例:SONY、Transcend
2020/06/06(土) 19:16:37.09ID:+UPi9lXq
APIではないです
2020/06/06(土) 20:36:45.83ID:gPrzX488
SetupDiEnumDeviceInfo でデバイス列挙してゴニョゴニョすればいいんでない?
2020/06/06(土) 21:33:32.55ID:w46hHvus
これかhttps://www.usefullcode.net/2006/12/post_19.html
198194
垢版 |
2020/06/06(土) 22:20:22.51ID:XjfTk0ib
>>196-197
おおお!!ありがとうございましたぁ!!
199194
垢版 |
2020/06/08(月) 14:05:55.87ID:yBr+unsS
>>197のサイトで他にも色々な方法が載っていました。

USBデバイスやUSBハブの詳細情報を取得する
https://www.usefullcode.net/2007/02/usbusb.html

ドライブ名からデバイス情報を取得する
https://www.usefullcode.net/2007/02/post_48.html

ドライブ名からデバイス情報を取得する(DEVINST系
https://www.usefullcode.net/2007/02/devinst.html

ドライブのモデル名や接続I/F情報などを取得する
https://www.usefullcode.net/2007/02/if.html

自分は最後の方法でうまくいきました!
200デフォルトの名無しさん
垢版 |
2020/06/08(月) 15:41:01.12ID:blut5LG8
>>197
>>199
https://ideone.com/Yn8u0I
2020/06/15(月) 19:04:01.61ID:tqTNgz/u
GDI+のスレッドがないのでここで質問させていただきます。。
SetStretchBltMode(COLORONCOLOR)の描画をGDI+のDrawImage()でやろうと思ったら、
どのような指定をすればよいのでしょうか。
なにも指定しないままだと補間がかかってしまうのですが。
202デフォルトの名無しさん
垢版 |
2020/06/16(火) 10:12:05.07ID:Ho5qWxry
http://eternalwindows.jp/graphics/bitmap/bitmap04.html
203デフォルトの名無しさん
垢版 |
2020/06/16(火) 10:17:29.91ID:Ho5qWxry
http://www13.plala.or.jp/kymats/study/MULTIMEDIA/StretchBltMode.html
2020/06/16(火) 17:03:02.58ID:i4a8GiUa
答えになってないように見えるけど
メモリコンテクスト相手にGDIで SetStretchBlt かけて出来上がったものを
GDI+ のDrawImage()に渡せということかしら
205161
垢版 |
2020/06/19(金) 12:23:58.37ID:UjmatHu8
>>162
できた dx

QueryFullProcessImageNameっての見つけて使った
2020/06/21(日) 18:02:55.24ID:kUjMwJEz
USBカメラから静止画データ(ビットマップorPNG形式)を取得したいのですが、
やり方が分かる人がいたら教えて頂けないでしょうか。
言語はC/C++です。
DirectShowかMedia Foundationを使えば良いという所まで分かったのですが、
それから先に進めない状態です。
207デフォルトの名無しさん
垢版 |
2020/06/21(日) 18:10:03.50ID:rRP2z2l8
APIでなきゃダメか?
OpenCV楽で良いぞ
2020/06/21(日) 18:11:37.00ID:wd9zfOZU
https://github.com/katahiromz/YappyCam
参考までに。
209206
垢版 |
2020/06/21(日) 18:52:33.53ID:kUjMwJEz
ご返信ありがとうございます。

>>207
OvenCVは商用で使いずらそうなので、APIを使いたいと思っています。

>>208
ざっとしか見てないのですが、
OpenCVを使ってキャプチャしてるので合ってますでしょうか。
OpenCVでは無くwindows APIを使ったサンプルがあったら助かります。
2020/06/21(日) 19:02:48.04ID:ZU8lvQ5O
OpenCVはBSDライセンスだから商用でも使いやすい部類
2020/06/21(日) 19:08:23.08ID:ZU8lvQ5O
ソースコードのライセンスとは別に特許が絡むのね
>>210は無視して
2020/06/21(日) 19:14:20.70ID:wd9zfOZU
Video for Windows
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況