Win32API質問箱 Build123at TECH
Win32API質問箱 Build123 - 暇つぶし2ch499:デフォルトの名無しさん
17/03/21 17:25:00.36 ghEa3fZg.net
WindowsRuntimeを使わないといけなくなって
c++でコーディングし始めたけどかなり面倒くさい。
c++/cx使えっていうことだろうけど。
windows runtimeがwin32apiの代わりになるのかな?

500:デフォルトの名無しさん
17/03/21 23:26:33.91 y88e15JH.net
しっかし、なんで win32 はあんなに作るのが面倒くさいんだろうな・・・
1~10まで教える感じではなく、1、10、100、1000まで教えてやっと動く感じ。
その分痒い所に手が届くが。。。
だんだん倦厭されているということは、今の納期!納期!の文化とは合わないんだろうな。

501:デフォルトの名無しさん
17/03/22 00:22:36.94 153gnM05.net
>>493
CX糞
URLリンク(github.com)
↑正解

502:デフォルトの名無しさん
17/03/22 00:24:51.70 Qoic3+WX.net
工程の短縮というのもあるけど
「どのアプリケーションでも同じことをしたければ同じ操作をすればいい」と言うのを求めると
同じ操作(同じ動作)をひとつの部品として提供するほうが良い
そういう開発者独自の機能より、一般化された機能や操作性が重要視されるようになったのも一因だと思う

503:デフォルトの名無しさん
17/03/22 00:30:45.76 oXk4FtJ8.net
>>495
これってまだいろいろ未完成じゃないん?
sdkにも含まれてないし扱いが不鮮明なんだよな。

504:デフォルトの名無しさん
17/03/22 00:48:25.76 KP40M7fU.net
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)
C++/CXを置き換えてくのか平行してくのか知らんけど言語プロジェクションを
純C++のヘッダのみで提供するコンセプトなのかしら
ただ肝心の.winmdからヘッダを生成するコンパイラが(まだ)未提供だから
Win2Dみたいな標準に含まれてないランタイムコンポーネントは使えん感じ
ちょっと試してみた感じ/ZWも不要で既存のC++ライブラリとマージしやすそうだし
VS2017+CUの時点で使い物になってて欲しいなあ

505:デフォルトの名無しさん
17/03/23 12:03:55.36 39On3zda.net
>>494
APIの粒度の問題を言われてもな

506:デフォルトの名無しさん
17/03/23 20:22:15.45 NUnQTAC3.net
でも結局どの言語でもAPIインポートするんだよな
意味ないな

507:デフォルトの名無しさん
17/03/26 14:21:34.35 bO2o38VX.net
>>494
>痒い所に手が届く
これ重要

508:デフォルトの名無しさん
17/03/26 15:20:48.57 6+wpTDFL.net
代わりに痒くもないところが腫れあがる

509:デフォルトの名無しさん
17/03/27 08:29:30.36 S+/FPMiq.net
そりゃ掻いてる場所が違うんだ

510:デフォルトの名無しさん
17/03/27 08:31:23.68 CkZovUeE.net
痒いところをかくといけないのでかけないようになってます

511:デフォルトの名無しさん
17/03/29 15:32:52.21 Si2XZHCG.net
ショートカットの.lnkとかあと特殊なフォルダとかに出る
アイコン右下のやつってなんて名前なんでしょうか?

512:片山博文MZ ◆T6xkBnTXz7B0
17/03/29 15:39:16.42 uG+6tdKu.net
overlay icons

513:デフォルトの名無しさん
17/03/29 15:40:33.19 F9h34aTY.net
IDがqz
URLリンク(www.youtube.com)
URLリンク(twitter.com)

514:デフォルトの名無しさん
17/03/29 15:41:59.56 3SDK0DLs.net
右下ってシールドか?
キャプチャぐらい貼れよ無能

515:デフォルトの名無しさん
17/03/29 15:43:11.84 F9h34aTY.net
これやろ

矢印

516:デフォルトの名無しさん
17/03/29 16:02:42.50 3SDK0DLs.net
矢印は左下だろ
アイコンオーバーレイって名称のことかな。ま、どうでもいいや

517:デフォルトの名無しさん
17/04/01 18:40:58.67 m+AYjiBS.net
Win32APIサポート終了のお知らせ

518:片山博文MZ ◆T6xkBnTXz7B0
17/04/01 18:56:32.68 Q4azjyiD.net
>>511
ソース希望

519:デフォルトの名無しさん
17/04/01 19:30:55.19 WcYopVS3.net
>>512
今日の日付

520:デフォルトの名無しさん
17/04/03 01:29:34.83 BKde4+E+.net
嘘をついていいのは午前中なんだが。

521:デフォルトの名無しさん
17/04/03 02:36:19.44 EQsFkd4r.net
それもウソだよ

522:デフォルトの名無しさん
17/04/03 20:45:49.66 fIAaSCsY.net
ウソだってのがウソなんだよ

523:デフォルトの名無しさん
17/04/03 20:47:03.89 DvppQH2R.net
4/1だけにしとけよ

524:デフォルトの名無しさん
17/04/03 21:39:52.92 gWDrFV4S.net
昭和64年は短命
64も短命?
128移行か

525:デフォルトの名無しさん
17/04/03 23:53:31.94 qQvnlfYK.net
コンピュータの進歩がかなり鈍化してきているし
物理的な限界に直面しつつあるから
128bitは俺の生きている間に来るかどうか
今の段階では個人用途でそれだけのメモリ空間が必要になる使い道が思い浮かばん
それはPCの性能がまだそこに全然達していないから全く思い浮かばんってことなんだけど
そこへ至るまでに何段階もの紆余曲折あるだろうから今の段階で考えるだけ無駄だけどね
世の中も全然変わってるだろうし
それはともかく256テラバイト以上のメモリともなると
それを処理するCPUも相当速くないと意味ないからね
今の状態ですらどちらかというとメモリは余り気味でCPUがボトルネックになってる感じだし
メモリは余ってるけど、データ積んだところでCPUが現実的な時間で処理しきれないっていう
まぁ1万コアぐらいないと256テラバイト以上のメモリは生かしきれないんじゃないかな
その場合メモリ帯域は足りるのかとか考えると、コアごとにキャッシュを山のように積むか
コヒーレンシとか考えるともはやそれも難しく
PS3のCellみたいなプログラミングを強いられるかもしれないな
生きてないと思うけど

526:デフォルトの名無しさん
17/04/04 00:09:36.07 3+iIkQVP.net
そういうことを考えると128bitはあまり現実味がないというか
ムーアの法則通りに半導体の性能が上がり続けたとしても
あくまで実時間に対して2倍2倍に増えていくってオーダーだけども
bit数の増え方はもっと激しくて、1bit増えるたびに2倍の空間になるのに
そのbit数自体が2倍2倍に増えて行く


527:わけだから、オーダーが全然違う 8bit→16bit、16bit→32bit、32bit→64bitのように順調にはいかない どんどん間が長くなっていく 128bitは遠い遠い未来か、もしくは訪れないってことになる



528:デフォルトの名無しさん
17/04/04 00:18:54.12 u5Wjlvjc.net
>>519
そのころはAIがプログラム書くようになるから心配無いよ

529:デフォルトの名無しさん
17/04/04 01:30:54.91 BzumqOQh.net
>>520
>8bit→16bit、16bit→32bit、32bit→64bitのように順調にはいかない
それはマイクロプロセッサしか見てないだろ。
メインフレームの世界だと、トランジスタ機になったときには
32bitや36bitがすでにできていたから、そこから全く進化してない
ともいえる。

530:デフォルトの名無しさん
17/04/04 05:56:42.50 /PIYb7TP.net
>>519
VLIWは?

531:デフォルトの名無しさん
17/04/04 08:06:05.98 Tyt+m4C4.net
>PS3のCellみたいなプログラミングを強いられるかもしれないな
中国のスパコン1位がそんなアーキティクチャで2位以下にトリプルスコアの圧勝だったな。
この先、性能を追求したらそうならざるを得ないかも。

532:デフォルトの名無しさん
17/04/04 08:19:35.41 1dU9a0gl.net
そんな下の層の違いは上には影響しないから俺には関係ないな

533:デフォルトの名無しさん
17/04/04 09:42:55.60 mPQmMovw.net
ボトルネックといえばフロントサイドバスとストレージ

534:デフォルトの名無しさん
17/04/04 22:01:11.94 73kME/Mz.net
128ビットも必要なプログラムは人間には書けない

535:デフォルトの名無しさん
17/04/04 22:14:00.40 eHZToKh6.net
書くのは簡単

536:デフォルトの名無しさん
17/04/04 22:23:58.48 u5Wjlvjc.net
一桁二桁の加減乗除なら良いが、128ビットフルに使う計算だと、紙の幅越えないかなw

537:デフォルトの名無しさん
17/04/04 22:31:01.19 2+tk3Olf.net
SSE2使ってるとどうやって128bit使おうかばかり考える

538:デフォルトの名無しさん
17/04/05 01:26:41.60 XXr1MGA7.net
っつーかナニを128ビットにするわけよ?

539:デフォルトの名無しさん
17/04/05 02:45:28.37 qYLi57Sr.net
俺のナニは8bitだしorz

540:デフォルトの名無しさん
17/04/05 08:06:40.12 Bh5NPBNH.net
なに見栄張ってるんだよ
お前のは a bit (=ちょっと) だろ

541:デフォルトの名無しさん
17/04/05 08:54:18.24 BdqpqknF.net
just bit(1ビットだけ)だろ?

542:デフォルトの名無しさん
17/04/05 09:46:20.77 v8qJ9EUo.net
>>531
そりゃcharを16個詰め込んだりするだろ

543:デフォルトの名無しさん
17/04/05 14:24:34.32 +eJqUohN.net
ここまで漏れの自演

544:デフォルトの名無しさん
17/04/06 17:46:17.73 Wug7VRpa.net
質問お願いします。
QueryPerformanceFrequency
で得た値は実行ごとに変わったりするから毎回計測しないと駄目ですか?

545:デフォルトの名無しさん
17/04/06 18:05:42.24 lEpGhGGY.net
どんな理由から毎回計測しないようにしたいんだ?それによる

546:デフォルトの名無しさん
17/04/06 18:18:16.44 Wug7VRpa.net
QueryPerformanceFrequencyの値がプログラムを終了するまで一定なら
1回しかこれを実行したくないし変わるなら一回時間を計測するごとにこれを実行したいです

547:デフォルトの名無しさん
17/04/06 18:30:27.17 lEpGhGGY.net
それなら一度だけでよかったはず

548:デフォルトの名無しさん
17/04/07 17:01:14.12 3o5iBWIM.net
システム起動中に変わることはないってさ

549:デフォルトの名無しさん
17/04/07 22:21:01.99 9JlGmFFU.net
ハイバーネーションみたいなのとかVMとか組み合わさるとどうなるかわかんないけどそういうことになってるね

550:デフォルトの名無しさん
17/04/08 09:03:07.92 ptqONvxu.net
俺は使うたびに毎回読んでるわ
あえてそうしない意味もないから

551:デフォルトの名無しさん
17/04/08 17:48:41.54 C7AQR+Mi.net
すみません、教えてください。
Borland BCC でC/Cppを勉強しているのですが、
CreateWindow( "EDIT", "あああああ", ....
にすると、あああああ の部分が文字化けして ,,,, と表示されてしまいます。
CreateWindow( "STATIC", "あああああ", ...
だと問題なく表示されます。
どうか教えてください、宜しくお願いします。

552:デフォルトの名無しさん
17/04/08 22:40:07.71 42pK0vcr.net
>>544
BCCはよくわかんけど、パラメーターが変とかじゃね?あと考えられるのはUNICODEとか?
このコードは RAD Studio10.1 BerlinとVS2015/2017で動くことは確認済み
HINSTANCE hInst;HWND hEdit,hStatic;
HWND hWnd= Handle; // BCBとか用
hInst=GetModuleHandle(0);
hEdit = CreateWindow(TEXT("EDIT") , TEXT("あああ") ,WS_CHILD | WS_VISIBLE | ES_LEFT,0 , 0 , 400 , 20 , hWnd , 0 ,hInst , NULL);
hStatic = CreateWindow(TEXT("STATIC") , TEXT("あああ") ,WS_CHILD | WS_VISIBLE | ES_LEFT ,0 , 20 , 400 , 20 ,hWnd , 0 ,hInst , NULL);

553:片山博文MZ ◆T6xkBnTXz7B0
17/04/09 07:27:35.73 qFsmFYyf.net
>>544
省略せずに書いてみて。

554:544
17/04/10 07:47:25.26 RoCnetHj.net
すみません、お手数をおかけします。

// あああああ が表示される
CreateWindow( "STATIC",
"あああああ", WS_CHILD | WS_VISIBLE | SS_CENTER,
x, y, w, h,
hGrp1, (HMENU)ID_TEXT1, hInst, NULL );
// あああああ が表示されず ,,,,, となる
CreateWindow( "EDIT",
"あああああ", WS_CHILD | WS_VISIBLE | SS_CENTER,
x, y+50, w, h,
hGrp1, (HMENU)ID_TEXT2, hInst, NULL );
hGrp1 はグループボックスです。

555:片山博文MZ ◆T6xkBnTXz7B0
17/04/10 08:21:28.02 73IQobxS.net
"EDIT"にはSS_CENTERは使えないよ。EDITにはES_...スタイルを使う。

556:デフォルトの名無しさん
17/04/10 08:53:21.05 ZIRNWk3W.net
>>547
とりあえずコントロール毎に指定フラグが違う事を指摘しておく

557:デフォルトの名無しさん
17/04/10 16:45:44.18 PH6zMRzh.net
>>547
マルチバイト文字列が上手くいかないなら"AAAA"のようにシングルバイト文字列で試してみればいいじゃないか。

558:デフォルトの名無しさん
17/04/10 17:20:37.45 vopNHtdq.net
>>547
WM_SETFONTを使って、フォントを関連付けしてみたらどうだい?

559:片山博文MZ ◆T6xkBnTXz7B0
17/04/10 17:25:49.47 73IQobxS.net
SS_CENTERがES_ENDELIPSISとして解釈されたんだろうな。
【今日の教訓】
EDITコントロールには、ES_で始まるスタイルを使え。SS_はEDITには使うな。

560:片山博文MZ ◆T6xkBnTXz7B0
17/04/10 17:32:00.56 73IQobxS.net
ごめん、ES_ENDELIPSISというスタイルはなかった。SS_CENTERの代わりにES_CENTERを指定すればいい。

561:デフォルトの名無しさん
17/04/10 21:33:08.91 G1/iiInq.net
なんでESとかSSとか種類が有るの?

562:デフォルトの名無しさん
17/04/10 21:59:23.57 PH6zMRzh.net
そりゃ特定のコントロールに対するものだからさ。
あとSS_CENTERもES_CENTERも winuser.h で 0x01L と定義されている。
例えば共通の定義 XX_CENTER 0x01L としていた場合、
EDITコントロールの仕様変更でXX_CENTER 0x02L としたくても
STATICコントロールで同じ意義を使っているため変えることが出来ないだろ。
もし定義を変えた場合、STATICコントロールで0x02L というのは別の意味を持っている(かもしれない)ので動作がおかしくなる。
だから意味は同じでも“値”としては別のものとして扱う(定義する)。

563:デフォルトの名無しさん
17/04/10 22:00:00.06 PH6zMRzh.net
ミス
意義→定義

564:デフォルトの名無しさん
17/04/10 23:44:29.58 CESguEkt.net
じゃー将来SS_CENTERが別の値に変更されても安心だね

565:デフォルトの名無しさん
17/04/11 07:55:30.63 pJyY6xCH.net
変えたらひどいことになるけどなw
本音と建前みたいなもんでCの欠点だな。後発言語はそういうとこカバーされてる(のもある)

566:デフォルトの名無しさん
17/04/11 17:52:35.12 xC3FSY5Y.net
モーダルダイアログをメインの親とし、その後動的にサブメニューを表示する仕組みがあります。
サブメニュー表示中も親側の操作を可能とするため、サブメニューはモードレスとしていますが、
TABなどのキー入力が効きません。
辛うじて、初期フォーカスがあるボタンのみスペースキーを受け付けます。
マウス操作は問題ありません。
原因としてはサブメニューのキー処理をする IsDialogMessage を含むメッセージループが必要
なんだろうと思いますが、こういう場合の定石というのはあるのでしょうか?
思い付く実装は以下2パターンです。
その1
親もモードレスとし、親のメッセージループ中にサブメニューのメッセージも処理する仕組みを入れる。
その2
サブメニュー表示後に別スレッドを立ち上げ、そこでサブメニューのメッセージループを回す。

普通はこうだよ。とか他の方法などありましたらお願いします。

567:デフォルトの名無しさん
17/04/11 17:55:40.75 xC3FSY5Y.net
ちょっと語弊がありましたので訂正です。
ここで言う「サブメニュー」とは、CreateMenu などで作られる一般的に言うメニューではなく、
単なるポップアップスタイルのタイトルなしダイアログのことです。
CreateDialog で画面を作っています。
勝手に言葉を作ってすみません。

568:デフォルトの名無しさん
17/04/11 18:23:36.29 9HH9Hffg.net
2つウインドウがあって、1つはメインウインドウ、もう1つはメニューウインドウ
メインウインドウにキーフォーカスがあるとメニューウインドウでキー操作できず、メニューウインドウにフォーカスがあるとメインウインドウでキー操作できない
メッセージを適宜流せばいいんじゃないか?

569:デフォルトの名無しさん
17/04/11 22:23:16.04 xC3FSY5Y.net
フォーカスはそれがあるウィンドウで処理できるようなUIを考えています。
ユーザーがメインウィンドウにフォーカスを(マウスなどで)移せば、
以降はそのウィンドウでキーボード操作ができればいいです。その逆も然り。
適宜メッセージを流すにしても、結局どこでメッセージループを回すかという
話になるのではと思うのですが、違うのでしょうか?

570:デフォルトの名無しさん
17/04/12 22:43:12.22 iYQoJoP4.net
なにいってんだこいつ

571:デフォルトの名無しさん
17/04/12 23:28:35.38 lhjyuLrL.net
分からないのに無理して答えるなよ

572:デフォルトの名無しさん
17/04/13 02:45:23.01 8XBnDqPS.net
最近よく足がつる

573:デフォルトの名無しさん
17/04/13 11:42:08.71 9jlRESvt.net
>>562
フォーカスを移してキーボード操作なんて危険なことを平気でやろうとする人はWin32APIなんて使わない方が良いんじゃね?
普通はフォーカスを移そうとしているオブジェクトにフォーカスを移す移さない関係なく文字列送信するもんじゃないの?
キーボード操作中にユーザーが別のウィンドウをクリックした場合とか考えないの?

574:デフォルトの名無しさん
17/04/13 13:32:39.75 OCOdT3+H.net
>>562
難しく考えるよりも、例えば、MVCベースで考えて設計したらいいんじゃねーの?
オブジェクト指向で設計するのもいいし、データ処理ありきで設計するのもあり、やりやすいように作ればいいよ。

575:デフォルトの名無しさん
17/04/13 17:59:38.26 zh4lU2gJ.net
>>566
なんで何も理解できていないのに無理に話に入ろうとするの?

576:デフォルトの名無しさん
17/04/13 18:16:04.36 xmE6C1ua.net
spyで見てどこにメッセージ届いてるか見ろ

577:デフォルトの名無しさん
17/04/14 00:20:20.46 +RGtmVs/.net
フォースを使うのじゃ

578:デフォルトの名無しさん
17/04/14 00:39:04.52 6ECgJlCU.net
Windows 10 Creators Update入れたら
DrawTextで大きめのフォントの描画が異常に遅くなった。
高DPI未対応のアプリは見捨ててGDIはシンプルに動いてほしい。

579:デフォルトの名無しさん
17/04/14 05:38:58.24 kIyPPZzD.net
>>567
2行目めちゃくちゃだなw

580:デフォルトの名無しさん
17/04/14 10:41:54.49 7fCdXhh/.net
>>561
>メッセージを適宜
それが質問内容でしょうよ。
>>566
タブコンに子ウィンドウ貼り付けて画面切り替えやキー入力受付なんて
日常茶飯事なのになにとち狂ったこと言ってるんだよ。
>>572
ほんとそう。
自分の知ってる単語を並べただけだわな。

581:デフォルトの名無しさん
17/04/14 11:11:32.10 LVRPT4/o.net
Win32APIの後継でc++/cliじゃないライブラリってないのかね?

582:デフォルトの名無しさん
17/04/14 11:29:24.19 iAr+rl+J.net
win32apiはオンリーワンで現役なので後継ってもんがそもそもなし
.netはラッパーライブラリ、cliは言語仕様
>>574の求めてる物の意味が分からん
UWPでも触ってろと言えばいいのか?

583:デフォルトの名無しさん
17/04/14 15:40:59.51 Z/bjVn5R.net
しいて言えばQtじゃね?
Qtのアプリって結構あるよね

584:デフォルトの名無しさん
17/04/14 18:23:47.19 R7yCPQGT.net
>>574
ライブラリってかAPIはユニバーサルwinのがそれじゃないの?

585:デフォルトの名無しさん
17/04/14 18:31:24.82 uRqmXJpf.net
WinRT API

586:デフォルトの名無しさん
17/04/14 22:27:03.58 Gjx6wpyy.net
ここでWTLがまさかの大復活を遂げるわけよ

587:デフォルトの名無しさん
17/04/15 06:16:39.59 qt9qpnGQ.net
ちょっとしたもんつくるにはwtlが一番いい

588:デフォルトの名無しさん
17/04/15 18:14:11.71 JjgxHVsv.net
>>574
Windows API
後継っつーか名前が変わっただけだが

589:デフォルトの名無しさん
17/05/05 00:01:23.37 j+7+fM28.net
Windows10S では Win32/.net アプリは動かないだと。
UWPに変換すれば行けるらしいが、もうおしまいか?

590:デフォルトの名無しさん
17/05/05 00:15:11.42 NU+YZp1H.net
Windows10Sが相手にされなくて終わるだけ。

591:デフォルトの名無しさん
17/05/05 00:41:30.18 W8ns9+oF.net
既に相手されていない感

592:デフォルトの名無しさん
17/05/05 03:08:44.86 IUUvTOhg.net
お前らが相手にされてないじゃん
おっさんしかいないだろうこのスレ

593:デフォルトの名無しさん
17/05/05 08:12:57.54 WdEsZnG0.net
今回のターゲット層はメインストリームじゃないから
既存のアプリが使えなくても不満は少ないと踏んでるんだろう
まあWindowsRTみたいに核爆死はしないんじゃないか
MSもそんなに数を出荷しないだろうから
もう一度WindowsRTをSurfaceやらに載せることを夢見ているのなら
やはりもう一度爆死するだろう

594:デフォルトの名無しさん
17/05/05 18:13:03.55 ERU+CvkU.net
教育用途だっけ
今時のキッズは学校支給タブレットの制限外してゲームしてるらしいからその点ではいいかもな

595:片山博文MZ
17/05/06 18:59:21.43 0OTJXmRc.net
あるプログラムで使用中のGDIオブジェクトの個数を数える方法はありますか?

596:デフォルトの名無しさん
17/05/06 20:36:55.22 TAVkl+y8.net
タスクマネージャで見れるよ

597:デフォルトの名無しさん
17/05/06 20:50:23.24 IA0Dpe0I.net
GetGuiResources(hProcess, GR_GDIOBJECTS)

598:デフォルトの名無しさん
17/05/06 20:53:17.94 Mwx5Td89.net
>>588
GetGuiResources
GR_GDIOBJECTS(0) Return the count of GDI objects.
ってあるし。

599:片山博文MZ
17/05/06 20:54:47.07 NWV3MG9s.net
ありがとー。

600:デフォルトの名無しさん
17/05/06 21:06:22.69 HiVS0qll.net
なにするつもりなのさ

601:片山博文MZ
17/05/06 21:08:39.06 NWV3MG9s.net
メモリーリーク対策やデバッグやらだよ。

602:雪風
17/05/06 21:54:04.69 QwsGrGdx.net
>>593
自演 オナヌーだろ

603:デフォルトの名無しさん
17/05/06 22:06:22.10 sQ11ayCM.net
書いてて恥ずかしくないの?

604:デフォルトの名無しさん
17/05/07 02:01:32.34 KMqw+OzL.net
memory leak detector
URLリンク(tocsworld.wordpress.com)

605:デフォルトの名無しさん
17/05/07 07:23:08.46 fOF53fEF.net
firefoxとかリーク笑えるよな

606:デフォルトの名無しさん
17/05/09 09:36:37.30 PBqzgUoz.net
特定のアプリケーションがハング状態になってるかを判断する方法ありませんか?
.netではRespondingプロパティで判断できるようですがwin32apiでやりたいので

607:デフォルトの名無しさん
17/05/09 09:45:13.26 XSL1JKA6.net
そこまで分かってるならソース読めよ
URLリンク(github.com)
SendMessageTimeoutでWM_NULLを投げてるだけだな

608:デフォルトの名無しさん
17/05/09 10:04:41.73 4hsRJ4JE.net
その質問コピペだよ

609:デフォルトの名無しさん
17/05/09 10:17:40.46 PBqzgUoz.net
ありがとうございました!

610:デフォルトの名無しさん
17/05/09 11:30:51.02 fjUlBZmQ.net
>>600
これ使ってDoS攻撃みたいなこと出来るんかな

611:デフォルトの名無しさん
17/05/09 21:20:50.87 2/UhKD8y.net
最近のアプリに多い、重い処理は別スレッドで実行してGUIが固まらないようにしてる場合は役に立たないかな

612:デフォルトの名無しさん
17/05/09 21:48:08.53 LCRfM0F6.net
>>604
それは「重い処理のときにハングアップしているように見える」というだけの話で、
そういうレベルでの意味ならマルチスレッド化によって役には立たない。
でもそういうマルチスレッド化したソフトウェアでも
画面描画の時の不具合などでハングアップすることもあるわけで役に立たないということはないよ。

613:デフォルトの名無しさん
17/05/09 22:06:52.23 2/UhKD8y.net
>>605
バグでずっと重い処理が終わらない場合を想定してた。ウィンドウメッセージは処理されるものの、事実上のハング。
確かに全く役に立たないわけではないね。

614:デフォルトの名無しさん
17/05/09 23:47:50.15 Ephb2XFu.net
ウィンドウがわかるならIsHungAppWindowってのがある

615:デフォルトの名無しさん
17/05/10 02:35:27.31 bnhY1qc6.net
>>606
動画の変換みたいに純粋に時間がかかる場合とか、ユーザーのクリック待ちとかもあるから、判断はできんだろうな

616:デフォルトの名無しさん
17/05/10 02:56:46.04 SJjrbjyQ.net
止めようとしても停まらないもの?
WindowsUpdateかな?

617:デフォルトの名無しさん
17/05/10 11:25:51.30 Cp7+CNi6.net
>>609
ネットワーク切れてからのタイムアウトも異常に遅いんだよな

618:デフォルトの名無しさん
17/05/14 19:29:07.89 QF9yNcvN.net
まだ見放されてないぞ
【IT】マイクロソフト、サポート切れOS「Windows 8、Windows XP、Windows Server 2003」にも修正ソフト提供
asahi.2ch.net
test/read.cgi/newsplus/1494723803

619:デフォルトの名無しさん
17/05/19 19:48:39.48 7xgwPeWo.net
質問ささてください
構造体AをGlobalAllocで領域を確保して値を入れた後、構造体BをGlobalAllocで確保すると、構造体Aのメンバであるポインタのアドレスが変わってしまうのですが何が原因なのでしょうか?

620:デフォルトの名無しさん
17/05/19 20:35:00.88 bDipVMhT.net
あるプロセスのメモリ情報のリージョンサイズや属性を調べるにはどのAPIを使えばいいですか?

621:デフォルトの名無しさん
17/05/19 20:49:42.55 McGsnd5l.net
>>612
Windowsは働き者の賢いOSだからなぁ

622:デフォルトの名無しさん
17/05/19 21:09:20.04 /MnRfLXT.net
動かしたくないならLockしてください

623:デフォルトの名無しさん
17/05/19 21:11:02.62 vqbyNvRL.net
>>612
GlobalAllocじゃなくて自分で書き換えてるんでしょ

624:デフォルトの名無しさん
17/05/19 21:22:03.75 Q8L1LGu9.net
>>612
GMEM_FIXEDを指定していないGlobalAllocでロックカウントが0の場合はメモリの再配置が起きる
GlobalLockとGlobalUnlockの間なら
「構造体Aのメンバであるポインタのアドレス」は変わることがないけど
GlobalUnlockを呼び出しロックを解除した場合は再配置される可能性がある

625:デフォルトの名無しさん
17/05/20 18:36:33.10 urI3JAo7.net
皆様レスありがとうございます
>>612
構造体BのGlobalAllocをコメントアウトすれば問題なく動くのでこれが原因なのはたぶん間違いないです
>>617
構造体A自体のLockやFIXは試しましたがダメでした。構造体Aは領域確保後にwinAPIに渡して値を格納してもらうのですが格納後にメンバ全ての固定が必要なのでしょうか?

ともあれメモリ再配置が原因なのですね。ありがとうございました。この方向でもう少し試してみます。

626:デフォルトの名無しさん
17/05/20 18:43:52.60 YAniTqrY.net
違うんじゃね

627:デフォルトの名無しさん
17/05/20 19:05:41.41 rnnQH6fx.net
ソースコードにイージーミスがある可能性の方がクッソ高いと思う

628:デフォルトの名無しさん
17/05/20 19:06:46.68 opost44+.net
>>618
そもそもの使い方が間違っているんじゃないか?
>構造体Aは領域確保後にwinAPIに渡して
そのwinAPIは何?
というかなぜ隠す必要があるのか

629:デフォルトの名無しさん
17/05/20 19:08:39.87 YAniTqrY.net
必要最小限の再現ソース晒してからだな

630:デフォルトの名無しさん
17/05/21 02:26:55.08 8+aEBKAw.net
構造体A、もしくはその近くのメモリ確保量が足りていないような気がする
スタック破壊、または、メモリ内容破壊では?

631:デフォルトの名無しさん
17/05/21 10:34:21.57 UufpipHO.net
>>613
VirtualQueryEx

632:デフォルトの名無しさん
17/05/21 10:40:12.71 8IHB32RP.net
すみません。自分がC++素人でメモリ周り疎いのでよくあるトラブルかなと思い、動作確認できている部分は抽象的に書きました。イージーミスの可能性はかなりあります。
ソースが手元にないのですが、具体的にはこのような処理をしています。スマホから書いたので文法ミスあるかもしれません。
メイン処理
DWOR count=0;
LPBYTE pStructA = (LPBYTE)GlobalAlloc(GHND,sizeof(0));
GetPrinterInfo(pStructA,&count);//自作関数 pStructAに構造体格納
/*ここでブレーク張ってpStructAのpNameのアドレスが正しい文字列指してるのは確認済み*/
PStructB pStructB = (PStructB)GlobalAlloc(GHND,sizeof(StructB)*count);
/*ここで改めてpNameを取得しようとするとpNameのアドレスがpStructBを確保する前と変わっている。元の文字列データは以前として前のアドレス上に存在してることは確認済み。pStructA自体のアドレスは変わっていない
*/
for(i=0 ;i<count;i++){
LPTSTR name= (((PRINTER_INFO_1*)pStructA)+count)->pName;
}
~~~
自作関数 (動作確認済み)
DWORD GetPrinterInfo(LPBYTE pStructA, LPDWORD count){
DWORD result=0;
DWORD pNeeded=0;
//必要サイズ取得
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,NULL,pdw
&pNeeded,count);
//必要サイズ再確保
Global ReAlloc(pStructA,pNeeded,GHND);
//ここでPRINTER_INFO_1構造体をpStructAに格納
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,pStructA,pdw
pNeeded,count);
return result;
}

633:デフォルトの名無しさん
17/05/21 11:10:23.22 Bmvuj1qA.net
GlobalAllocの戻り値のハンドルを直接キャストしてポインタに代入したら駄目だろ
ハンドルを引数としてGlobalLockを呼び出して、その戻り値をキャストしてポインタに代入しろ

634:デフォルトの名無しさん
17/05/21 11:25:17.73 8zMWeNzv.net
蓋を開けてみればやはりこんなもんだ

635:
17/05/21 11:29:51.82 pUWFtSb1.net
p = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
HeapFree(GetProcessHeap(), 0, p);
でうまくやってるよ,GlobalAlloc は win3.1 の仕様を下敷きにしているので使いにくいよ

636:デフォルトの名無しさん
17/05/21 14:52:03.05 2E7Z41P0.net
オワコンだしな
今はもうmallocでいいよ

637:
17/05/21 15:16:35.99 pUWFtSb1.net
>>629
それはどこにあるのかな?

638:デフォルトの名無しさん
17/05/21 16:25:59.44 qIzrXw0L.net
>>625
関数の仕様ぐらい確認しろといいたい
URLリンク(msdn.microsoft.com)
GMEM_FIXEDを指定していないGlobalAllocはメモリハンドルを返す
アドレスではなくハンドルであり、このハンドルをGlobalLockに渡すことでメモリアドレスを取得できる
メイン処理
DWORD count=0;
HGLOBAL gm = GlobalAlloc(GHND,sizeof(0));
GetPrinterInfo(gm,&count);
LPBYTE pStructA = (LPBYTE)GlobalLock(gm);
for(i=0 ;i<count;i++){
LPTSTR name= ((PRINTER_INFO_1*)pStructA)[i].pName;
}
~~~
DWORD GetPrinterInfo(HGLOBAL gm, LPDWORD count){
DWORD dwSize;
DWORD result=0;
DWORD pNeeded=0;
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,NULL,0,&pNeeded,count);
Global ReAlloc(gm,pNeeded,GHND);
dwSize = GlobalSize(gm);
LPBYTE pStructA = (LPBYTE)GlobalLock(gm);
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,pStructA,dwSize,&pNeeded,count);
GlobalUnlock(gm);
return result;
}

639:デフォルトの名無しさん
17/05/21 16:40:14.23 s+TjotGN.net
GMEM_MOVEABLE
移動可能メモリを割り当てます。Win32 環境では、物理メモリ内でメモリブロックが移動されることは決してありませんが、既定のヒープ内で移動することは可能です。
戻り値は、メモリオブジェクトのハンドルです。このハンドルをポインタへ変換するには、GlobalLock 関数を使います。
この値を GMEM_FIXED フラグと組み合わせることはできません。

Win32では移動することがないあるよって言ってるし、GPTRフラグを使うか、メモリ確保をmallocなりに置き換えたほうが良いね
EnumPrintersに渡すバッファのポインタは別になんでも良いみたいだし

640:デフォルトの名無しさん
17/05/21 16:51:37.43 UufpipHO.net
GlobalAllocはクリップボード弄る時くらいでいいよ

641:デフォルトの名無しさん
17/05/21 18:27:54.67 8+aEBKAw.net
こうゆう奴がプロジェクトにいると、デバックでは動くがリリースでは動かない
プログラムとか出来上がるんだろうな。。。

(もちろん、リリース+デバック情報埋込なら動く最悪のパターン)

642:デフォルトの名無しさん
17/05/22 03:45:08.81 6WP6IGo9.net
mallocでも、newでも好きなのつかったらいいんじゃね?

643:デフォルトの名無しさん
17/05/22 07:02:35.87 1fjxccfj.net
sizeof(0) ...

644:デフォルトの名無しさん
17/05/22 10:58:01.86 ZhEHdQZR.net
みなさま本当にありがとうございました。
メモリ確保の方法に関しては古いのはなんとなくわかってるのですが、意見できる程知識がないのが実情です……
ともあれ解決方法の兆しが見えたので頑張ってみます。

>>634
耳が痛いですが自分も本当にそう思います……個人的には勉強になるのでいいんですが……
リリース気をつけておきます

645:片山博文MZ
17/05/26 15:19:18.57 hi3mNk6y.net
※未承認広告※
Win32メッセージクラッカー簡単入力。
MsgCrack
URLリンク(github.com)

646:片山博文MZ
17/05/27 10:36:14.50 je1Ltzc3.net
※未承認広告※
これがWin32のラバーバンドやで。重要な技術だから、確認しとくれや。
URLリンク(github.com)

647:デフォルトの名無しさん
17/05/27 10:39:23.30 I7pwMhhb.net
皆さんは、ダイアログの HWND に対し SetWindowLongPtr, GetWindowLongPtr を使用する場合
GWLP_USERDATA と DWLP_USER をどのように使い分けていますか?

648:デフォルトの名無しさん
17/05/27 13:16:53.40 olQh0zw8.net
使い分けもなにも
get してから & とか | とかして set してる

649:デフォルトの名無しさん
17/06/14 11:22:26.39 +7k/9HY0.net
エディットボックスにES_MULTILINEを付けると
Ctrl+Aですべて選択ができなくなってしまうのだけど、
これはなにか技術的な理由があってのことですか?
それとも、昔から修正されていないだけのバグですか?

650:デフォルトの名無しさん
17/06/14 11:39:15.66 +7k/9HY0.net
642の追記ですが、ES_MULTILINEだけでなく、ES_READONLYを付けたときも、
同じようにCtrl+Aが効かなくなるようです。

651:デフォルトの名無しさん
17/06/14 12:11:52.68 Jdv7hZ4r.net
>>643
それはサブクラス化で対応

652:デフォルトの名無しさん
17/06/14 12:19:57.15 +7k/9HY0.net
>>644
つまり、ES_MULTILINEやES_READONLYはCtrl+Aに対応すべき状態ではない
というような技術的な理由があるわけではなく、
単にマイクロソフトが修正していない昔からのバグで、
サブクラス化などで対応しても問題ないものなんですよね?

653:デフォルトの名無しさん
17/06/14 13:35:54.11 pxuX+RKK.net
ctrl+aが全選択という統一ルールがないとかなんとか

654:デフォルトの名無しさん
17/06/14 19:35:40.93 +7k/9HY0.net
>>646
エディットボックスが常にCtrl+Aを扱っていないなら納得するんですが、
ES_MULTILINEやES_READONLYが付いているときだけ効かなくなるんです。

655:デフォルトの名無しさん
17/06/15 10:24:59.35 0e975zeL.net
>>647
挙動としては認識通り
技術的な問題ではないのでサブクラスなりインスタンスなりのKeyDownイベントでSelectAll()して構わない
普通はついでにCopy()やCut()のショートカットキー処理もつけておく

656:デフォルトの名無しさん
17/06/15 11:09:41.39 pFacwd6b.net
>>648
解説ありがとうございます。
エディットボックスの処理を信じずに、Ctrl+Aなどの動作を載せてしまいます。

657:デフォルトの名無しさん
17/06/23 01:36:52.51 /7Z8Xk53.net
CLIP STUDIO PAINTのようにツールっぽくする為にウインドウ全体を茶色に統一するようなWin32APIと言うのがありますでしょうか?
SKINかもしれないのですがSKINの仕方が解りません。
それとMediBang Paint Proのようにウインドウ全体でなくメニューとツールウインドウだけを茶色に統一する方法も
解りましたらお願いします。

658:デフォルトの名無しさん
17/06/23 03:31:09.37 1Ua/Rfq9.net
>>650
ないです。

659:デフォルトの名無しさん
17/06/23 10:30:01.91 0OdP20aK.net



660:�学生でもランサム作ってるんだから がんがれ



661:デフォルトの名無しさん
17/06/24 05:45:55.83 AiSsJYjg.net
>>652
ランサムだけなら誰でもできる。ランサムウェアと呼ぶから重要なことが抜けて伝わってしまう。

662:デフォルトの名無しさん
17/06/24 12:23:00.00 29Lhuze+.net
ただのバッチだったしな

663:デフォルトの名無しさん
17/06/24 12:44:27.58 TJcGM6+6.net
警察は実績が欲しく、子供は有名になりたかったらしいので
両者の思惑が一致した最高の形なんだろう

664:デフォルトの名無しさん
17/06/24 18:30:11.33 AiSsJYjg.net
>>654
重要なのはWindowsの穴をついてプログラムを実行できたところだからね。

665:デフォルトの名無しさん
17/06/24 18:34:45.55 xexj0oOj.net
穴ついてたのかよw
どうせこのbat実行してね、だろうと思ってたんだが違ったか

666:デフォルトの名無しさん
17/06/24 18:47:24.91 fDMY1AQ8.net
エッチなビデオ.avi .bat
とかじゃないの?

667:デフォルトの名無しさん
17/06/24 19:05:41.31 xexj0oOj.net
軽くぐぐってみたがどこの穴ついたかわからなかった

668:デフォルトの名無しさん
17/06/24 20:21:25.60 sGEalsxM.net
そういえば歴代OSの擬人化
みんな女の子だったよな
穴あって当然だな

669:デフォルトの名無しさん
17/06/24 20:22:32.89 fDMY1AQ8.net
男の子にだって穴はあるよ?

670:デフォルトの名無しさん
17/06/24 20:25:44.81 sGEalsxM.net
アッー!

671:デフォルトの名無しさん
17/06/24 21:08:00.00 eqxuJWIk.net
こないだの WannaCrypt ランサムの話なら SMB の穴だけど

672:デフォルトの名無しさん
17/06/24 21:26:43.99 xexj0oOj.net
中学生WannaCryptt使ってたのかよ・・・

673:デフォルトの名無しさん
17/06/25 16:33:39.46 WhQ0StjH.net
バッチファイルを書き換えられると危険が危ないと書いてある
朝日新聞の記事を読んだだけなのでよくわからないけど、
暗号化するプログラムをコピペで作ったんでしょう?
暗号化するバッチをコピペで作っただけなの?
どっちにせよ、穴は使ってない、ただのオナニーだった感じなんだが。

674:デフォルトの名無しさん
17/06/25 17:24:22.61 wnVI7vr5.net
>>665
じゃあどうやってファイルを書き換えたんだよ?

675:デフォルトの名無しさん
17/06/25 17:29:15.45 ZffRoDi0.net
バッチファイル実行前にファイル書き換えたのか?

676:デフォルトの名無しさん
17/06/25 17:35:36.22 wnVI7vr5.net
ランサムウェアよりも前に穴をつくマルウェアが出てきて、そのマルウェアを参考にしたのが、今回のランサムウェアだと思うが。

677:デフォルトの名無しさん
17/06/25 18:10:10.89 ZffRoDi0.net
その元になったマルウェアは何なんだ?

678:デフォルトの名無しさん
17/06/25 18:17:51.52 gomAIGS/.net
nimda

679:デフォルトの名無しさん
17/06/25 18:22:48.05 WhQ0StjH.net
>>666
crypt.exe c:\windows\*.*
echo 暗号化しました金払え
こんな感じ。

680:デフォルトの名無しさん
17/06/25 18:43:40.36 ZffRoDi0.net
>>670
nimdaで中学生逮捕って情報見つからん。ソースどっかある?

681:デフォルトの名無しさん
17/06/25 22:03:09.80 mrQK8XKT.net
いい加減にしろよ
引っ込みつかなくなった奴のマウント取って喜ぶような
小学生並みの神経してんのかお前は

682:デフォルトの名無しさん
17/06/25 22:11:16.11 a6wiqT5o.net
そんなキレるような話なのか

683:デフォルトの名無しさん
17/06/25 22:42:25.16 x/CHo8JV.net
windows10のGDI描画をXP相当にするAPIは無いものかのう

684:デフォルトの名無しさん
17/06/25 23:05:37.96 WhQ0StjH.net
>>672
誰がnimdaで中学生逮捕なんて話をしてんだ?
脳みそ湧いてんの?

685:デフォルトの名無しさん
17/06/25 23:21:44.20 43L7ow5i.net
>>675
visual style、runa style...いわゆる ThemeAPI の話?
なら、いわゆるスキンの類だと思うので API とか GDI とかの階層の話じゃないと思う。
カスタマイズでどうにかって話になるか、
URLリンク(www.japan-secure.com)
XP から theme.dll をぶっこ抜き・・・うーんワスレタ

686:デフォルトの名無しさん
17/06/26 05:22:59.28 PKYMbkgl.net
>>677
THX もう少し研究してみます

687:デフォルトの名無しさん
17/06/26 12:35:00.28 H+izVTcm.net
XP風は好きじゃないので
2000風にしたいな

688:デフォルトの名無しさん
17/06/26 12:42:47.84 SXHfurBW.net
>>675
MFCとかを使っていいのなら、そういうライブラリは売ってるけどな。

689:デフォルトの名無しさん
17/06/27 16:01:04.05 SkJ0mgKG.net
>>675
GDIのAPI自体は変わってないと思うんだけど
Direct3Dを通さないで描画するとかならもう無理じゃね

690:デフォルトの名無しさん
17/06/27 18:31:38.30 5NUjqPYf.net
そういう話じゃないんじゃね

691:デフォルトの名無しさん
17/06/27 18:49:42.58 ZZnYACXF.net
自分のアプリだけならオーナードロー
OS全部なら方法わからん

692:デフォルトの名無しさん
17/06/27 22:00:01.81 EYZSSY+5.net
OS全体ならXP時代によくやってたtheme.dllの差し替えでいける・・・はずなんだが
XP時代でしか通用しない技なのかも知れんね

693:デフォルトの名無しさん
17/06/27 23:05:04.28 c8HyVbZT.net
だってそれまんま脆弱性だし

694:デフォルトの名無しさん
17/06/28 01:51:29.20 AXq98w3R.net
なあに、グローバルフックすりゃなんとななるやろ(鼻ほじ

695:デフォルトの名無しさん
17/06/28 05:06:05.09 7tvQPx7M.net
なんとかなればそれも脆弱性だっていう

696:デフォルトの名無しさん
17/06/28 06:37:49.26 RlkwH7vS.net
脆弱性って意味わかってんのかな・・・

697:デフォルトの名無しさん
17/06/28 07:28:38.92 7tvQPx7M.net
お前こそ

698:デフォルトの名無しさん
17/06/28 10:07:49.00 bCVBq3sa.net
MSのハンコ入りなら大丈夫

699:デフォルトの名無しさん
17/06/28 10:45:09.51 dLzkw9+d.net
どういうつもりでみんなGDI描画という言葉を使ってるのかわけわからんな

700:デフォルトの名無しさん
17/06/28 14:01:52.20 MYEGHP5e.net
GDI 描画と言えば FillRect とかの、HDC 用いるグラフィック描画で、
Windows 10 でも Windows 3.1 でも基本的に動作同じだよね。

701:デフォルトの名無しさん
17/06/28 14:02:36.67 MYEGHP5e.net
↑動作というか出力というか

702:デフォルトの名無しさん
17/06/28 14:03:11.40 bCVBq3sa.net
>>692
違うよ
ルートウィンドウの扱いとかキャプチャしてみると違いが判る

703:デフォルトの名無しさん
17/06/28 14:14:49.61 PPOfwgdP.net
そりゃ違うけど同じだよ

704:デフォルトの名無しさん
17/06/28 14:27:13.10 NYSM+Urs.net
ウィンドウシステムの動作は GDI では規定されていないだろ。
以上、異論は無視する。

705:デフォルトの名無しさん
17/06/28 16:20:30.66 DxMay05+.net
>>692 が考えてる範囲が(以下略)

706:デフォルトの名無しさん
17/06/28 20:15:54.39 BLqcsHlp.net
矩形を塗りつぶすという意味の範囲では同じだな

707:デフォルトの名無しさん
17/06/28 20:21:27.87 azrexzpP.net
FillRectはuser32.dll

708:デフォルトの名無しさん
17/06/29 05:23:51.54 RYKjplhO.net
dwm.exe というデスクトップマネージャーのプロセスがGUI描画の番人になってるからXP再現は無理でしょ。

709:デフォルトの名無しさん
17/06/29 06:47:05.22 LierOJHW.net
xpからファイル持ってきてosにぶちこむのができないからって
>>675ができないというわけじゃない

710:デフォルトの名無しさん
17/06/30 09:55:47.80 pDIkSJMf.net
VM使えよ

711:デフォルトの名無しさん
17/06/30 10:04:08.61 8lmMmyG2.net
Win10 SDK で作ると Windows 8.1 で動かないんだっけ?

712:デフォルトの名無しさん
17/06/30 10:24:15.07 JfivK6eA.net
動くよ

713:デフォルトの名無しさん
17/07/01 00:02:15.02 E7tKWa34.net
確かにそう書いてあるな
Windows 7 SP1 以降がターゲットなら Win10 SDK でいいのか。
URLリンク(developer.microsoft.com)

714:デフォルトの名無しさん
17/07/01 00:55:09.30 SrP9qrPF.net
Win10SDKにまだ手を出していないんだけど、ようするに
Platform SDK、Windows SDK と思っていいんだよね?

715:デフォルトの名無しさん
17/07/01 02:14:37.92 3PhSHuZP.net
>>706
Win10SDKは directX SDK が変な統合のされ方しててインクルード警告が沢山でる。実害はない。

716:デフォルトの名無しさん
17/07/03 01:10:58.28 u//qTFEB.net
URLリンク(fast-uploader.com)
ウインドウを表示するだけのC++コードなんですが
ウインドウを消して終了しようとするとアクセス違反の例外が発生します
誰か解決方法を教えてください

717:デフォルトの名無しさん
17/07/03 20:14:34.18 pLc9U1QI.net
const WCHAR *className = L"MainWindow";

static const WCHAR *className = L"MainWindow"; 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)


718:デフォルトの名無しさん
17/07/03 22:00:50.05 QZMxmlWX.net
>>708
WM_NCDESTROY だか WM_POSTNCDESTORY が来るまで
window のインスタンスを消しちゃいけなかったような
PostQuitMessage の前に DestroyWindow しておけば良かったような

719:デフォルトの名無しさん
17/07/04 00:24:40.83 UJlaPfcf.net
VS2017でそのままビルド実行してみたけど例外など発生せずに正常に終了した
何か条件とかあるのかね

720:デフォルトの名無しさん
17/07/04 00:48:55.57 vYvTEYNl.net
708です
原因がわかりました
URLリンク(social.msdn.microsoft.com)
ウイルスバスターが原因でした
許さんぞ

721:デフォルトの名無しさん
17/07/04 02:04:52.19 XS8CaxP/.net
とはいえ、
「ウイルスバスターを利用されている場合はエラーが出ます」
ってわけにもいかないだろうからこの先面倒だね。
健闘をお祈りします。

722:デフォルトの名無しさん
17/07/04 02:37:05.07 48gcNEwZ.net
ウィルスバスター入れてても、その自作プログラム以外のソフトでは
そういう終了時に例外が出る問題は出ないんだよね?
とすると、そのプログラムが何かを踏んでるようにみえるけど

723:デフォルトの名無しさん
17/07/04 02:41:32.21 DygcEzqH.net
原因は >>710 で大方間違いないし

724:デフォルトの名無しさん
17/07/05 10:54:07.33 Qpg00Afa.net
>>708
>>710
while( GetMessage( &msg, NULL, 0, 0 ) < 0 )
じゃないのか

725:デフォルトの名無しさん
17/07/05 11:14:56.55 K9O/lDO5.net
GetMessageの戻り値が-1ならbreakもな

726:デフォルトの名無しさん
17/07/06 14:11:37.94 eR2pXU0u.net
ウイルスバスター側にしてみれば
DestroyWindow されてないのに SendMessage したら落ちたww
ということだろうな

727:デフォルトの名無しさん
17/07/06 19:13:43.60 Uj2/753t.net
>>712
static LRESULT CALLBACK proc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
wc.lpfnWndProc = &proc;
これはどういうことかね、くわしく説明してもらおう

728:デフォルトの名無しさん
17/07/09 21:40:21.92 u50+Yb/E.net
Windows10タブレットで、画面の右端のメニュー(?)でディスプレイの明るさを変更できるじゃないですか。
あれをプログラムから変更できるようにしたいんですが、Win32APIで可能ですか?

729:デフォルトの名無しさん
17/07/09 22:21:40.92 sO4xRRZ4.net
>>720
PowerWriteACValueIndex
難易度高めだよ

730:720
17/07/09 22:58:40.50 u50+Yb/E.net
>>721
ありがとうございます!
む、難しいですか・・・。
頑張ってみます!

731:デフォルトの名無しさん
17/07/11 10:34:24.01 x+ezuj+Y.net
ソケット通信でUDPでrecv関数でデータ取ってるのですが
これrecvでデータを取る前に何バイト溜まってるか確認するAPIあったら教えてください

732:デフォルトの名無しさん
17/07/11 11:58:32.19 EEzJWlBe.net
>>723
.netではioctlsocketでFIONREADを読んでるっぽいのでそれでいんじゃね

733:デフォルトの名無しさん
17/07/11 15:22:08.77 x+ezuj+Y.net
>>724
おお、マジでできましたありがとう

734:デフォルトの名無しさん
17/07/12 22:50:08.62 scyI/W/6.net
#include <thread>
using namespace std;
・・・
SOCKET Sock = accept( ・・・ );
だとエラーになるんですが、
threadをincludeしない、あるいはusing namespace stdを書かないと、
正常なソケットを返します。
なぜこんなことが起こるのでしょうか??

735:デフォルトの名無しさん
17/07/13 11:47:56.92 vFZ8mgsl.net
名前が衝突してるから

736:726
17/07/13 19:49:38.44 NRXck0Ni.net
>>727
でも、エラーもなくコンパイル通りますし、VS上で定義を参照しても、
いずれの場合もWinSockのaccept()が参照されます。
同じWinSockのAPIでbind()がstd::bind()と衝突することはありましたが、
今回のaccept()はそれとは違う感じです。

737:デフォルトの名無しさん
17/07/13 19:54:13.72 EhXEoqOX.net
エラーになるけどエラーないってことか

738:デフォルトの名無しさん
17/07/13 20:11:37.92 WT5N9OT5.net
>>728
エラーになる最小のコードを晒さんとなんとも言えんわ

739:726
17/07/13 20:44:11.52 NRXck0Ni.net
>>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です。

740:726
17/07/13 20:49:20.67 NRXck0Ni.net
自己解決しました!
std::bind()とwinsockのbind()が入れ替わってました!
::bind()とすればaccept()もエラーを返さなくなりました。
以前はエラーが出たと思ったのですが、うっかりしてました・・・。
失礼しました!

741:デフォルトの名無しさん
17/07/13 20:58:52.65 WT5N9OT5.net
ドンマイ

742:デフォルトの名無しさん
17/07/13 21:25:50.23 ICDc/LUP.net
bindというマクロが定義されてるライブラリがあって困ったことがあるな

743:デフォルトの名無しさん
17/07/14 10:38:54.13 V0t+uF1e.net
>>728
名前衝突のときエラーメッセージみるのは
リンク時だろ

744:デフォルトの名無しさん
17/07/14 12:41:08.29 g8QLqbc9.net
>>735
今更だし
的はずれだし

745:デフォルトの名無しさん
17/07/14 14:56:41.55 QI5b+orn.net
>>731
>using namespace std;
そもそもコレできるけど関数名書かないならやらない方がいい

746:デフォルトの名無しさん
17/07/14 21:54:21.02 rNsHAWgc.net
エンコードした動画データをWinSockを使ってUDPで送信しているんですが、
通信速度が妙に制限されている感じがします。
送信PC → (有線LAN GbE) → Wi-Fiルーター → (無線11ac) → Winタブ
有線の方はGbEなのに、データ量を増やすと8Mbpsあたりで頭打ちになり、
無線の方も11acなのに3Mbpsあたりで受信が頭打ちになります。
(いずれもタスクマネージャーのパフォーマンスタブで確認)
無線の方は最初もっと酷くて、調べたらワイヤレスアダプタが省電力モードになっていたので、
これを解除すると改善はしたのですが、それでも上記の通り3Mbps程度です。
実効帯域は理論値には及ばないとは思いますが、それにしても酷くないですか??
何かリミッターがかかっているのでしょうか?
それともこんなもんでしょうか?

747:デフォルトの名無しさん
17/07/15 00:49:20.22 9CUWPUhe.net
受け取り側WinXPにしても速度一緒かね?
DDOS対策されたに一票

748:デフォルトの名無しさん
17/07/15 11:33:44.05 UAO9e8fy.net
>>738
jumboフレームにしてないとかいうオチ

749:デフォルトの名無しさん
17/07/15 17:41:49.53 9CUWPUhe.net
jumboじゃなくても100MBsecぐらいすぐ出るかと

750:デフォルトの名無しさん
17/07/15 19:33:47.48 jhhap/jh.net
1byte毎にsend()してるとかかも w

751:デフォルトの名無しさん
17/07/15 19:39:10.00 GPnBT/AI.net
>>742
+1

752:738
17/07/17 11:59:14.97 /eGUIGmm.net
>>739
XPのPCがないので検証できないですね。
DDOS対策だとすると、成す術なしでしょうか・・・。
>>740
ジャンボフレームの設定は、Surfaceではできないみたいです。
仮にジャンボフレームじゃないにしても、今の帯域は小さすぎ


753:る気がします。 >>742 送り側はsendto()で、一度に送れる最大サイズの65507バイトで送ってます。



754:デフォルトの名無しさん
17/07/17 15:26:50.32 JChZsj9+.net
>>744
むしろ一度に送りすぎでは?
etherのフレームに入り切らないとipレベルでフラグメンテーションを起こして余計遅くなることもある。
1500-20-8=1472以下だとどうなる?

755:デフォルトの名無しさん
17/07/18 07:29:21.72 pxoS8Rlj.net
>>744
ソケットのバッファが溢れているのかもしれない。UDPだからsendしても黙って破棄されうる。これが原因だったらsetsockoptで送信、受信のバッファを大きくすれば良い。
また、UDPではOSが送信速度の調節をしないから、アプリケーション側で一定の速度でsendしないと途中のデバイスや受信側で破棄されることもある。
例えば、5Mbpsで送っているつもりでも、10ms間に500Mbpsで送り、後の990msは何もしていない可能性がある。その場合途中のWi-Fiルータのバッファが溢れるかもしれない。
送信用のスレッドを作り、send毎に経過時間と送信量を調べ、適当にsleepさせれば良い。

756:デフォルトの名無しさん
17/07/18 13:10:40.68 Qgn2HB2W.net
LANケーブルの方は10Mbpsでリンクアップしてない?

757:デフォルトの名無しさん
17/07/18 13:18:25.28 LIY57LJN.net
パケットキャプチャしないの?

758:738
17/07/18 23:58:54.20 wXjNiN5C.net
本日、色々検証してみまして、分かったことを書きます。
送信側(優先)の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に変更ことで対策が完了しました。

759:738
17/07/19 00:04:16.35 eXD5VvDv.net
今回の検証で、以下のような仮説が立ったのですが、いかがでしょうか?
・11acにまで広帯域化し、TCPの再送制御等のオーバーヘッドが相対的に小さくなった
・11acで帯域は向上し、エラーレートも抑えられているものの、パケットロスする絶対数(機会)は
増加しているため、UDPには向かなくなっている
こうなると、「大容量のデータを効率的に送受信」というUDPのメリットは失われ、
ブロードキャスティングでデータ共有の利点が残る程度になるのかなぁ、という感じです。
この考察は的を射ているでしょうか?
だとしたら、業界では知られてることなんでしょうかね?

760:デフォルトの名無しさん
17/07/19 01:57:20.58 Q4K+dCVc.net
>>750
①TCPのオーバーヘッドは送受信の処理が重いことが主で、別にそれほど帯域を浪費する訳ではない。
ヘッダによる消費は、UDPだと1500バイト中28バイト、TCPだと1500バイト中40バイト。TCPだと適宜ACKが返ってくるが、それも各パケット数十バイト。
送受信側の処理速度向上が大きい。
②UDP向きかどうかは当然何をしたいかに依る。
TCPの処理が邪魔になる場合(遅延やパフォーマンス等の理由で)、「何もしない」UDP上に独自の実装をする。TCPで問題ないならTCPで良い。
信頼できるストリーム通信が必要なら、結局UDP上にTCPもどきを作ることになるだけ。
③TCPの欠点に、RTTが大きいと遅くなることがある。海外との大量のファイル転送はUDP上の独自プロトコルで行ったりする。あと、TCPoverTCPはパフォーマンスが劣化するから、VPNやトンネリングはUDP上が良い。
また、コネクションレスであることは、NATやFWを越える時に便利だったりする。
④普通、何もしないUDPは、余計な処理をするTCPより遅くはならない。UDPで5Mbpsしか出ないのは、どこかのバッファが溢れているか、大きすぎるデータをsendしてフラグメンテーションを起こしているかどちらかの可能性が高い。

761:デフォルトの名無しさん
17/07/19 09:22:44.41 q1yo5LZE.net
>>750
>・11acで帯域は向上し、エラーレートも抑えられているものの、パケットロスする絶対数(機会)は
>増加しているため、UDPには向かなくなっている

そんなにパケットロスしているとtcpも速度出ないですよ。
原理的には、制御して再送する分だけudpより遅くなるでしょう。

udp で速度が出ないのは主として送受信側のバッファ溢れでしょうから、

・送信側は溢れないレートで送信する
例えば帯域1GHz WiFi で 1Gbps で送信したら帯域を食い潰して受信側へ再送出できませんよね。
ケーブルの場合と違って電波は PC->基地局-> 受信側とairを2回経由します。
あまり大量に送ると基地局まで届いてもそこでドロップされます。

・read側はなるべくread I/O を発行しっぱなしにしてあげる
スレッド使うなどカーネルの受信バッファあてにしないで頑張る。

762:デフォルトの名無しさん
17/07/19 11:44:11.55 +fK80sDM.net
>>749
FTPはpasvじゃね

763:デフォルトの名無しさん
17/07/19 22:12:25.78 54vs2xq7.net
>>750
> 今回の検証で、以下のような仮説が立ったのですが、いかがでしょうか?
全然的はずれ

764:738
17/07/19 23:45:01.11 eXD5VvDv.net
詳細なご助言、ありがとうございます。
ソケットプログラミングを舐めてました・・・。
勉強します。

765:デフォルトの名無しさん
17/07/23 21:24:45.77 i/1Azv/r.net
Windows10の環境で、ShowCursor(FALSE);、ShowCursor(TRUE);
が何故か動かないですが、原因わかりますか?代用のAPIってありますか?
カーソルの形状を透明に置き換えるしかないかな。。。

766:デフォルトの名無しさん
17/07/23 21:33:57.11 gJMUPJMf.net
>>756
自分のプログラムではWindows10で動いてるよ。

複数回呼んだりしてない?
ShowCursor()は内部の参照カウントみたいなのをインクリメント/デクリメントして、
0以上かどうかで表示/非表示が変わる。
確実にやるならwhile文で戻り値(カウント値)をチェックしてやる。

767:デフォルトの名無しさん
17/07/24 00:50:38.22 Q/sCu+tw.net
自分のアプリ内だけ消したいとかならWM_SETCURSORでSetCursorにぬるぽ渡してるなあ

768:デフォルトの名無しさん
17/07/24 01:03:43.40 ApWJ+3q2.net
動かない原因がわかりました。。。
自分のWINDOWを表示していない場合、カーソル非表示にならないっぽいです。

ジョイスパッドで操作するマウスを作っていて、マウスを移動した後で、
自動的にマウスカーソルの表示/非表示したかったのですが、
自分のウインドウを表示していないためにうまくいかない;;

カーソルの形状変えて回避を試すか、透過ウインドとかで回避?

769:デフォルトの名無しさん
17/07/24 01:40:41.42 ApWJ+3q2.net
もしかして、フック使わないとだめ?

770:デフォルトの名無しさん
17/07/24 02:06:27.33 etlzFZfn.net
どうだったかなぁ
グローバルにマウスカーソルを消す方法はあったかなぁ
相当な迷惑行為だからなぁ
そんな事をしたい奴も居ないだろうしなぁ

771:デフォルトの名無しさん
17/07/24 02:58:51.42 mnSWSFmQ.net
透過ウィンドウが王道じゃなかったか
忘れたけど

772:デフォルトの名無しさん
17/07/24 08:28:59.85 axe1Ox+X.net
透過ウィンドウ最大化でなんとかしてた

773:デフォルトの名無しさん
17/07/24 15:15:22.73 BdqEvISL.net
vfd

774:デフォルトの名無しさん
17/07/25 00:03:21.82 SY0Mxk4f.net
SetSystemCursorで一応変更できるけど完璧にはできない

775:デフォルトの名無しさん
17/07/26 21:44:38.92 dmLhcxPj.net
マウスの件ですが、サイズ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);

776:片山博文MZ ◆T6xkBnTXz7B0
17/07/26 21:49:04.00 bC5SPfn2.net
ウィンドウを仮想スクリーンいっぱいにすれば、追尾の必要はない。

777:デフォルトの名無しさん
17/07/26 22:17:49.99 dmLhcxPj.net
>>767
仮想スクリーンサイズいっぱいにウインドウを作っちゃうと、CPU/GPUのパワー無駄に使いませんか?
1x1サイズのほうが、アプリ的には、軽いと思うんですが?

778:片山博文MZ ◆T6xkBnTXz7B0
17/07/27 01:34:42.30 vaTNWP9F.net
>>768
WS_EX_TRANSPARENTを使えば描画が透過になるらしい。

779:デフォルトの名無しさん
17/07/27 16:09:43.62 5IXklzdW.net
そのようなことが本当に可能かどうかの確認もせずに書き込むのはなぜなんですか?
実際に昔自分が試したことがあって、完全にわかっているなら良いと思うけど
やったこともないことを、試しもせずに、どうして適当書き込むの?

まずレイヤードウィンドウで、SetLayeredWindowAttributes でアルファ値を0にした場合
完全な透明になるとともに、マウスの当たり判定も何もなくなって
まるでウィンドウが存在していないかのような扱いになるので
マウスカーソルがウィンドウ上に有るよっていう扱いが無くなって
マウスカーソルを非表示にしても、非常時にはならない
で、アルファ値を1とか適当な値にするとマウスの当たり判定が出来るので
めでたくマウスカーソルを非表示にすることが出来る
ここまでは質問者が書いている内容

ここで、ウィンドウサイズを画面いっぱいに広げると
画面全体がアルファ値の「1」の分の影響を受けそうだということもあるが
とりあえず質問者はGPUの負荷を気にしている
そこでアルファ値を0にするとWindows内の最適化でGPUでの合成処理はスキップされるだろうが
しかし先ほども書いた通りマウスの当たり判定も無くなるのでマウスカーソルは消えなくなる
で、この場合WS_EX_TRANSPARENTの何が有効なんだという話
これを指定したからといって、アルファ値が1であればウィンドウは表示されるし
表示されるんなら、GPUに負荷がかかることに変わりなし

だが、ここまでであればまだよい、まだわかる、それはいい、本当の問題は
レイヤードウィンドウにおいてのWS_EX_TRANSPARENTは、「マウスイベントを透過させる」の意だ
つまり、ウィンドウは半透明とかで表示するけども、マウス的には無きものとして扱う
そういう意味であるので、マウスの判定は無くなるし、ウィンドウ上にマウスがあるって扱いも無くなるので
「マウスカーソルは消えない」
だから、レイヤードウィンドウでWS_EX_TRANSPARENTだと
アルファ値が何であろうと、ウィンドウサイズが何であると、関係なく
そもそもマウスカーソルは消えない

つまり言ってることが二重三重にデタラメ

780:デフォルトの名無しさん
17/07/27 16:26:35.88 TSUPQXzA.net
とりあえず全部読んだ

781:デフォルトの名無しさん
17/07/27 16:32:39.41 5IXklzdW.net
ちなみにレイヤードウィンドウじゃない普通のウィンドウに
WS_EX_TRANSPARENTを指定しても
今回の件はうまくいかないからな
WS_EX_TRANSPARENTの仕様はその昔のWindowsの描画の仕様に強く依存していて
それ故にかなり複雑な動きをするところもあったかもしれないが
しかしながら今回の件において、それも既に関係が無い
なぜなら今はデスクトップコンポジションだから

ウィンドウは自分のビットマップを持ってるので
かつてのWindowsの再描画の仕様によってもたらされていた
ウィンドウの下のものが透けて見えるように感じる、という現象は起こらない

782:片山博文MZ ◆T6xkBnTXz7B0
17/07/27 17:02:53.88 LWV2Yf86.net
WM_ERASEBKGNDをつぶせば透過に

783:デフォルトの名無しさん
17/07/27 17:54:30.49 5IXklzdW.net
良くわからないなら少なくとも出来るかどうか確認してから言えといっただろ

784:デフォルトの名無しさん
17/07/27 18:03:15.82 DvER6G26.net
それがにちゃんねるクォリティというもの、コードを貼らない書き込みに期待しないのがいい

785:デフォルトの名無しさん
17/07/27 18:06:42.35 46kBibo2.net
誰に確認してから言えって言ってるの?
回答側に確認義務があるなら、だれも回答したくなくるしヒントも言えんわ。

786:デフォルトの名無しさん
17/07/27 18:22:49.05 t8Fq16Nl.net
片山はNGワードでOK

787:デフォルトの名無しさん
17/07/27 18:29:25.65 DvER6G26.net
>>775
これは質問者にもいえる、最低限のコードを貼れない様ではまともな回答も期待できない
うんこQZでも1万ステップ程度のコードを貼っていた
まずは手を動かしたほうがいい

788:デフォルトの名無しさん
17/07/27 19:16:34.98 P1js1uXh.net
責任ある解答が欲しけりゃ金払えよ
払っても責任とってくれるかどうかは知らんけど w

789:デフォルトの名無しさん
17/07/27 20:24:33.89 5IXklzdW.net
スレの運営方針とか、自治的な何かとは、関係ない
2chのスレがグダグダになろうが、嘘であふれかえろうが、知ったことではない

知りもしないことを、調べもしないで、確かめることもせず
知ったかがしたいという唯それだけのために適当なことを書き込む
あなたはいったい何なんだ?そして実際間違ってる
という単なる個人攻撃

そして、また間髪おかず間違ったことを書き込んだから
なぜ同じ過ちを繰り返す?としたまで

拡大解釈して一般化してどうこう言うようなものではないぞ

790:デフォルトの名無しさん
17/07/27 20:39:13.38 7IEdpfIL.net
>>780
しったかが多いのは何もにちゃんねるに限らない,世間様でもあきれ返るばかりに多いんだよ

791:デフォルトの名無しさん
17/07/27 21:17:08.86 lePSsggt.net
>>780
無駄な正義感で生きにくそう

792:デフォルトの名無しさん
17/07/27 21:57:41.84 P8zzUyc0.net
>>780
2chがどうなろうと知ったこっちゃないのに個人が間違ったこと書くのは許せないとか
アホすぎ w

793:デフォルトの名無しさん
17/07/27 22:02:56.93 DDfF3pSC.net
株式会社メビウス(mob)
スレリンク(infosys板)

794:デフォルトの名無しさん
17/07/27 22:40:03.60 lBgNNeyr.net
ネットでデタラメ狩りしてもキリがないもんな
大抵は質問する側の方が知識あるから大丈夫

795:デフォルトの名無しさん
17/07/27 23:21:44.69 TSUPQXzA.net
知識がある質問側が知識のない回答者に訊くのか

796:デフォルトの名無しさん
17/07/28 01:04:49.84 /BbkHPYe.net
質問する人は自分でやってみて上手くいかず答えが難しいから質問するわけで、
やったこともなく難しいということすらわからず当てずっぽうな返答を書く人よりは知識あるでしょ。

797:デフォルトの名無しさん
17/07/28 01:14:51.00 /BbkHPYe.net
ところで当てずっぽうで書くけど拡張ウィンドウスタイルで透明にして
erasebkgnd やら ncpaint やらで描画サボっても透明になるんじゃないか
昔のバイナリはそうやって穴あきウィンドウとか実装してたわけで
その辺は今でも互換性あるでしょ

798:デフォルトの名無しさん
17/07/28 04:15:41.18 OlX0v1uA.net
>>787
どこまで頭悪いとそういう理論にたどり着くのか

799:デフォルトの名無しさん
17/07/28 07:47:39.36 bTFRT7jO.net
>>786
そういえば、知識のある人に訊いたつもりなのに知識ない人から変な回答が付くってのはよくあるなぁ。

800:デフォルトの名無しさん
17/07/28 09:01:08.00 QaJRNrxO.net
つもりだからでしょ
つもりしゃなくてそうしなよ

801:デフォルトの名無しさん
17/07/28 10:41:48.20 HR9e4R3v.net
>>780
>>770で言っていることは正しいと思うよ
理想としてはね
でも現実にはそういう人はなくならない
なら相手に「誠心誠意真実のみを語る」ことを求めるより
相手の言葉をヒントとして自分で試す、実践していくことのほうが
より確実に真実に近づくと言えるのではないだろうか

>>787
でも質問した内容について、「どっちも知識ない」ことは同じじゃないだろうか
目くそ鼻くそなんだし仲良くすればいいと思うよ

802:デフォルトの名無しさん
17/07/28 20:56:53.43 bTFRT7jO.net
「知識のある人だけ答えてください」とか書いたら余計バカが集まるw

803:デフォルトの名無しさん
17/07/29 00:30:51.84 K1UV3B/G.net
>>770
まさにその通りですね。詳しい解説ありがとうございます。WS_EX_TRANSPARENTは、片山さんから助言受ける前に試してました。
画面サイズ最大で作って、erasebkgnd やら ncpaintとかは、リペイントのコストかかるので向いてないかも、ウインドの下でゲームや、動画とか再生されてた時などに不具合出そう。
できるだけシンプルに作りたかったので、今回はサイズ1x1で追尾にしました。(追尾といっても任意の動作後に追尾命令1回なので低コスト)
>>778
最低限のコード張ってないのは、どっかのサイトにでもコード張っておけばよかったかもですね。
大した処理ではないので、>>766で書いたCreateWindowEx、SetLayerdWindowAttributes、ShowCursorなどを張り付けておけばわかる人は分かるだろうと思っていたのですみません。
とりあえず、解決です。皆さま、ありがとうございました。

804:デフォルトの名無しさん
17/07/29 11:30:19.14 Ws5hVYlo.net
>>786
2ちゃんはそんなのばっかだよ

805:デフォルトの名無しさん
17/07/29 11:31:52.72 Ws5hVYlo.net
>>791
知らないのにレスしないでください
うざいだけです

806:デフォルトの名無しさん
17/07/29 15:22:56.00 Vfg3EN7i.net
そのレス懐かしい

807:デフォルトの名無しさん
17/07/29 20:59:35.56 Y56dLgVa.net
こっちで書けるかな?。あっち
URLリンク(mevius.2ch.net)
で、あいこんのきり変えに失敗した、とかいたんだが
ついに成功した。 LoadIcon(ょ
か゜しかし、LoadImage()では成功していない。

808:デフォルトの名無しさん
17/07/29 21:08:08.69 GuKX0EtE.net
基本的には自力解決するしかないのが多いからな
長年書いていても遭遇するとは限らない突拍子もない現象が起きたりする
WinApiはカオスだ
質問は気休めにもならない
むしろ面白い現象をここで報告するつもりで質問してほしい

809:デフォルトの名無しさん
17/07/29 23:32:33.06 muGZrUiV.net
ダイアログボックス上に複数のラジオボタンがあり連続で並んでいます。
先頭のラジオボタンのみグループ属性が付加されており、マウスやキーボードで
操作するとどれか一つだけしか選択できない状態です。

プログラムから現在選択しているラジオボタンとは別のラジオボタンを
選択する際、CheckDlgButtonを使って選択するのですが、これ自体は
選択処理は正常に働きますが、以前選んでいたラジオボタンも選ばれた
ままとなります。
これはそういうものでしょうか?

WindowsのデフォルトUI動作で単独のラジオボタンしか選べないように
なっていると思っていたのですが、プログラムコードではそれは自分で
考慮して処理が必要と言うことでしょうか?

810:デフォルトの名無しさん
17/07/29 23:49:29.00 N293m3Oe.net
>>800
CheckRadioButton
URLリンク(msdn.microsoft.com)

811:デフォルトの名無しさん
17/07/29 23:58:28.88 9HfHoOru.net
ダイアログエディタで作成した場合
タブオーダーだったかリソース IDだったかが
順序どおりになってないとそういう現象になる

812:デフォルトの名無しさん
17/07/30 01:59:49.31 pLyoXQEm.net
>>801
そんな関数があったのか。自分で処理するものかと思ってた

813:デフォルトの名無しさん
17/07/30 07:13:09.16 m983gJFf.net
800です。

>>801
ばっちりです。どうもありがとうございました。

>>802
これは問題ないことを確認しました。

>>803
恥ずかしながら、CheckDlgButtonでもOSが処理してくれると思い込んでいました。

814:デフォルトの名無しさん
17/07/30 09:08:42.74 xziOu8cb.net
>>804
モードレスダイアログのコントロールIDが一番若いラジオボタンは
BN_CLICKEDが生成時に2回発生するから注意してね

815:デフォルトの名無しさん
17/08/02 01:43:28.46 +cEHF0jB.net
WinSockで、クライアント側がconnect()をコールして、
サーバ側がメッセージプロシージャでFD_ACCEPTを受け取るまでの間に、
MessageBox()でダイアログボックスを表示すると、FD_ACCEPTが届かない・・・。

これ、どういう理屈なんだろう?

何とかMessageBox()が挟まらないように改変しようとしてるんだけど、
ちょっとしたことでこの問題を回避できたりしないかな?

816:デフォルトの名無しさん
17/08/02 03:41:53.16 fdgsCGyr.net
俺はWinSockの専門家でも何でもないけど
URLリンク(eternalwindows.jp)
のサイトを丸コピペしつつ
MessageBoxを表示したのち
別スレッドでコネクトしたら
普通に接続できたんだが・・・
URLリンク(www.geocities.jp)

817:デフォルトの名無しさん
17/08/02 07:39:11.06 6ap2AYHE.net
>>806
MessageBoxはサーバー側かクライアント側かどっちで表示?

818:806
17/08/02 08:16:03.56 +cEHF0jB.net
>>807
そうでしたか。
他のことが原因かもしれませんね。
けっこう規模の大きいプログラムで発生したので、
>>807さんが試みられたように、一度最小コードで再現させてみます。

>>808
すみません、情報不足でした。
サーバー、クライアントともに同一プロセス同一スレッド内です。
外部PCとの通信も考慮しての使用ですが、今回問題が発生したのは、同一PC内です。

819:デフォルトの名無しさん
17/08/02 08:24:30.04 i5+f8wcz.net
>>809
> サーバー、クライアントともに同一プロセス
ここまではまだわかるが...
> 同一スレッド内です。
え?

820:デフォルトの名無しさん
17/08/02 09:09:46.19 6ap2AYHE.net
>>809
文字通り受け取ると
クライアントコネクト
→メッセージボックス
→サーバーアクセプト
が同一プロセス・同一スレッド?

そらメッセージボックス閉じないと処理が進まない

821:デフォルトの名無しさん
17/08/02 09:11:05.84 6ap2AYHE.net
それかメッセージボックスの親をNULLか

822:806
17/08/02 09:43:58.29 7ng0/iaA.net
>>811
>>812
すみません、言葉足らずでした。
ダイアログボックス表示中はもちろん処理の流れがブロックされるんですが、
(MessageBox()のウィンドウハンドルはNULLで、フラグがMB_TASKMODAL | MB_ICONEXCLAMATIONです)
ダイアログボックスを閉じた後もFD_READが届かないんです。

フラグを単にMB_OKにしてもブロックされるので変わらずでした。

823:806
17/08/02 09:45:23.67 7ng0/iaA.net
↑すみません、FD_ACCEPTです。

824:デフォルトの名無しさん
17/08/02 09:47:13.93 3fh+5Dja.net
もしかしてWSAAsyncSelect で hWnd に NULL 指定してるとか?

825:デフォルトの名無しさん
17/08/02 09:52:12.86 3fh+5Dja.net
正しく処理されればメッセージボックス表示「中」にFD_ACCEPT がくるはずだけど…

826:デフォルトの名無しさん
17/08/19 23:59:27.57 3LWi1RRc.net
直受けの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万台にならなくて済む

827:デフォルトの名無しさん
17/08/20 14:00:03.74 nY0Q5mUa.net
なんか自分が今まで関係してきた金額に比べて全ての金額が安すぎてビックリ。
これじゃ派遣の方がよっぽどましなんじゃね?

828:デフォルトの名無しさん
17/08/21 16:30:24.87 Fg01UA7s.net
>>813
MessageBoxに限らず、モーダルダイアログは自前でメッセージループ持ってるので
他の人も言ってるように受け取り先きちんと指定しないとダイアログに取られちゃうかも

829:806
17/08/21 19:20:15.44 eYNo081O.net
>>819
ありがとうございます。
モーダルダイアログが自前のメッセージループを持っているということ、勉強になりました。
受け取り先を指定するというのは>>815さんが指摘していることでしょうか?
>>815
お返事失念しており申し訳ありません。
WSAAsyncSelectにはメインウィンドウのウィンドウハンドルを指定しており、問題ないかと思います。

830:デフォルトの名無しさん
17/08/23 12:20:49.09 6Fed8jeE.net
江添亮タイホワロスωω

831:デフォルトの名無しさん
17/08/25 18:39:23.90 R/niZf6L.net
プロセス名のアイコンを取得するAPIか方法があれば教えてください

832:片山博文MZ
17/08/25 18:53:44.95 M7y+0IYN.net
URLリンク(blog.goo.ne.jp)
Extractなんちゃら関数使えば、パス名からアイコンを抽出できるはずだ。

833:デフォルトの名無しさん
17/08/25 18:54:59.55 Ds4q9hnC.net
プロセス名→exeパス→アイコン取得

834:デフォルトの名無しさん
17/08/25 18:57:58.24 R/niZf6L.net
ありゃりゃしたー

835:デフォルトの名無しさん
17/08/29 17:52:01.06 ehSPqLug.net
プロセスのハンドルって1回オープンしないと取得できない?

836:デフォルトの名無しさん
17/08/29 19:35:58.35 1xpDkX/7.net
URLリンク(detail.chiebukuro.yahoo.co.jp)
URL先は知恵袋です。
教えてくださいお願いします。

837:デフォルトの名無しさん
17/08/30 00:20:15.11 9+VQiQGO.net
>>827
こういうのあったけど?
pdbファイルが見つからないってやつじゃねーの?
URLリンク(detail.chiebukuro.yahoo.co.jp)
URLリンク(msdn.microsoft.com)(v=vs.80).aspx
それ以外で解放関連ミスってるかどうかは全コードをGITとかに上げてみろ。

838:デフォルトの名無しさん
17/08/30 09:21:54.56 Lglrs9g0.net
>>827
> 'rpg.exe' (Win32): 'C:\Windows\SysWOW64\wer.dll' が読み込まれました。
> PDB ファイルを開けないか、ファイルが見つかりません。
というメッセージが出てきたら、
「PDB ファイルを開けないか、ファイルが見つかりません」
でググってみるものだ。それでも解らないことを質問すべきだろう。
その手間を惜しむ人間に教えることなどない。

839:デフォルトの名無しさん
17/08/30 09:30:54.88 Hx/erJ+v.net
知恵遅れの相手するなんておまえらやさしいな

840:デフォルトの名無しさん
17/08/30 13:24:52.28 7h6sel33.net
827です。
自己解決しました。
ありがとうございました。

841:デフォルトの名無しさん
17/09/02 16:07:42.07 uMF7D0UJ.net
夏休みがまだ終わらない

842:デフォルトの名無しさん
17/09/02 16:41:15.17 LVvUpSa+.net
僕の夏休み。8/32日バージョンか

843:デフォルトの名無しさん
17/09/04 05:34:56.37 5SeLbfqh.net
今まで使えていたwriteprocessmemory 等を用いてプロセスアタッチを行なっていたのですが急に動作が不安定になり10回中2回ほどしか成功しません。
別PC(ネットカフェ)環境からだと問題なく動作します。
PC自体に負荷をかけるようなことを行なっていたためパーツ側に何か問題があると見ていまして、このような症状をご存知の方教えて下さい。

844:デフォルトの名無しさん
17/09/05 00:20:00.00 v8OLWv5g.net
ヒント:プログラムが糞

845:デフォルトの名無しさん
17/09/05 01:08:33.79 v1SMPV1x.net
処理速度差でインジェクトタイミングがずれてとらぶってんだろうな

846:デフォルトの名無しさん
17/09/11 18:49:35.09 qZ9UWi9t.net
>>836
解決しました。
上の方で無職で憂さ晴らしを楽しんでいる方がいましたが助かりました。

847:デフォルトの名無しさん
17/09/16 13:40:49.72 sYdQKwx0.net
Windows 7です
callwndproc でグローバルフックを作って
ウインドウを閉じるWM_CLOSEなどのメッセー�


848:Wを検知させたいのですが 動作はしたもののInternet Explorer (IE11)だけうまく行きません。 IE11ではapiを使ったフックはできないんでしょうか? 環境・手法はcpp, DLLでのデータ共有, Visual Studio 2015のコマンドラインコンパイラです。



849:デフォルトの名無しさん
17/09/16 16:47:44.09 ZCzFTInQ.net
できますよ

850:デフォルトの名無しさん
17/09/17 13:16:45.39 9dlPIQ/A.net
出来るよ

851:デフォルトの名無しさん
17/09/17 19:55:34.73 j4nqlc4K.net
CreateWindowEx で WS_EX_COMPOSITED を指定しても、なぜかWS_EX_COMPOSITEDが未定義のシンボル扱いで通りません。
他のスタイル変数だと通ります。
CS_OWNDC、CS_CLASSDC は使っていません。
原因と、解決策を教えてください。それらしいワードでググっても良くわかりませんでした。
お願いします。
OS windows7 32bit
環境 BCC Developer

852:デフォルトの名無しさん
17/09/17 20:19:20.70 5uCVCcKi.net
BCCを捨てろ

853:デフォルトの名無しさん
17/09/17 21:00:05.91 53PrWSTF.net
定義すりゃいい

854:片山博文MZ
17/09/17 22:17:44.95 mYmSE/6P.net
#ifndef WS_EX_COMPOSITED
#define WS_EX_COMPOSITED 0x02000000L
#endif

855:デフォルトの名無しさん
17/09/17 23:25:53.44 npppe4f/.net
WinUserヘッダーをインクルードしてないのか?

856:片山博文MZ
17/09/17 23:36:19.72 abFJ0XwA.net
>>845
古い環境(bcc55)だから、<winuser.h>でも未定義。

857:デフォルトの名無しさん
17/09/17 23:47:17.58 CQjOt/D7.net
そもそも今時デメリットしかねえから要らんやろこのスタイル>WS_EX_COMPOSITED

858:841
17/09/18 06:53:54.99 7suqbGay.net
>>844
ありがとうございます。動きました。
なるほど古すぎたんですね。

859:838
17/09/18 15:12:02.60 3H+QkIIH.net
>>839 >>840
Chromeウィンドウなどのフックと同じようにやるだけで出来ますか?
なにか別な要素が必要でしょうか?

860:デフォルトの名無しさん
17/09/19 05:20:12.63 v8M0fO45.net
ヒント:プログラムが糞

861:デフォルトの名無しさん
17/09/19 08:46:47.66 87FEHvFq.net
知らんけどIEはフックされないようにしてるんじゃないか?
バンドオブジェクトか何かつっこんで中でやった方がいいと思う

862:デフォルトの名無しさん
17/09/19 18:11:52.42 AsNvJAjE.net
>>850
お前暇なんだな

863:デフォルトの名無しさん
17/09/19 18:23:41.92 3zeZgKZU.net
昔から常駐してる人力スクリプトだよ
毎度これ書いて上から目線でホルホルしてるんだろうけど、何年経っても成長しとらんw

864:デフォルトの名無しさん
17/09/19 23:36:26.74 AsNvJAjE.net
人力スクリプトw
言えてるわw

865:デフォルトの名無しさん
17/09/23 23:55:50.86 IXBVjbYe.net
>>841
環境、vs2017やvs2015とかにしたらいいんじゃね?
community版なら、無料で使えるよ

866:デフォルトの名無しさん
17/09/24 14:16:10.86 xJTY0L3v.net
使用言語 FreeBasic + FBE
OS    Windows 10
症状、1MB, 100 個BASファイル(1MB)、10個位BIファイル(100KB)、を超えたあたりから、
異常停止し、「Debugしますか、停止しますか」の旨の表示を出して終了する。異常停止場所はその日によってバラバラ。
しかし、タスクマネージャーと同時実行では発生しない。
FreeBasic の場合、OS由来で異常停止する場合が多発して、
言語側の障害(仕様)は、*.DLLファイルの不在、配列宣言外の要素を参照した�


867:栫Aに発生する。 両者ともに特定の場所で、異常停止してくれるが、今回は、停止位置が実行中の他のタスク(タスクマネーシャー)の影響を受けている。 したがって、何かの事象を発生させる、等の対応で修正可能と思われる。 ご存知の方いらっしゃいましたらば、お知らせください。



868:デフォルトの名無しさん
17/09/24 14:35:17.40 okRUlktS.net
それはFreeBasicのバグなので、FreeBasicに治してもらえ

869:デフォルトの名無しさん
17/09/24 15:05:57.20 KcVpSqdX.net
新興のGoだろうがRustだろうがWindows10でバグったりしないぞ
明らかに言語側の問題

870:デフォルトの名無しさん
17/09/24 16:39:30.63 xJTY0L3v.net
>>857
>それはFreeBasicのバグなので
フリーソフトなので、ご指摘のように言い切った内容ですと、既にどなたかが発表しているものと思われます。
発表されている内容をお知らせください
>>858
>バグったりしないぞ
処理系が異なります。したがって、一概に言えないのですが。
Rustについては普及しているようです。
URLリンク(ja.wikipedia.org)
>2016年8月2日にリリースされたFirefox 48にはRustで書き直されたメディアパーサが組み込まれており、Mozillaが開発しているブラウザのFirefoxにおいてRustで書かれたコードが書き加えられる初例となった
ただ、Firefox で3ウインドー、30タグつぐらい同時に読み取ると異常終了するので、障害発生部位がRustで書かれているのであれば、同様な現象と思われます。
旧osバージョン+対応fIREFOXでは、異常停止が発生しなかったと記憶しています。

871:デフォルトの名無しさん
17/09/24 16:51:45.14 J5jaZAG3.net
ここ、Win32APIのスレなんだけど、Win32APIにバグがあるっていうのが主旨ですか?

872:デフォルトの名無しさん
17/09/24 16:55:14.25 okRUlktS.net
>>859
調査費用30万円(税込)申し受けますが、ご用意はよろしいでしょうか。

873:デフォルトの名無しさん
17/09/24 16:59:28.04 KdVNcd4v.net
たった30万で請けてくれるのか。良心的だな

874:デフォルトの名無しさん
17/09/24 17:04:46.71 xJTY0L3v.net
>>861 支払う意思はありません。
>>860 ザベの巻号年を忘れましたが、「ユーザー又は末端ユーザーが回避できる障害はバクではない」旨の記事がありました。
従いまして、回避方法が公開されているのであれば、APIのバクではありません。
ユーザー(プログラマー)に回避する義務(商習慣?, 公序良俗?)がありますので。

875:デフォルトの名無しさん
17/09/24 17:13:08.33 7Tzf/3Hr.net
互いに矛盾する結果を出すAPIを同時に使用する必要があるなんてざらだ
それを吸収しなければならない上位層は必ず矛盾が発生し、複雑化する
とりあえず当座必要な全機能には矛盾のない解には到達するが、それ以上の機能を追加すると矛盾が再発する
APIがしっかりしていればソフトは10分の1ほどのコードで済むだろう

876:デフォルトの名無しさん
17/09/24 17:13:55.12 xJTY0L3v.net
>>862
同様な調査を自治会長は500円でやれ、とポケットむに500円ねじ込んだ。
サーチャーに依頼するとして、20年ぐらい前に概略を電話問い合わせした時には、20万もって窓口まで来てくれ、という返事だったので断った。
だけど、自治会長の考え方だと500円でできるという内容。

877:デフォルトの名無しさん
17/09/24 17:24:23.20 okRUlktS.net
>>863
「ユーザー又は末端ユーザーが回避できる障害はバクではない」
回避方法が公開されている必要はないだろ。自分で回避すればいいんだから。

878:デフォルトの名無しさん
17/09/24 17:30:18.48 6sZgRRai.net
FreeBasicみたいなゴミを使ってるから頭がおかしくなったのか
頭がおかしかったからFreeBasicみたいなゴミに手を出したのか

879:デフォルトの名無しさん
17/09/24 17:35:20.31 jWeMnfEt.net
>>867
まだFreeBasicのせいだと決まったわけではあるまい。
ただ残念なのは>>856の内容ではWin側の問題だとは全く思えない所。

880:デフォルトの名無しさん
17/09/24 17:42:11.62 uKYPwFuQ.net
引き合いに出してる記事とやらもやべえな
ある言語の浮動小数点演算が狂ってるとして、
ユーザーが整数演算で浮動小数点を再実装して回避した場合
言語のバグではなくなるのか
狂ってるだろ
まあこの脳味噌数ミリグラムしかなさそうなアホがうろ覚えしただけか
自分に都合のいいように曲解したか
どちらかだろうけど
バグじゃなくてバクですとか言うなよ

881:デフォルトの名無しさん
17/09/24 17:46:29.30 KdVNcd4v.net
曲解だろうな

882:デフォルトの名無しさん
17/09/24 17:49:22.16 xJTY0L3v.net
>>867
>頭がおかしかったからFreeBasicみたいなゴミに手を出したのか
大正解。
MS の3か月ぐらい無料で使える Visual stuio URLリンク(www.microsoft.com)
をDLしたのだが、使い方(操作方法)がさっぱりわからなかった。
>>866
>自分で回避すればいいんだから。
まー、外注に出したり、OSを入れ替えたり、MSやFBで公開しないですむ回避方法があるわ。
で、Freebasicに手を出した。
>>868
タスクマネージャーを同じことをすれば、回避できるから、
タスクマネージャーがやっている手法をしりたいのよ。
おっしゃるとおり、タスクマネージャーを起動することで回避できるから、APIのバグではない。

883:デフォルトの名無しさん
17/09/24 17:51:14.63 KdVNcd4v.net
>>856
起きてる問題は1MBや100KB越えると異常停止するわけでしょ
ということはそのサイズ以下に抑えれば問題が起きない
ユーザー又は末端ユーザーが回避できる障害だからバグでもない
これで無事解決よ。めでたしめでたし

884:デフォルトの名無しさん
17/09/24 17:59:36.07 xJTY0L3v.net
>>869
>言語のバグではなくなるのか
>狂ってるだろ
過去にやったことがある。Fotran 6だったかな、
単精度小数演算で10進数を出力してファイルに保存する、保存した値を再度利用する、を延々繰り返すルーチンで、
小数点2桁目て゛ずれるようになった。1000倍して、整数演算に直して、使用するようにした。
>>867の指摘するように、くるっているよ。
>バグじゃなくてバクですとか言うなよ
すまんな。
画面の濁点が全く読めないくらいに視力がないので、結構間違える。逆うち、ぜの代わりに゛せとかもやる。

885:デフォルトの名無しさん
17/09/24 18:11:55.34 xJTY0L3v.net
>>872
それやったことがある。
最初にソースを適当に作って、
使用しているサブルーチンを拾って、つなげるルーチンを作って実行
という手法。
結局、この拾う作業が膨大になって、自分自身のオーバーレイ化しないと動かなくなってしまった。
同じオーバーレイ化するならば、最初から直接動かした方が単純だ、ということで、もとに戻した。
当時は、サブルーチン別に拾ってlinkするという機能が、Fotran6しか対応していなかった。
1990年頃に発行になった書籍では、「頭の良いコンパイラーは」という条件が付くものの、この機能が存在することが指摘されていた。
なお、Visual Basic 6.0で使っていた自家製Libの内80%位の内容。
FreeBasic になった関係で、旧QuickBasicのLibの一部が復活している。
残る20%はGSL, GMP, MPFR, Sqlite等に切り替えられそうなので、これから、まだ増える予定。

886:デフォルトの名無しさん
17/09/24 18:51:56.99 80+QkRIz.net
やはり狂人であったか

887:デフォルトの名無しさん
17/09/24 20:08:47.40 TezdVn6/.net
知ってる単語並べればマウント取れると思ってるあたり、無能だなコイツ

888:デフォルトの名無しさん
17/09/24 22:14:32.71 mcfyXVZ5.net
どこのスレだか忘れたが無差別に住人を煽りながらDarkBasicを推してたクソコテを思い出した

889:デフォルトの名無しさん
17/09/24 23:27:07.55 Bf5PdX/p.net
ざっくりいうと、OSのせいで1MB程度で不具合が起こることはない
RustのはFirefoxのプログラムが悪い
タスクマネージャーを起動してると落ちない理由は思いつく限り
・偶然
・OSの環境が壊れてる(別のPCやOSクリーンインストールでなおる)
・FreeBasicやウイルス対策ソフト、その他(ウイルスとか)がタスクマネージャーが存在するなどを理由に挙動を変える
とかかな
とりあえず別のPCで確認

890:デフォルトの名無しさん
17/09/25 10:09:40.59 JnK94/2y.net
ちゃんとあるんだからそっちでやれと。なぜここで聞くのか頭おかしいやつの行動は意味わからない
【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net
スレリンク(tech板)

891:片山博文MZ
17/09/25 19:13:35.73 ViN5SaQX.net
リソーエディタ 1.0をリリースしました。
テストを充分行い、多数の修正をしました。
URLリンク(katahiromz.web.fc2.com)
URLリンク(github.com)
リソーエディタのバグ報告に謝礼としてAmazonギフト券5000円分差し上げます。
どしどしご応募下さい。

892:デフォルトの名無しさん
17/09/26 03:05:32.57 OZczKUwr.net
謝礼渡す基準は?
まぁ誰も触るわけないだろうが

893:デフォルトの名無しさん
17/09/26 11:26:08.01 7ABpskwx.net
ギフト券を受け取るには10000円分のギフトIDを報告する必要があります

894:デフォルトの名無しさん
17/09/26 12:36:12.89 CgqsIdu0.net
古来からあるリソースエディタと何が違うの?
と思ったら、リソースエディタじゃなくてリソーエディタかよ。
で、なにこれ?

895:デフォルトの名無しさん
17/09/26 12:45:40.74 dGip1y4C.net
リンク踏む気にもならんな

896:デフォルトの名無しさん
17/09/26 14:38:17.78 OZczKUwr.net
ドヤ顔でリリースしましたとか言ってるけど
こんな誰に需要あるのかわからないゴミみたいなオナニーツール触ってくれる奴なんかおるんかね

897:デフォルトの名無しさん
17/09/26 14:42:29.95 oJHPfbUh.net
おまいら親切だな
いちいち相手してあげて

898:片山博文MZ
17/09/26 16:22:16.43 mKY8ED9y.net
>>881
未知のバグであること。
メールで連絡が取れること。
Amazonギフト券を受け取る意思があること。

899:片山博文MZ
17/09/26 16:24:29.68 mKY8ED9y.net
>>883
EXEやDLLに含まれているリソースを追加・編集・抽出・削除ができるツールです。
ダイアログエディタ代わりに使うこともできます。

900:片山博文MZ
17/09/26 16:38:39.81 mKY8ED9y.net
>>885
ドヤ顔が見えますか? それは幻覚です。病院へ行って下さい。映画を観ない人は、映画評論家になる資格は
ありません。公共の掲示板でお下品な話はやめましょうね。わからないのは、あなたの知能が足りないからです。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch