[過去ログ]
Win32API質問箱 Build123©2ch.net (1002レス)
Win32API質問箱 Build123©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1475897582/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
729: デフォルトの名無しさん [sage] 2017/07/13(木) 19:54:13.72 ID:EhXEoqOX エラーになるけどエラーないってことか http://mevius.5ch.net/test/read.cgi/tech/1475897582/729
730: デフォルトの名無しさん [sage] 2017/07/13(木) 20:11:37.92 ID:WT5N9OT5 >>728 エラーになる最小のコードを晒さんとなんとも言えんわ http://mevius.5ch.net/test/read.cgi/tech/1475897582/730
731: 726 [sage] 2017/07/13(木) 20:44:11.52 ID:NRXck0Ni >>729 コンパイルエラーはありませんが、 実行時にaccept()がエラーを返します。 >>730 #include <winsock.h> #pragma comment( lib, "wsock32.lib" ) #include <thread> using namespace std; int main() { WSADATA WSAData; WSAStartup( MAKEWORD( 1, 1 ), &WSAData ); SOCKET SockListen = socket( AF_INET, SOCK_STREAM, 0 ); SOCKADDR_IN Addr; Addr.sin_family = AF_INET; Addr.sin_addr.s_addr = htonl( INADDR_ANY ); Addr.sin_port = htons( 1234 ); bind( SockListen, ( SOCKADDR* )&Addr, sizeof( SOCKADDR ) ); listen( SockListen, 1 ); SOCKET SockAccept = accept( SockListen, NULL, NULL ); closesocket( SockAccept ); closesocket( SockListen ); WSACleanup(); return 0; } これが、accept()がエラーを返すコードです。 #include <thread>かusing namespace std;のいずれか、あるいは両方をコメントアウトすると 正常なソケットを返します。 IDEはVisual Studio Express 2015 for Windows Desktopです。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/731
732: 726 [sage] 2017/07/13(木) 20:49:20.67 ID:NRXck0Ni 自己解決しました! std::bind()とwinsockのbind()が入れ替わってました! ::bind()とすればaccept()もエラーを返さなくなりました。 以前はエラーが出たと思ったのですが、うっかりしてました・・・。 失礼しました! http://mevius.5ch.net/test/read.cgi/tech/1475897582/732
733: デフォルトの名無しさん [sage] 2017/07/13(木) 20:58:52.65 ID:WT5N9OT5 ドンマイ http://mevius.5ch.net/test/read.cgi/tech/1475897582/733
734: デフォルトの名無しさん [sage] 2017/07/13(木) 21:25:50.23 ID:ICDc/LUP bindというマクロが定義されてるライブラリがあって困ったことがあるな http://mevius.5ch.net/test/read.cgi/tech/1475897582/734
735: デフォルトの名無しさん [sage] 2017/07/14(金) 10:38:54.13 ID:V0t+uF1e >>728 名前衝突のときエラーメッセージみるのは リンク時だろ http://mevius.5ch.net/test/read.cgi/tech/1475897582/735
736: デフォルトの名無しさん [sage] 2017/07/14(金) 12:41:08.29 ID:g8QLqbc9 >>735 今更だし 的はずれだし http://mevius.5ch.net/test/read.cgi/tech/1475897582/736
737: デフォルトの名無しさん [sage] 2017/07/14(金) 14:56:41.55 ID:QI5b+orn >>731 >using namespace std; そもそもコレできるけど関数名書かないならやらない方がいい http://mevius.5ch.net/test/read.cgi/tech/1475897582/737
738: デフォルトの名無しさん [sage] 2017/07/14(金) 21:54:21.02 ID:rNsHAWgc エンコードした動画データをWinSockを使ってUDPで送信しているんですが、 通信速度が妙に制限されている感じがします。 送信PC → (有線LAN GbE) → Wi-Fiルーター → (無線11ac) → Winタブ 有線の方はGbEなのに、データ量を増やすと8Mbpsあたりで頭打ちになり、 無線の方も11acなのに3Mbpsあたりで受信が頭打ちになります。 (いずれもタスクマネージャーのパフォーマンスタブで確認) 無線の方は最初もっと酷くて、調べたらワイヤレスアダプタが省電力モードになっていたので、 これを解除すると改善はしたのですが、それでも上記の通り3Mbps程度です。 実効帯域は理論値には及ばないとは思いますが、それにしても酷くないですか?? 何かリミッターがかかっているのでしょうか? それともこんなもんでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1475897582/738
739: デフォルトの名無しさん [sage] 2017/07/15(土) 00:49:20.22 ID:9CUWPUhe 受け取り側WinXPにしても速度一緒かね? DDOS対策されたに一票 http://mevius.5ch.net/test/read.cgi/tech/1475897582/739
740: デフォルトの名無しさん [] 2017/07/15(土) 11:33:44.05 ID:UAO9e8fy >>738 jumboフレームにしてないとかいうオチ http://mevius.5ch.net/test/read.cgi/tech/1475897582/740
741: デフォルトの名無しさん [sage] 2017/07/15(土) 17:41:49.53 ID:9CUWPUhe jumboじゃなくても100MBsecぐらいすぐ出るかと http://mevius.5ch.net/test/read.cgi/tech/1475897582/741
742: デフォルトの名無しさん [sage] 2017/07/15(土) 19:33:47.48 ID:jhhap/jh 1byte毎にsend()してるとかかも w http://mevius.5ch.net/test/read.cgi/tech/1475897582/742
743: デフォルトの名無しさん [sage] 2017/07/15(土) 19:39:10.00 ID:GPnBT/AI >>742 +1 http://mevius.5ch.net/test/read.cgi/tech/1475897582/743
744: 738 [sage] 2017/07/17(月) 11:59:14.97 ID:/eGUIGmm >>739 XPのPCがないので検証できないですね。 DDOS対策だとすると、成す術なしでしょうか・・・。 >>740 ジャンボフレームの設定は、Surfaceではできないみたいです。 仮にジャンボフレームじゃないにしても、今の帯域は小さすぎる気がします。 >>742 送り側はsendto()で、一度に送れる最大サイズの65507バイトで送ってます。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/744
745: デフォルトの名無しさん [sage] 2017/07/17(月) 15:26:50.32 ID:JChZsj9+ >>744 むしろ一度に送りすぎでは? etherのフレームに入り切らないとipレベルでフラグメンテーションを起こして余計遅くなることもある。 1500-20-8=1472以下だとどうなる? http://mevius.5ch.net/test/read.cgi/tech/1475897582/745
746: デフォルトの名無しさん [sage] 2017/07/18(火) 07:29:21.72 ID:pxoS8Rlj >>744 ソケットのバッファが溢れているのかもしれない。UDPだからsendしても黙って破棄されうる。これが原因だったらsetsockoptで送信、受信のバッファを大きくすれば良い。 また、UDPではOSが送信速度の調節をしないから、アプリケーション側で一定の速度でsendしないと途中のデバイスや受信側で破棄されることもある。 例えば、5Mbpsで送っているつもりでも、10ms間に500Mbpsで送り、後の990msは何もしていない可能性がある。その場合途中のWi-Fiルータのバッファが溢れるかもしれない。 送信用のスレッドを作り、send毎に経過時間と送信量を調べ、適当にsleepさせれば良い。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/746
747: デフォルトの名無しさん [sage] 2017/07/18(火) 13:10:40.68 ID:Qgn2HB2W LANケーブルの方は10Mbpsでリンクアップしてない? http://mevius.5ch.net/test/read.cgi/tech/1475897582/747
748: デフォルトの名無しさん [sage] 2017/07/18(火) 13:18:25.28 ID:LIY57LJN パケットキャプチャしないの? http://mevius.5ch.net/test/read.cgi/tech/1475897582/748
749: 738 [sage] 2017/07/18(火) 23:58:54.20 ID:wXjNiN5C 本日、色々検証してみまして、分かったことを書きます。 送信側(優先)のPCで、whileループでひたすらsendto()しまくる単純なプログラムを動かしたところ、 何と1Gbps近く出ました! 動画圧縮・送信アプリで送信制限があるかに見えたのは、 単にエンコードのAPIが、一定以上のビットレートではデータサイズが飽和しているだけのようです。 このアプリを複数起動したところ、1プロセス×起動数分の帯域(12Mbps等)をちゃんと消費しました。 しかし、一方の受信側(無線)のタブレットPCでは、whileループでひたすらrecvfrom()しまくっても 5Mbps程度でやはり頭打ちしました。 これらはすべてUDPでの送受信ですが、 試しにTCPではどうか検証してみたところ、 フリーのFTP転送アプリで、送受信ともに、何と200Mbpsくらい出ました! そんなバカな、と思い、自分でTCP送受信だけをひたすら行う単純なプログラムを書いて実行してみたところ、 200Mbpsには至らなかったものの、26Mbpsくらいまでは送受信ともに出せました。 なお、帯域を大きくすればするほど、送信に失敗する確率が高まる傾向が見られました。 これはTCPで見られる、受信側のバッファ枯渇によるものと思われます。 アプリ側でsetsockopt()で受信バッファを拡張してやると改善し、上記bpsに至りました。 FTP転送アプリがなぜ200Mbpsも叩き出せたかは分かりませんが、 今回の動画送受信アプリでは26Mbpsでも十分な帯域なので、結果的にはUDPからTCPに変更ことで対策が完了しました。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/749
750: 738 [sage] 2017/07/19(水) 00:04:16.35 ID:eXD5VvDv 今回の検証で、以下のような仮説が立ったのですが、いかがでしょうか? ・11acにまで広帯域化し、TCPの再送制御等のオーバーヘッドが相対的に小さくなった ・11acで帯域は向上し、エラーレートも抑えられているものの、パケットロスする絶対数(機会)は 増加しているため、UDPには向かなくなっている こうなると、「大容量のデータを効率的に送受信」というUDPのメリットは失われ、 ブロードキャスティングでデータ共有の利点が残る程度になるのかなぁ、という感じです。 この考察は的を射ているでしょうか? だとしたら、業界では知られてることなんでしょうかね? http://mevius.5ch.net/test/read.cgi/tech/1475897582/750
751: デフォルトの名無しさん [sage] 2017/07/19(水) 01:57:20.58 ID:Q4K+dCVc >>750 @TCPのオーバーヘッドは送受信の処理が重いことが主で、別にそれほど帯域を浪費する訳ではない。 ヘッダによる消費は、UDPだと1500バイト中28バイト、TCPだと1500バイト中40バイト。TCPだと適宜ACKが返ってくるが、それも各パケット数十バイト。 送受信側の処理速度向上が大きい。 AUDP向きかどうかは当然何をしたいかに依る。 TCPの処理が邪魔になる場合(遅延やパフォーマンス等の理由で)、「何もしない」UDP上に独自の実装をする。TCPで問題ないならTCPで良い。 信頼できるストリーム通信が必要なら、結局UDP上にTCPもどきを作ることになるだけ。 BTCPの欠点に、RTTが大きいと遅くなることがある。海外との大量のファイル転送はUDP上の独自プロトコルで行ったりする。あと、TCPoverTCPはパフォーマンスが劣化するから、VPNやトンネリングはUDP上が良い。 また、コネクションレスであることは、NATやFWを越える時に便利だったりする。 C普通、何もしないUDPは、余計な処理をするTCPより遅くはならない。UDPで5Mbpsしか出ないのは、どこかのバッファが溢れているか、大きすぎるデータをsendしてフラグメンテーションを起こしているかどちらかの可能性が高い。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/751
752: デフォルトの名無しさん [sage] 2017/07/19(水) 09:22:44.41 ID:q1yo5LZE >>750 >・11acで帯域は向上し、エラーレートも抑えられているものの、パケットロスする絶対数(機会)は >増加しているため、UDPには向かなくなっている そんなにパケットロスしているとtcpも速度出ないですよ。 原理的には、制御して再送する分だけudpより遅くなるでしょう。 udp で速度が出ないのは主として送受信側のバッファ溢れでしょうから、 ・送信側は溢れないレートで送信する 例えば帯域1GHz WiFi で 1Gbps で送信したら帯域を食い潰して受信側へ再送出できませんよね。 ケーブルの場合と違って電波は PC->基地局-> 受信側とairを2回経由します。 あまり大量に送ると基地局まで届いてもそこでドロップされます。 ・read側はなるべくread I/O を発行しっぱなしにしてあげる スレッド使うなどカーネルの受信バッファあてにしないで頑張る。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/752
753: デフォルトの名無しさん [] 2017/07/19(水) 11:44:11.55 ID:+fK80sDM >>749 FTPはpasvじゃね http://mevius.5ch.net/test/read.cgi/tech/1475897582/753
754: デフォルトの名無しさん [sage] 2017/07/19(水) 22:12:25.78 ID:54vs2xq7 >>750 > 今回の検証で、以下のような仮説が立ったのですが、いかがでしょうか? 全然的はずれ http://mevius.5ch.net/test/read.cgi/tech/1475897582/754
755: 738 [sage] 2017/07/19(水) 23:45:01.11 ID:eXD5VvDv 詳細なご助言、ありがとうございます。 ソケットプログラミングを舐めてました・・・。 勉強します。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/755
756: デフォルトの名無しさん [sage] 2017/07/23(日) 21:24:45.77 ID:i/1Azv/r Windows10の環境で、ShowCursor(FALSE);、ShowCursor(TRUE); が何故か動かないですが、原因わかりますか?代用のAPIってありますか? カーソルの形状を透明に置き換えるしかないかな。。。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/756
757: デフォルトの名無しさん [sage] 2017/07/23(日) 21:33:57.11 ID:gJMUPJMf >>756 自分のプログラムではWindows10で動いてるよ。 複数回呼んだりしてない? ShowCursor()は内部の参照カウントみたいなのをインクリメント/デクリメントして、 0以上かどうかで表示/非表示が変わる。 確実にやるならwhile文で戻り値(カウント値)をチェックしてやる。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/757
758: デフォルトの名無しさん [sage] 2017/07/24(月) 00:50:38.22 ID:Q/sCu+tw 自分のアプリ内だけ消したいとかならWM_SETCURSORでSetCursorにぬるぽ渡してるなあ http://mevius.5ch.net/test/read.cgi/tech/1475897582/758
759: デフォルトの名無しさん [sage] 2017/07/24(月) 01:03:43.40 ID:ApWJ+3q2 動かない原因がわかりました。。。 自分のWINDOWを表示していない場合、カーソル非表示にならないっぽいです。 ジョイスパッドで操作するマウスを作っていて、マウスを移動した後で、 自動的にマウスカーソルの表示/非表示したかったのですが、 自分のウインドウを表示していないためにうまくいかない;; カーソルの形状変えて回避を試すか、透過ウインドとかで回避? http://mevius.5ch.net/test/read.cgi/tech/1475897582/759
760: デフォルトの名無しさん [sage] 2017/07/24(月) 01:40:41.42 ID:ApWJ+3q2 もしかして、フック使わないとだめ? http://mevius.5ch.net/test/read.cgi/tech/1475897582/760
761: デフォルトの名無しさん [sage] 2017/07/24(月) 02:06:27.33 ID:etlzFZfn どうだったかなぁ グローバルにマウスカーソルを消す方法はあったかなぁ 相当な迷惑行為だからなぁ そんな事をしたい奴も居ないだろうしなぁ http://mevius.5ch.net/test/read.cgi/tech/1475897582/761
762: デフォルトの名無しさん [sage] 2017/07/24(月) 02:58:51.42 ID:mnSWSFmQ 透過ウィンドウが王道じゃなかったか 忘れたけど http://mevius.5ch.net/test/read.cgi/tech/1475897582/762
763: デフォルトの名無しさん [sage] 2017/07/24(月) 08:28:59.85 ID:axe1Ox+X 透過ウィンドウ最大化でなんとかしてた http://mevius.5ch.net/test/read.cgi/tech/1475897582/763
764: デフォルトの名無しさん [] 2017/07/24(月) 15:15:22.73 ID:BdqEvISL vfd http://mevius.5ch.net/test/read.cgi/tech/1475897582/764
765: デフォルトの名無しさん [sage] 2017/07/25(火) 00:03:21.82 ID:SY0Mxk4f SetSystemCursorで一応変更できるけど完璧にはできない http://mevius.5ch.net/test/read.cgi/tech/1475897582/765
766: デフォルトの名無しさん [sage] 2017/07/26(水) 21:44:38.92 ID:dmLhcxPj マウスの件ですが、サイズ1x1のウインドウを作って、WM_TIMERでウインドウを追尾するようにして対処しました。 透過ウインドでアルファ1設定しています。0にしちゃうとダメっぽいです。もっといい方法あるのでしょうか? hWnd = CreateWindowEx(WS_EX_TOPMOST | WS_EX_LAYERED, szWindowClass, szTitle,WS_POPUP,0, 0, 1, 1, NULL, NULL, hInstance, NULL); SetLayeredWindowAttributes(hWnd, 0, 1, LWA_ALPHA); // 透明1 int n;do { n = ShowCursor(0); } while (n >= 0); // マウスカーソルを消す case WM_TIMER: POINT pt;GetCursorPos(&pt);SetWindowPos(hWnd, HWND_TOPMOST, pt.x, pt.y, 0, 0, SWP_NOSIZE); http://mevius.5ch.net/test/read.cgi/tech/1475897582/766
767: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/26(水) 21:49:04.00 ID:bC5SPfn2 ウィンドウを仮想スクリーンいっぱいにすれば、追尾の必要はない。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/767
768: デフォルトの名無しさん [sage] 2017/07/26(水) 22:17:49.99 ID:dmLhcxPj >>767 仮想スクリーンサイズいっぱいにウインドウを作っちゃうと、CPU/GPUのパワー無駄に使いませんか? 1x1サイズのほうが、アプリ的には、軽いと思うんですが? http://mevius.5ch.net/test/read.cgi/tech/1475897582/768
769: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/27(木) 01:34:42.30 ID:vaTNWP9F >>768 WS_EX_TRANSPARENTを使えば描画が透過になるらしい。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/769
770: デフォルトの名無しさん [sage] 2017/07/27(木) 16:09:43.62 ID:5IXklzdW そのようなことが本当に可能かどうかの確認もせずに書き込むのはなぜなんですか? 実際に昔自分が試したことがあって、完全にわかっているなら良いと思うけど やったこともないことを、試しもせずに、どうして適当書き込むの? まずレイヤードウィンドウで、SetLayeredWindowAttributes でアルファ値を0にした場合 完全な透明になるとともに、マウスの当たり判定も何もなくなって まるでウィンドウが存在していないかのような扱いになるので マウスカーソルがウィンドウ上に有るよっていう扱いが無くなって マウスカーソルを非表示にしても、非常時にはならない で、アルファ値を1とか適当な値にするとマウスの当たり判定が出来るので めでたくマウスカーソルを非表示にすることが出来る ここまでは質問者が書いている内容 ここで、ウィンドウサイズを画面いっぱいに広げると 画面全体がアルファ値の「1」の分の影響を受けそうだということもあるが とりあえず質問者はGPUの負荷を気にしている そこでアルファ値を0にするとWindows内の最適化でGPUでの合成処理はスキップされるだろうが しかし先ほども書いた通りマウスの当たり判定も無くなるのでマウスカーソルは消えなくなる で、この場合WS_EX_TRANSPARENTの何が有効なんだという話 これを指定したからといって、アルファ値が1であればウィンドウは表示されるし 表示されるんなら、GPUに負荷がかかることに変わりなし だが、ここまでであればまだよい、まだわかる、それはいい、本当の問題は レイヤードウィンドウにおいてのWS_EX_TRANSPARENTは、「マウスイベントを透過させる」の意だ つまり、ウィンドウは半透明とかで表示するけども、マウス的には無きものとして扱う そういう意味であるので、マウスの判定は無くなるし、ウィンドウ上にマウスがあるって扱いも無くなるので 「マウスカーソルは消えない」 だから、レイヤードウィンドウでWS_EX_TRANSPARENTだと アルファ値が何であろうと、ウィンドウサイズが何であると、関係なく そもそもマウスカーソルは消えない つまり言ってることが二重三重にデタラメ http://mevius.5ch.net/test/read.cgi/tech/1475897582/770
771: デフォルトの名無しさん [sage] 2017/07/27(木) 16:26:35.88 ID:TSUPQXzA とりあえず全部読んだ http://mevius.5ch.net/test/read.cgi/tech/1475897582/771
772: デフォルトの名無しさん [sage] 2017/07/27(木) 16:32:39.41 ID:5IXklzdW ちなみにレイヤードウィンドウじゃない普通のウィンドウに WS_EX_TRANSPARENTを指定しても 今回の件はうまくいかないからな WS_EX_TRANSPARENTの仕様はその昔のWindowsの描画の仕様に強く依存していて それ故にかなり複雑な動きをするところもあったかもしれないが しかしながら今回の件において、それも既に関係が無い なぜなら今はデスクトップコンポジションだから ウィンドウは自分のビットマップを持ってるので かつてのWindowsの再描画の仕様によってもたらされていた ウィンドウの下のものが透けて見えるように感じる、という現象は起こらない http://mevius.5ch.net/test/read.cgi/tech/1475897582/772
773: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/07/27(木) 17:02:53.88 ID:LWV2Yf86 WM_ERASEBKGNDをつぶせば透過に http://mevius.5ch.net/test/read.cgi/tech/1475897582/773
774: デフォルトの名無しさん [sage] 2017/07/27(木) 17:54:30.49 ID:5IXklzdW 良くわからないなら少なくとも出来るかどうか確認してから言えといっただろ http://mevius.5ch.net/test/read.cgi/tech/1475897582/774
775: デフォルトの名無しさん [sage] 2017/07/27(木) 18:03:15.82 ID:DvER6G26 それがにちゃんねるクォリティというもの、コードを貼らない書き込みに期待しないのがいい http://mevius.5ch.net/test/read.cgi/tech/1475897582/775
776: デフォルトの名無しさん [] 2017/07/27(木) 18:06:42.35 ID:46kBibo2 誰に確認してから言えって言ってるの? 回答側に確認義務があるなら、だれも回答したくなくるしヒントも言えんわ。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/776
777: デフォルトの名無しさん [sage] 2017/07/27(木) 18:22:49.05 ID:t8Fq16Nl 片山はNGワードでOK http://mevius.5ch.net/test/read.cgi/tech/1475897582/777
778: デフォルトの名無しさん [sage] 2017/07/27(木) 18:29:25.65 ID:DvER6G26 >>775 これは質問者にもいえる、最低限のコードを貼れない様ではまともな回答も期待できない うんこQZでも1万ステップ程度のコードを貼っていた まずは手を動かしたほうがいい http://mevius.5ch.net/test/read.cgi/tech/1475897582/778
779: デフォルトの名無しさん [sage] 2017/07/27(木) 19:16:34.98 ID:P1js1uXh 責任ある解答が欲しけりゃ金払えよ 払っても責任とってくれるかどうかは知らんけど w http://mevius.5ch.net/test/read.cgi/tech/1475897582/779
780: デフォルトの名無しさん [sage] 2017/07/27(木) 20:24:33.89 ID:5IXklzdW スレの運営方針とか、自治的な何かとは、関係ない 2chのスレがグダグダになろうが、嘘であふれかえろうが、知ったことではない 知りもしないことを、調べもしないで、確かめることもせず 知ったかがしたいという唯それだけのために適当なことを書き込む あなたはいったい何なんだ?そして実際間違ってる という単なる個人攻撃 そして、また間髪おかず間違ったことを書き込んだから なぜ同じ過ちを繰り返す?としたまで 拡大解釈して一般化してどうこう言うようなものではないぞ http://mevius.5ch.net/test/read.cgi/tech/1475897582/780
781: デフォルトの名無しさん [sage] 2017/07/27(木) 20:39:13.38 ID:7IEdpfIL >>780 しったかが多いのは何もにちゃんねるに限らない,世間様でもあきれ返るばかりに多いんだよ http://mevius.5ch.net/test/read.cgi/tech/1475897582/781
782: デフォルトの名無しさん [sage] 2017/07/27(木) 21:17:08.86 ID:lePSsggt >>780 無駄な正義感で生きにくそう http://mevius.5ch.net/test/read.cgi/tech/1475897582/782
783: デフォルトの名無しさん [sage] 2017/07/27(木) 21:57:41.84 ID:P8zzUyc0 >>780 2chがどうなろうと知ったこっちゃないのに個人が間違ったこと書くのは許せないとか アホすぎ w http://mevius.5ch.net/test/read.cgi/tech/1475897582/783
784: デフォルトの名無しさん [] 2017/07/27(木) 22:02:56.93 ID:DDfF3pSC 株式会社メビウス(mob) http://matsuri.2ch.net/test/read.cgi/infosys/1501121465/ http://mevius.5ch.net/test/read.cgi/tech/1475897582/784
785: デフォルトの名無しさん [sage] 2017/07/27(木) 22:40:03.60 ID:lBgNNeyr ネットでデタラメ狩りしてもキリがないもんな 大抵は質問する側の方が知識あるから大丈夫 http://mevius.5ch.net/test/read.cgi/tech/1475897582/785
786: デフォルトの名無しさん [sage] 2017/07/27(木) 23:21:44.69 ID:TSUPQXzA 知識がある質問側が知識のない回答者に訊くのか http://mevius.5ch.net/test/read.cgi/tech/1475897582/786
787: デフォルトの名無しさん [sage] 2017/07/28(金) 01:04:49.84 ID:/BbkHPYe 質問する人は自分でやってみて上手くいかず答えが難しいから質問するわけで、 やったこともなく難しいということすらわからず当てずっぽうな返答を書く人よりは知識あるでしょ。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/787
788: デフォルトの名無しさん [sage] 2017/07/28(金) 01:14:51.00 ID:/BbkHPYe ところで当てずっぽうで書くけど拡張ウィンドウスタイルで透明にして erasebkgnd やら ncpaint やらで描画サボっても透明になるんじゃないか 昔のバイナリはそうやって穴あきウィンドウとか実装してたわけで その辺は今でも互換性あるでしょ http://mevius.5ch.net/test/read.cgi/tech/1475897582/788
789: デフォルトの名無しさん [sage] 2017/07/28(金) 04:15:41.18 ID:OlX0v1uA >>787 どこまで頭悪いとそういう理論にたどり着くのか http://mevius.5ch.net/test/read.cgi/tech/1475897582/789
790: デフォルトの名無しさん [sage] 2017/07/28(金) 07:47:39.36 ID:bTFRT7jO >>786 そういえば、知識のある人に訊いたつもりなのに知識ない人から変な回答が付くってのはよくあるなぁ。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/790
791: デフォルトの名無しさん [sage] 2017/07/28(金) 09:01:08.00 ID:QaJRNrxO つもりだからでしょ つもりしゃなくてそうしなよ http://mevius.5ch.net/test/read.cgi/tech/1475897582/791
792: デフォルトの名無しさん [sage] 2017/07/28(金) 10:41:48.20 ID:HR9e4R3v >>780 >>770で言っていることは正しいと思うよ 理想としてはね でも現実にはそういう人はなくならない なら相手に「誠心誠意真実のみを語る」ことを求めるより 相手の言葉をヒントとして自分で試す、実践していくことのほうが より確実に真実に近づくと言えるのではないだろうか >>787 でも質問した内容について、「どっちも知識ない」ことは同じじゃないだろうか 目くそ鼻くそなんだし仲良くすればいいと思うよ http://mevius.5ch.net/test/read.cgi/tech/1475897582/792
793: デフォルトの名無しさん [sage] 2017/07/28(金) 20:56:53.43 ID:bTFRT7jO 「知識のある人だけ答えてください」とか書いたら余計バカが集まるw http://mevius.5ch.net/test/read.cgi/tech/1475897582/793
794: デフォルトの名無しさん [sage] 2017/07/29(土) 00:30:51.84 ID:K1UV3B/G >>770 まさにその通りですね。詳しい解説ありがとうございます。WS_EX_TRANSPARENTは、片山さんから助言受ける前に試してました。 画面サイズ最大で作って、erasebkgnd やら ncpaintとかは、リペイントのコストかかるので向いてないかも、ウインドの下でゲームや、動画とか再生されてた時などに不具合出そう。 できるだけシンプルに作りたかったので、今回はサイズ1x1で追尾にしました。(追尾といっても任意の動作後に追尾命令1回なので低コスト) >>778 最低限のコード張ってないのは、どっかのサイトにでもコード張っておけばよかったかもですね。 大した処理ではないので、>>766で書いたCreateWindowEx、SetLayerdWindowAttributes、ShowCursorなどを張り付けておけばわかる人は分かるだろうと思っていたのですみません。 とりあえず、解決です。皆さま、ありがとうございました。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/794
795: デフォルトの名無しさん [sage] 2017/07/29(土) 11:30:19.14 ID:Ws5hVYlo >>786 2ちゃんはそんなのばっかだよ http://mevius.5ch.net/test/read.cgi/tech/1475897582/795
796: デフォルトの名無しさん [sage] 2017/07/29(土) 11:31:52.72 ID:Ws5hVYlo >>791 知らないのにレスしないでください うざいだけです http://mevius.5ch.net/test/read.cgi/tech/1475897582/796
797: デフォルトの名無しさん [sage] 2017/07/29(土) 15:22:56.00 ID:Vfg3EN7i そのレス懐かしい http://mevius.5ch.net/test/read.cgi/tech/1475897582/797
798: デフォルトの名無しさん [] 2017/07/29(土) 20:59:35.56 ID:Y56dLgVa こっちで書けるかな?。あっち https://mevius.2ch.net/test/read.cgi/tech/1482549747/l50 で、あいこんのきり変えに失敗した、とかいたんだが ついに成功した。 LoadIcon(ょ か゜しかし、LoadImage()では成功していない。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/798
799: デフォルトの名無しさん [sage] 2017/07/29(土) 21:08:08.69 ID:GuKX0EtE 基本的には自力解決するしかないのが多いからな 長年書いていても遭遇するとは限らない突拍子もない現象が起きたりする WinApiはカオスだ 質問は気休めにもならない むしろ面白い現象をここで報告するつもりで質問してほしい http://mevius.5ch.net/test/read.cgi/tech/1475897582/799
800: デフォルトの名無しさん [sage] 2017/07/29(土) 23:32:33.06 ID:muGZrUiV ダイアログボックス上に複数のラジオボタンがあり連続で並んでいます。 先頭のラジオボタンのみグループ属性が付加されており、マウスやキーボードで 操作するとどれか一つだけしか選択できない状態です。 プログラムから現在選択しているラジオボタンとは別のラジオボタンを 選択する際、CheckDlgButtonを使って選択するのですが、これ自体は 選択処理は正常に働きますが、以前選んでいたラジオボタンも選ばれた ままとなります。 これはそういうものでしょうか? WindowsのデフォルトUI動作で単独のラジオボタンしか選べないように なっていると思っていたのですが、プログラムコードではそれは自分で 考慮して処理が必要と言うことでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1475897582/800
801: デフォルトの名無しさん [sage] 2017/07/29(土) 23:49:29.00 ID:N293m3Oe >>800 CheckRadioButton https://msdn.microsoft.com/ja-jp/library/cc410654.aspx http://mevius.5ch.net/test/read.cgi/tech/1475897582/801
802: デフォルトの名無しさん [sage] 2017/07/29(土) 23:58:28.88 ID:9HfHoOru ダイアログエディタで作成した場合 タブオーダーだったかリソース IDだったかが 順序どおりになってないとそういう現象になる http://mevius.5ch.net/test/read.cgi/tech/1475897582/802
803: デフォルトの名無しさん [sage] 2017/07/30(日) 01:59:49.31 ID:pLyoXQEm >>801 そんな関数があったのか。自分で処理するものかと思ってた http://mevius.5ch.net/test/read.cgi/tech/1475897582/803
804: デフォルトの名無しさん [sage] 2017/07/30(日) 07:13:09.16 ID:m983gJFf 800です。 >>801 ばっちりです。どうもありがとうございました。 >>802 これは問題ないことを確認しました。 >>803 恥ずかしながら、CheckDlgButtonでもOSが処理してくれると思い込んでいました。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/804
805: デフォルトの名無しさん [sage] 2017/07/30(日) 09:08:42.74 ID:xziOu8cb >>804 モードレスダイアログのコントロールIDが一番若いラジオボタンは BN_CLICKEDが生成時に2回発生するから注意してね http://mevius.5ch.net/test/read.cgi/tech/1475897582/805
806: デフォルトの名無しさん [sage] 2017/08/02(水) 01:43:28.46 ID:+cEHF0jB WinSockで、クライアント側がconnect()をコールして、 サーバ側がメッセージプロシージャでFD_ACCEPTを受け取るまでの間に、 MessageBox()でダイアログボックスを表示すると、FD_ACCEPTが届かない・・・。 これ、どういう理屈なんだろう? 何とかMessageBox()が挟まらないように改変しようとしてるんだけど、 ちょっとしたことでこの問題を回避できたりしないかな? http://mevius.5ch.net/test/read.cgi/tech/1475897582/806
807: デフォルトの名無しさん [sage] 2017/08/02(水) 03:41:53.16 ID:fdgsCGyr 俺はWinSockの専門家でも何でもないけど http://eternalwindows.jp/network/winsock/winsock05s.html のサイトを丸コピペしつつ MessageBoxを表示したのち 別スレッドでコネクトしたら 普通に接続できたんだが・・・ http://www.geocities.jp/notenop/winsock_demo.cpp http://mevius.5ch.net/test/read.cgi/tech/1475897582/807
808: デフォルトの名無しさん [sage] 2017/08/02(水) 07:39:11.06 ID:6ap2AYHE >>806 MessageBoxはサーバー側かクライアント側かどっちで表示? http://mevius.5ch.net/test/read.cgi/tech/1475897582/808
809: 806 [sage] 2017/08/02(水) 08:16:03.56 ID:+cEHF0jB >>807 そうでしたか。 他のことが原因かもしれませんね。 けっこう規模の大きいプログラムで発生したので、 >>807さんが試みられたように、一度最小コードで再現させてみます。 >>808 すみません、情報不足でした。 サーバー、クライアントともに同一プロセス同一スレッド内です。 外部PCとの通信も考慮しての使用ですが、今回問題が発生したのは、同一PC内です。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/809
810: デフォルトの名無しさん [sage] 2017/08/02(水) 08:24:30.04 ID:i5+f8wcz >>809 > サーバー、クライアントともに同一プロセス ここまではまだわかるが... > 同一スレッド内です。 え? http://mevius.5ch.net/test/read.cgi/tech/1475897582/810
811: デフォルトの名無しさん [sage] 2017/08/02(水) 09:09:46.19 ID:6ap2AYHE >>809 文字通り受け取ると クライアントコネクト →メッセージボックス →サーバーアクセプト が同一プロセス・同一スレッド? そらメッセージボックス閉じないと処理が進まない http://mevius.5ch.net/test/read.cgi/tech/1475897582/811
812: デフォルトの名無しさん [sage] 2017/08/02(水) 09:11:05.84 ID:6ap2AYHE それかメッセージボックスの親をNULLか http://mevius.5ch.net/test/read.cgi/tech/1475897582/812
813: 806 [sage] 2017/08/02(水) 09:43:58.29 ID:7ng0/iaA >>811 >>812 すみません、言葉足らずでした。 ダイアログボックス表示中はもちろん処理の流れがブロックされるんですが、 (MessageBox()のウィンドウハンドルはNULLで、フラグがMB_TASKMODAL | MB_ICONEXCLAMATIONです) ダイアログボックスを閉じた後もFD_READが届かないんです。 フラグを単にMB_OKにしてもブロックされるので変わらずでした。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/813
814: 806 [sage] 2017/08/02(水) 09:45:23.67 ID:7ng0/iaA ↑すみません、FD_ACCEPTです。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/814
815: デフォルトの名無しさん [sage] 2017/08/02(水) 09:47:13.93 ID:3fh+5Dja もしかしてWSAAsyncSelect で hWnd に NULL 指定してるとか? http://mevius.5ch.net/test/read.cgi/tech/1475897582/815
816: デフォルトの名無しさん [sage] 2017/08/02(水) 09:52:12.86 ID:3fh+5Dja 正しく処理されればメッセージボックス表示「中」にFD_ACCEPT がくるはずだけど… http://mevius.5ch.net/test/read.cgi/tech/1475897582/816
817: デフォルトの名無しさん [sage] 2017/08/19(土) 23:59:27.57 ID:3LWi1RRc 直受けの50万 客:いつまでもうちにいていいよ 3次受けの50万(客は70万払ってる) 客:短期延長していい? 5次受けの50万(客は110万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ 長時間労働 高稼働 高スキル要求が多い 零細フリーランスサイトは5次受けから誰もできない難易度の高い仕事 余り物の仕事を紹介してくる。40万円代でやってくれと これならJIETから3次でいったほうがいいな 446非決定性名無しさん2017/08/02(水) 22:12:48.95 JIETに毎月5千円払えば3次から入場できるだろ? 高額をうたうフリーランスのサイトはだいたい5次から45万円 JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした 高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした 473非決定性名無しさん2017/08/03(木) 15:21:30.71 JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる 自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の 間でやらしている。 372仕様書無しさん2017/08/11(金) 10:31:43.41 フリーランスで検索すると引っかかる零細ITがやっているフリーランスのサイトはだめだ。 高額に見せているけど実際は50万前後 JIET加入した方がいいよ。案件は毎日千件以上末端価格は60万円 平凡な稼働時間の80万円の案件もある。 ユー子も求人をだしてる。名刺も渡せる。ユー子に名刺が渡せるんだぞ。夢のようだ それらの案件まさぐってHPで転売していたのが零細ITがやるフリーランスサイト 自称エージェントはJIETから流れてくる案件を転売してるだけだった。 JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む http://mevius.5ch.net/test/read.cgi/tech/1475897582/817
818: デフォルトの名無しさん [sage] 2017/08/20(日) 14:00:03.74 ID:nY0Q5mUa なんか自分が今まで関係してきた金額に比べて全ての金額が安すぎてビックリ。 これじゃ派遣の方がよっぽどましなんじゃね? http://mevius.5ch.net/test/read.cgi/tech/1475897582/818
819: デフォルトの名無しさん [sage] 2017/08/21(月) 16:30:24.87 ID:Fg01UA7s >>813 MessageBoxに限らず、モーダルダイアログは自前でメッセージループ持ってるので 他の人も言ってるように受け取り先きちんと指定しないとダイアログに取られちゃうかも http://mevius.5ch.net/test/read.cgi/tech/1475897582/819
820: 806 [sage] 2017/08/21(月) 19:20:15.44 ID:eYNo081O >>819 ありがとうございます。 モーダルダイアログが自前のメッセージループを持っているということ、勉強になりました。 受け取り先を指定するというのは>>815さんが指摘していることでしょうか? >>815 お返事失念しており申し訳ありません。 WSAAsyncSelectにはメインウィンドウのウィンドウハンドルを指定しており、問題ないかと思います。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/820
821: デフォルトの名無しさん [] 2017/08/23(水) 12:20:49.09 ID:6Fed8jeE 江添亮タイホワロスωω http://mevius.5ch.net/test/read.cgi/tech/1475897582/821
822: デフォルトの名無しさん [sage] 2017/08/25(金) 18:39:23.90 ID:R/niZf6L プロセス名のアイコンを取得するAPIか方法があれば教えてください http://mevius.5ch.net/test/read.cgi/tech/1475897582/822
823: 片山博文MZ ◆T6xkBnTXz7B0 [sage] 2017/08/25(金) 18:53:44.95 ID:M7y+0IYN http://blog.goo.ne.jp/masaki_goo_2006/e/9e9f82fe965dda84e8794f1ba7e64718 Extractなんちゃら関数使えば、パス名からアイコンを抽出できるはずだ。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/823
824: デフォルトの名無しさん [sage] 2017/08/25(金) 18:54:59.55 ID:Ds4q9hnC プロセス名→exeパス→アイコン取得 http://mevius.5ch.net/test/read.cgi/tech/1475897582/824
825: デフォルトの名無しさん [sage] 2017/08/25(金) 18:57:58.24 ID:R/niZf6L ありゃりゃしたー http://mevius.5ch.net/test/read.cgi/tech/1475897582/825
826: デフォルトの名無しさん [sage] 2017/08/29(火) 17:52:01.06 ID:ehSPqLug プロセスのハンドルって1回オープンしないと取得できない? http://mevius.5ch.net/test/read.cgi/tech/1475897582/826
827: デフォルトの名無しさん [] 2017/08/29(火) 19:35:58.35 ID:1xpDkX/7 ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10178733385 URL先は知恵袋です。 教えてくださいお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/827
828: デフォルトの名無しさん [sage] 2017/08/30(水) 00:20:15.11 ID:9+VQiQGO >>827 こういうのあったけど? pdbファイルが見つからないってやつじゃねーの? ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10103558640 ttps://msdn.microsoft.com/ja-jp/library/yd4f8bd1(v=vs.80).aspx それ以外で解放関連ミスってるかどうかは全コードをGITとかに上げてみろ。 http://mevius.5ch.net/test/read.cgi/tech/1475897582/828
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 174 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s