- 1 名前:デフォルトの名無しさん [2019/02/27(水) 15:09:08.64 ID:6ExXwgQU.net]
- Win32APIについての質問はこちらへどうぞ。
■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。 英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで ■過去スレ Win32API質問箱 Build124 mevius.5ch.net/test/read.cgi/tech/1510395780/ Win32API質問箱 Build123 mevius.2ch.net/test/read.cgi/tech/1475897582/ Win32API質問箱 Build122 echo.2ch.net/test/read.cgi/tech/1451988219/ Win32API質問箱 Build121 echo.2ch.net/test/read.cgi/tech/1438695290/ Win32API質問箱 Build120 echo.2ch.net/test/read.cgi/tech/1428570962/ ■関連スレ Visual Studio 2019 mevius.5ch.net/test/read.cgi/tech/1548765663/ Visual Studio 2017 Part6 mevius.5ch.net/test/read.cgi/tech/1528645068/ 【C++】 DirectX初心者質問スレ Part41 【C】 mevius.5ch.net/test/read.cgi/tech/1521786252/
- 384 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 18:42:59.80 ID:NIaCYNJC.net]
- APIだからコンパイラ関係ないと思うけどね
OSは8.1だけど コンパイラというかライブラリが関係するはずのmallocでやってみた vs2017 - ツールセットvs2013(詳細略) 以下並びは>376と同じだけどダンプの長さはa~zの26+1バイトじゃなく30バイト allocも100ではなく30バイト debug 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 00 CD CD CD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD DD release 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 00 00 00 00 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 00 00 00 00
- 385 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 19:23:51.83 ID:55mEbAq6.net]
- >>371
間隔設定はキャレットのね こっちでは0xfeeefeeeになるね https://i.imgur.com/tsMulbt.jpg
- 386 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 22:12:42.24 ID:1bu8PAPD.net]
- >>379
環境は? 十数バイトをdeleteしただけでHeapFreeを呼ぶのも考えづらいし、そもそもこっちでも>>376と同じくHeapFreeで0xfeeefeeeが入ることもなかった
- 387 名前:デフォルトの名無しさん mailto:sage [2019/09/19(木) 22:36:38.24 ID:2Kmv27QM.net]
- vs2003とかそのあたりかなこれ
- 388 名前:デフォルトの名無しさん mailto:sage [2019/09/20(金) 00:25:02.03 ID:n3bycm/n.net]
- Win10 Pro(32bit)でHeapFreeやってみた
VS2017(Community Edition)は0xfeeefeeeにならなかったが、 VC2010(Express Edition)でやってみたら0xfeeefeeeになったわ(確保していた領域の先頭8バイトほどに0xfeeefeeeじゃない値が入っていたが) 面倒だからオプションとか生成されたバイナリとか詳しく比較してない
- 389 名前:デフォルトの名無しさん mailto:sage [2019/09/20(金) 09:31:26.82 ID:DNSz8VRz.net]
- >>380
VC++2010Expressだよ 画像こっちの方がよかったね ttps://i.imgur.com/eDh78Kq.jpg
- 390 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 11:23:33.59 ID:2Q8qxITa.net]
- メッセージ処理の
case(msg) ってなんで case(msg.message) じゃないの? 構造体直接評価できるの?
- 391 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 11:29:50.08 ID:2Q7OqYnQ.net]
- どこかのサイト?
- 392 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 11:46:59.83 ID:QstsG7m2.net]
- メッセージは構造体じゃなくて UINT やろ
- 393 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 14:28:14.81 ID:hWveUl7z.net]
- >>384
多分サンプルの読み方を勘違いしている GetMessage関数なんかで使われるlpMsgとかはMSG構造体なので中でメッセージIDを 確認したいならば「msg.message」を見ることになる メッセージIDのハンドリング行うサンプルなんかで普通に使われてるWndProc関数の uMsgはUNIT型の「msg.message」が実体なのでcaseでそのままハンドリングできる でないか?
- 394 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 16:13:30.79 ID:91yg28/R.net]
- caseにカッコつけんな
- 395 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 17:54:36.06 ID:zcWtf1aP.net]
- 本来ライブラリに任せるべきところをかなりネイティブなwinsockプログラミングをしています。
TCP通信にて最大セグメントを超えてwinsock2.sendを行った場合はどうなってしまうのでしょうか? エラーとなるためそこも自前で実装する必要があるのか、それともwinsockが勝手に分割を行ってくれるのか、はたまたネットワークアダプタやルーターなどのデバイスが勝手にやってくれるのか、どういう挙動となるのかご伝授お願いします
- 396 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 20:46:23.20 ID:QstsG7m2.net]
- ソケット通信てそんなところ気にしなきゃいけなかったっけ?
ア
- 397 名前:ップロード・ダウンロードルーチン組んだけど記憶にない []
- [ここ壊れてます]
- 398 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 21:19:08.01 ID:qwUCk4Gy.net]
- winsock2に限ればエラーが返るんじゃないか?
質問するよりもmasdn見たほうが確実だろ
- 399 名前:デフォルトの名無しさん mailto:sage [2019/09/28(土) 21:42:01.62 ID:zNn3MVf2.net]
- sizeof演算子に括弧つける派です?
- 400 名前:デフォルトの名無しさん [2019/09/28(土) 22:22:37.56 ID:ZZfYVsnP.net]
- UDPだと知らん間に分割された挙句
場合によっては断片が届く順番まで変わるからな
- 401 名前:デフォルトの名無しさん [2019/09/28(土) 22:24:29.26 ID:ZZfYVsnP.net]
- sizeofに括弧付ける
マクロの引数は使用時に必ず括弧付ける
- 402 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 08:10:25.37 ID:qdFsd7WD.net]
- >>393
> 場合によっては断片が届く順番まで変わるからな むしろTCPが頑張って順序を元通りに入れ替えてるんだが…
- 403 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 08:12:55.60 ID:qdFsd7WD.net]
- >>392
不要なカッコは付けない派 例外は演算子の優先順位がわかりにくい時に付けるぐらい 理由は間違っててもコンパイルエラーにならないから
- 404 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 08:26:06.28 ID:MP9GBJ11.net]
- >>392
俺も無駄な括弧はつけないな わざわざつける理由がない 単項演算子の優先順位を知らんアホが仲間にいない
- 405 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 09:39:48.44 ID:xMtED3Cu.net]
- どこから「単項」演算子の話が…
- 406 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 10:26:13.14 ID:MP9GBJ11.net]
- そのアホがいた・・・驚愕
今 sizeof の話をしているんだが 脈絡が読めないとはな
- 407 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 10:29:45.89 ID:JKK19nEu.net]
- こういう奴が書くソースは総じて読みにくいw
- 408 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 10:31:48.98 ID:9b9emf+N.net]
- 付ける派
if(...) switch(...)なのにsizeof(...)じゃないのはなんとなく嫌
- 409 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 11:39:16.24 ID:98/tCU9d.net]
- どこがAPIの話だ馬鹿は京急に突っ込んで死ね
- 410 名前:デフォルトの名無しさん [2019/09/29(日) 11:53:45.41 ID:3s0zt66k.net]
- hoge = malloc(length * sizeof struct hage *);
hoge = malloc(sizeof struct hage * * length); hoge = malloc(*length * sizeof struct hage *); hoge = malloc(sizeof struct hage * * *length); hoge = malloc(*length * sizeof struct hage **); hoge = malloc(sizeof struct hage ** * *length); ()付けないとどんどんわかりにくくなっていく
- 411 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 13:23:57.04 ID:eQVILPNx.net]
- sizeof(型)は()必要だよ
- 412 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 13:34:02.17 ID:cKDPFQQS.net]
- いらんよ
- 413 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 13:50:41.73 ID:6WuqtMyk.net]
- Win32API以外の話は不要
- 414 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 13:54:31.01 ID:MP9GBJ11.net]
- >>400
おまえみたいのに読んでもらう必要が皆無
- 415 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 13:59:56.96 ID:MP9GBJ11.net]
- 単項演算子とそうでないものの区別がつかないアホが
return にも括弧したがるんだろうな # K&R 1st世代の人はともかく
- 416 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 14:05:22.62 ID:6WuqtMyk.net]
- 書いてから思ったが、排他の否定な書き方が好きじゃない>>406
読みにくい 肯定した書き方だけに統一したい そういう意味では、好きじゃないという書き方もダメか 嫌いと書くべきか ということで、 Win32APIの話をしろ おやすみ sizeofは計算式絡むことがほとんどなのと、明示的にした方が分かりやすく 馬鹿らしいミスの回避のためにも付けといて損はない
- 417 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 15:27:53.48 ID:MP9GBJ11.net]
- 自分らしいミスか、わかりますw
- 418 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 15:43:36.72 ID:Mg/ytEjl.net]
- >>403
この例からしても括弧つけた方が見やすいが、ID:MP9GBJ11は見やすさ全否定なの? 俺様はインデントもスペースも改行も無くても、優先順位・スコープ範囲が分かってるから無問題って理屈だよな
- 419 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 15:50:52.56 ID:qbYXpMyS.net]
- typeidもsizeofも関数じゃなくて演算子なんだけど、typeidは括弧が必須。
- 420 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 16:01:08.70 ID:EcHpn11g.net]
- >>389
TCPのMSSは相手との関係で決まるので何バイト送り込んでもエラーには ならないと思うけど TCPとしては送れたデータ量をSeq番号で管理していてセグメントの分割は ドライバの仕事なのでアプリケーションレベルでは意識する必要なかったと 思うけど UDPとかIP直みたいなデータグラムの場合には「WSAEMSGSIZE」が返って くるみたいだけどTCPは平気なんじゃないかな(転送データの保障がある わけではない)
- 421 名前:デフォルトの名無しさん [2019/09/29(日) 17:35:14.18 ID:3s0zt66k.net]
- さすがに return にまで () 付けてるのはうざいわ
- 422 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 17:44:23.38 ID:MP9GBJ11.net]
- >>411
仲間に書かれても文句は言わねえな 見た目の問題じゃなく、やろうとしている内容がセンスに欠けるときなら これ例えばこんな手もあるよなと議論に誘ったりはするし iocccみたいな実験をTPOを間違えてやる大馬鹿野郎がいたら喧嘩売る 実例として/*/野郎は口汚く罵ってやった
- 423 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 17:51:28.09 ID:dmuVBgYo.net]
- ()なんてあってもなくても分かりやすけりゃいいんだよ
逆に>>403なんて()あってもなくても読みにくい。俺はこんなの絶対書かないな
- 424 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 18:02:50.86 ID:bLCqrou7.net]
- sizeof には、極力変数名側を与えるようにして型名は避けるようにしてるけど
WinAPI とは遠い話だな
- 425 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 18:08:58.10 ID:MP9GBJ11.net]
- もうダメ、我慢できないから言っちまおう
>>403は必要な()とそうでないのが解ってねえ アホwバカwww
- 426 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 18:09:40.55 ID:XoUEO8Fx.net]
- return (a);
とは書かないけど、 return (a+1); のときは括弧を付けなくなる
- 427 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 18:44:22.03 ID:qbYXpMyS.net]
- GCCではtemplate関数の記述する際に、ある文字列が型であることをコンパイラに教えるtypenameキーワードが必要なので、sizeof に括弧がないと読みづらくなる傾向はある。
- 428 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 21:35:11.45 ID:MP9GBJ11.net]
- >>420
バーカwwwwwwwwww typenameが必要か否かは規格17.7で明確化されている
- 429 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 22:11:20.40 ID:Mg/ytEjl.net]
- >>415
規約や仕様の話じゃなくて見た目の話してるんだから、それを分かっててセンスがどうのこうのって言い出すのなら この話の流れで草を生やしながら馬鹿まき散らすのは、マジでセンスないねって話になるよ
- 430 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 22:29:52.99 ID:6WuqtMyk.net]
- おはようさん
スレタイ読めない奴は総じてセンスも才能もないってことですよ
- 431 名前:デフォルトの名無しさん mailto:sage [2019/09/29(日) 22:52:38.22 ID:Qb/y7uSu.net]
- >>387
ありがとうございました
- 432 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 08:14:44.84 ID:069AXC1X.net]
- >>422
やろうとしている内容がセンスに欠けているときって言ってるのに規格がどうたらとか、いいからまず涙拭けよw
- 433 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 08:23:22.14 ID:h3H1G0XJ.net]
- もう少しwindowsに関係した話をだな
- 434 名前:デフォルトの名無しさん mailto:sage [2019/09/30(月) 09:28:52.10 ID:5PqXiw6I.net]
- ガイジの出身地方ではWin32APIの範囲なんだろ
- 435 名前:デフォルトの名無しさん [2019/09/30(月) 12:38:46.03 ID:vkIGDak2.net]
- Win32APIがsizeof()推奨なのは
hoge * で済むものをわざわざ typedef hoge *LPHOGE; とかやっちゃって sizeof LPHOGE とかやって 不都合出て来るからだろ
- 436 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 20:49:26.16 ID:D6lr/hhZ.net]
- Win32 APIはバージョン差を吸収するのにパラメータ構造体にその大きさをセットするので
わりかし sizeof の頻度は高いかもな
- 437 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 21:01:09.96 ID:OgNbwofS.net]
- 流れを読まず適当にレスすると
win32apiプログラミングにおけるapiの仕様やsizeofの使用頻度を考えたら括弧付きが自然なのは周知の事実なんだから それにセンスが何ちゃらと難癖付けてるのはwin32apiプログラミングしてないアホでしょ こんなん出ました
- 438 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 22:45:12.05 ID:WzUe48WU.net]
- カッコつけてんじゃねーよ的なやつな
- 439 名前:デフォルトの名無しさん mailto:sage [2019/10/01(火) 22:51:24.51 ID:93GMDhBd.net]
- チコちゃんもといカコちゃんみたいな
- 440 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 06:50:57.68 ID:c9vI97O0.net]
- > win32apiプログラミングにおけるapiの仕様やsizeofの使用頻度を考えたら括弧付きが自然なのは周知の事実なんだから
理由もメチャクチャだし周知とかアホすぎる > それにセンスが何ちゃらと難癖付けてるのはwin32apiプログラミングしてないアホでしょ >>430出ましたw
- 441 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 10:31:29.32 ID:y1aZWk4e.net]
- スレタイ読まないカコちゃんまた来たの?頭弱いね
- 442 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 11:02:31.08 ID:I2VMZsV4.net]
- sizeofに括弧つけるかどうかなんて
正直どうでも良くね?
- 443 名前:デフォルトの名無しさん mailto:sage [2019/10/02(水) 11:33:56.30 ID:Jzurp0++.net]
- 構造体にサイズ入れることが一番多いからあんまつけないな
- 444 名前:デフォルトの名無しさん [2019/10/02(水) 13:04:47.75 ID:55+aQRnY.net]
- 64bit化してからHOGE_PTRが増えてさらに混乱
- 445 名前:デフォルトの名無しさん mailto:sage [2019/10/07(月) 18:52:52.31 ID:gF1mLPnp.net]
- sizeof付けるの嫌ならラッパー作ってそっちで呼び出せよ
win32APIの仕様がそーなるんだからしかたねーじゃん。手続き通りに記述するしかない。
- 446 名前:デフォルトの名無しさん mailto:sage [2019/10/07(月) 20:15:04.08 ID:WFXsDvHg.net]
- perlでWin32APIを使うライブラリWin32::APIを使ってると、
32bitと64bitで異なる構造体のアラインメントを正しく解釈してくれないので、アセンブラ並みに低レベルな記述が必要になることがある。
- 447 名前:デフォルトの名無しさん mailto:sage [2019/10/07(月) 21:01:12.36 ID:Byy1mx9U.net]
- cからperl呼ぶのも腐ってるな
- 448 名前:デフォルトの名無しさん mailto:sage [2019/10/07(月) 22:23:56.51 ID:WFXsDvHg.net]
- >>440
世の中には発酵食品が沢山ある。 発酵 腐敗 熟成 の違いを見極めるのは難しい。
- 449 名前: mailto:sage [2019/10/09(水) 21:21:44.79 ID:ggd9iNPq.net]
- 質問です。
SetFilePointer() https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-setfilepointer を FILE_END で使ったことのある方はおられますか? 第3引数 PLONG lpDistanceToMoveHigh を 0 (そして第 2 引数 LONG lDistanceToMove も 0 )で使うと、FILE_END であっても当のファイルが 4GB 以上の場合にはポインタがファイルの最後に設定されない現象があるようです この場合ダミー変数(毎回 0 を投入している)を設けて lpDistanceToMoveHigh にそのアドレスを設定すると FILE_END がその本来の意味を示すようにみえます。 推量形で記述しているのは、私の環境(mingw64-gcc)ではコンパイラのオプティマイザが過剰に効いている可能性があり -O0 でコンパイルしてはじめて、ある程度この現象が確認できたという事情のためです。 これは一般的な話なのでしょうか?
- 450 名前: mailto:sage [2019/10/09(水) 21:24:08.20 ID:ggd9iNPq.net]
- >>442
ソースを晒します https://ideone.com/riD8Jc
- 451 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 21:49:31.92 ID:75Pp/Qaq.net]
- longの場所になぜintを使う
- 452 名前: mailto:sage [2019/10/09(水) 22:06:12.13 ID:ggd9iNPq.net]
- >>444
printf("sizeof(int):%d, sizeof(LONG):%d\n", sizeof(int), sizeof(LONG)); $ ./a.exe sizeof(int):4, sizeof(LONG):4
- 453 名前:デフォルトの名無しさん mailto:sage [2019/10/09(水) 22:12:20.45 ID:wmrCsqX1.net]
- lpDistanceToMoveHighがNULLの時のFILE_ENDは単純にファイルサイズも下位32bitだけ見て処理してそう
でかいファイル扱うなら素直にSetFilePointerEx使った方がよさげ
- 454 名前: mailto:sage [2019/10/09(水) 22:39:59.07 ID:ggd9iNPq.net]
- >>44
- 455 名前:6
*Ex には気がつきませんでした 昔書いたものをみると s1 = GetFileSize(f, &s2); SetFilePointer(f, s1, (PLONG)&s2, FILE_BEGIN); WriteFile(f, p, strlen(p), &n, 0); ってやっていましたから、どうも、昔も同じところで嵌ったらしく、お茶を濁す方法まで昔と同じのまま、しかもその記憶が今はない… もうなにもかも忘れてしまった… コメントありがとうございました []- [ここ壊れてます]
- 456 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 14:52:27.44 ID:iJLx9DXs.net]
- 書き込むなよクソコテの分際で
- 457 名前: mailto:sage [2019/10/15(Tue) 19:34:41 ID:6pml1OhP.net]
- みんなクソだと思ってたけど
- 458 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 20:02:45.72 ID:M5SL5EtX.net]
- そうなんだ
病気だね
- 459 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 20:59:08.69 ID:H14rNUWV.net]
- こんな場所でこんなクソ書き込みしてるくせに自身のクソさ加減に気付かないなんて病気だぞ☆
- 460 名前:デフォルトの名無しさん mailto:sage [2019/10/15(火) 22:41:36.61 ID:72mqelru.net]
- そうなんだ
病気だね
- 461 名前: mailto:sage [2019/10/17(Thu) 09:57:15 ID:z4eLhP/Z.net]
- PCが複数のネットワークにつながっています。
IUPnPDeviceFinderで検索するネットワークを指定するのはどうしたらいいのでしょう?
- 462 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 22:12:09 ID:EXgPOVjA.net]
- CSPのハンドルであるHCRYPTPROVなんだけど、
これってスレッドセーフ? 具体的には、同じハンドル使って別スレッドで同時にCryptGenRandom()呼んでも大丈夫なものなの? Goのcrypt/randが排他せずに同じハンドルで呼んでいて気になったんで
- 463 名前:デフォルトの名無しさん mailto:sage [2019/10/21(月) 23:03:30.44 ID:xGMxn7s7.net]
- 7から10にしたらこんな感じで画面外の領域が描画されなくなってしまいました ttps://i.imgur.com/IjNvIme.png
Windows10で画面外の領域を描画させるような関数か方法はありますか? InvalidateRect、UpdateWindow、RedrawWindow、PrintWindow、DwmGetDxSharedSurfaceは試しましたが無理そうです ソースです ttps://dotup.org/uploda/dotup.org1975774.cpp.html
- 464 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2019/10/21(月) 23:12:02 ID:LVq8IpRv.net]
- >>455
CreateDC("DISPLAY", ...) CAPTUREBLT
- 465 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 00:53:22 ID:VVF85bpK.net]
- >>456
CreateDCではディスプレイに表示されてる領域のデバイスコンテキストしか取得できませんでした ウィンドウの外ではなく、ディスプレイの外に出ている領域を取得したいのです CAPTUREBLTは単体だと真っ黒、SRCCOPYと一緒に指定してもSRCCOPY単体と変化はありませんでした
- 466 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 01:13:45.23 ID:tgq7+oc3.net]
- 455に貼ってるスクショでは単に5chのページが途中までしか描画されないように
見えるだけで、"画面外の領域"の意味がよく分からんが・・・・ それはともかく、実は管理者権限で実行するといけちゃうとか?
- 467 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 02:01:10.02 ID:VVF85bpK.net]
- >>458
別アプリ(画像ではブラウザ)をSetWindowPosでウィンドウの一部がディスプレイの外に出る位置に移動して そのウィンドウの内容をBitBltで取得して自分のウィンドウに表示してるんですが ディスプレイに表示されてないディスプレイの外に出た部分が真っ白になってしまいます すいません、説明下手なのでソースを見てもらえると助かります
- 468 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 02:29:09.84 ID:rKj5dIYC.net]
- まともに説明もできないソースだとそもそも何したいのかわからないほどのバグな気がする
- 469 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 02:57:41.77 ID:tgq7+oc3.net]
- 対象となるアプリのスクショを取るようなアプリでOK?
面倒なので
- 470 名前:試さないけど、単に画面外に描画しても無駄なので描画してない
だけのような気がするが、その理屈なら画面外ではなくその上に別ウィンドウを 表示させるとどうなるんだろうなってことと、対象アプリがブラウザ以外だと どうなるんだろうなってことなど突き詰めたい項目が(面倒くさくなり以下略 [] - [ここ壊れてます]
- 471 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 09:19:42.21 ID:cLGxu2gX.net]
- Windows7でaero有効なら画面に見えていないウィンドウからbitbltできるが、10でaero廃止されたのが
関係しているのかな。 10でもタスクバーのウィンドウプレビューは表示されるから7と同じようにできてもいいとは思うが。
- 472 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 09:22:47.36 ID:swuil85R.net]
- 10でも取れるぞ。これは確実
ソース見てないから原因はしらね
- 473 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 12:27:17.50 ID:VVF85bpK.net]
- >>461
OKです デスクトップのデバイスコンテキストから転送すると上にある別ウィンドウの画像込みになりますが 対象アプリのデバイスコンテキストから転送すると対象アプリの画像だけを取得できます 対象はブラウザ以外でも描画されない部分が白か黒かの違いだけです ttps://i.imgur.com/Mm7HOQP.png >>462 プレビューでも描画されないです ttps://imgur.com/ATYh4ng
- 474 名前:デフォルトの名無しさん [2019/10/22(火) 13:41:14.15 ID:fxbuxtP/.net]
- 画面コピー貼る前にソース貼れ
- 475 名前: mailto:sage [2019/10/22(火) 13:44:24.15 ID:afWm6mlf.net]
- >>464
早く解決したいのだったらソースを貼らないと
- 476 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 13:47:22.65 ID:PRXTlxOV.net]
- そのコードだとキャプチャできないのは確認したけどプレビューまではそんな風にならんな
なんとなくOS自体の省力設定に連動して OSがクリップしてる or アプリ自身のクリップを引き起こしてる臭いけど 新しめのキャプチャAPIだと↓ https://docs.microsoft.com/en-us/windows/uwp/audio-video-camera/screen-capture
- 477 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 13:55:50.74 ID:PRXTlxOV.net]
- 補足、そっからじゃC++のデスクトップアプリからの使い方がわかんねえな
https://github.com/microsoft/Windows.UI.Composition-Win32-Samples/tree/master/cpp/ScreenCaptureforHWND
- 478 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 14:05:08.56 ID:VVF85bpK.net]
- >>465
>>466 >>455 で張ってますが落とせないとかありますか? 別のろだで用意したほうがいいですか? >>467 うちだと実機でも仮想PCでもプレビュー欠けてるんですよね 仮想PCに新規でWin10入れて確かめてみます C++のソースありがたいです。試してきます
- 479 名前:デフォルトの名無しさん [2019/10/22(火) 14:09:15.53 ID:fxbuxtP/.net]
- 一度memdcにコピーする手間があったような
- 480 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 14:32:05.02 ID:cLGxu2gX.net]
- 俺も>>455と同じようなキャプチャソフトを自作してたんで今win10で試してみたが
ウィンドウが画面外にはみ出しているからといってキャプチャできないことはないな。 プレビューが欠けるということもなかったが。 >>464 プレビューが欠けるのが特定のアプリだけならそのアプリの問題だろうから あきらめるしかないだろうねえ。 どのアプリでも欠けるとしたらwindowsの設定かGPUの問題かなにかかな。
- 481 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 15:53:33.65 ID:VVF85bpK.net]
- クリーンインストールWin10でも症状変わらず
ScreenCaptureforHWNDも変わりませんでした >>471 画面内で表示してから画面外に移動してキャプチャしてませんか? キャプチャはできても更新がされない感じなので 移動してから内容更新するとキャプチャ画像とプレビューがこうなります ttps://imgur.com/9IQYBMH
- 482 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 16:05:23.75 ID:cLGxu2gX.net]
- それをedgeとかでやっても同じなん?
動画を表示していもプレビューは随時更新されるが、ふつう。
- 483 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 16:09:29.85 ID:tgq7+oc3.net]
- 他のキャプチャソフトではどうなるの?っと
- 484 名前:デフォルトの名無しさん mailto:sage [2019/10/22(火) 17:18:39.23 ID:An+rmEaC.net]
- コンパイラ設定が
|

|