X



Win32API質問箱 Build123©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net
垢版 |
2016/10/08(土) 12:33:02.29ID:0jaJMPXG
Win32APIについての質問はこちらへどうぞ。

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

■過去スレ
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
0792デフォルトの名無しさん
垢版 |
2017/07/28(金) 10:41:48.20ID:HR9e4R3v
>>780
>>770で言っていることは正しいと思うよ
理想としてはね
でも現実にはそういう人はなくならない
なら相手に「誠心誠意真実のみを語る」ことを求めるより
相手の言葉をヒントとして自分で試す、実践していくことのほうが
より確実に真実に近づくと言えるのではないだろうか

>>787
でも質問した内容について、「どっちも知識ない」ことは同じじゃないだろうか
目くそ鼻くそなんだし仲良くすればいいと思うよ
0794デフォルトの名無しさん
垢版 |
2017/07/29(土) 00:30:51.84ID:K1UV3B/G
>>770
まさにその通りですね。詳しい解説ありがとうございます。WS_EX_TRANSPARENTは、片山さんから助言受ける前に試してました。
画面サイズ最大で作って、erasebkgnd やら ncpaintとかは、リペイントのコストかかるので向いてないかも、ウインドの下でゲームや、動画とか再生されてた時などに不具合出そう。
できるだけシンプルに作りたかったので、今回はサイズ1x1で追尾にしました。(追尾といっても任意の動作後に追尾命令1回なので低コスト)
>>778
最低限のコード張ってないのは、どっかのサイトにでもコード張っておけばよかったかもですね。
大した処理ではないので、>>766で書いたCreateWindowEx、SetLayerdWindowAttributes、ShowCursorなどを張り付けておけばわかる人は分かるだろうと思っていたのですみません。
とりあえず、解決です。皆さま、ありがとうございました。
0798デフォルトの名無しさん
垢版 |
2017/07/29(土) 20:59:35.56ID:Y56dLgVa
こっちで書けるかな?。あっち
https://mevius.2ch.net/test/read.cgi/tech/1482549747/l50
で、あいこんのきり変えに失敗した、とかいたんだが
ついに成功した。 LoadIcon(ょ
か゜しかし、LoadImage()では成功していない。
0799デフォルトの名無しさん
垢版 |
2017/07/29(土) 21:08:08.69ID:GuKX0EtE
基本的には自力解決するしかないのが多いからな
長年書いていても遭遇するとは限らない突拍子もない現象が起きたりする
WinApiはカオスだ
質問は気休めにもならない
むしろ面白い現象をここで報告するつもりで質問してほしい
0800デフォルトの名無しさん
垢版 |
2017/07/29(土) 23:32:33.06ID:muGZrUiV
ダイアログボックス上に複数のラジオボタンがあり連続で並んでいます。
先頭のラジオボタンのみグループ属性が付加されており、マウスやキーボードで
操作するとどれか一つだけしか選択できない状態です。

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

WindowsのデフォルトUI動作で単独のラジオボタンしか選べないように
なっていると思っていたのですが、プログラムコードではそれは自分で
考慮して処理が必要と言うことでしょうか?
0802デフォルトの名無しさん
垢版 |
2017/07/29(土) 23:58:28.88ID:9HfHoOru
ダイアログエディタで作成した場合
タブオーダーだったかリソース IDだったかが
順序どおりになってないとそういう現象になる
0804デフォルトの名無しさん
垢版 |
2017/07/30(日) 07:13:09.16ID:m983gJFf
800です。

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

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

>>803
恥ずかしながら、CheckDlgButtonでもOSが処理してくれると思い込んでいました。
0805デフォルトの名無しさん
垢版 |
2017/07/30(日) 09:08:42.74ID:xziOu8cb
>>804
モードレスダイアログのコントロールIDが一番若いラジオボタンは
BN_CLICKEDが生成時に2回発生するから注意してね
0806デフォルトの名無しさん
垢版 |
2017/08/02(水) 01:43:28.46ID:+cEHF0jB
WinSockで、クライアント側がconnect()をコールして、
サーバ側がメッセージプロシージャでFD_ACCEPTを受け取るまでの間に、
MessageBox()でダイアログボックスを表示すると、FD_ACCEPTが届かない・・・。

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

何とかMessageBox()が挟まらないように改変しようとしてるんだけど、
ちょっとしたことでこの問題を回避できたりしないかな?
0809806
垢版 |
2017/08/02(水) 08:16:03.56ID:+cEHF0jB
>>807
そうでしたか。
他のことが原因かもしれませんね。
けっこう規模の大きいプログラムで発生したので、
>>807さんが試みられたように、一度最小コードで再現させてみます。

>>808
すみません、情報不足でした。
サーバー、クライアントともに同一プロセス同一スレッド内です。
外部PCとの通信も考慮しての使用ですが、今回問題が発生したのは、同一PC内です。
0810デフォルトの名無しさん
垢版 |
2017/08/02(水) 08:24:30.04ID:i5+f8wcz
>>809
> サーバー、クライアントともに同一プロセス
ここまではまだわかるが...
> 同一スレッド内です。
え?
0811デフォルトの名無しさん
垢版 |
2017/08/02(水) 09:09:46.19ID:6ap2AYHE
>>809
文字通り受け取ると
クライアントコネクト
→メッセージボックス
→サーバーアクセプト
が同一プロセス・同一スレッド?

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

フラグを単にMB_OKにしてもブロックされるので変わらずでした。
0814806
垢版 |
2017/08/02(水) 09:45:23.67ID:7ng0/iaA
↑すみません、FD_ACCEPTです。
0816デフォルトの名無しさん
垢版 |
2017/08/02(水) 09:52:12.86ID:3fh+5Dja
正しく処理されればメッセージボックス表示「中」にFD_ACCEPT がくるはずだけど…
0817デフォルトの名無しさん
垢版 |
2017/08/19(土) 23:59:27.57ID: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万台にならなくて済む
0818デフォルトの名無しさん
垢版 |
2017/08/20(日) 14:00:03.74ID:nY0Q5mUa
なんか自分が今まで関係してきた金額に比べて全ての金額が安すぎてビックリ。
これじゃ派遣の方がよっぽどましなんじゃね?
0819デフォルトの名無しさん
垢版 |
2017/08/21(月) 16:30:24.87ID:Fg01UA7s
>>813
MessageBoxに限らず、モーダルダイアログは自前でメッセージループ持ってるので
他の人も言ってるように受け取り先きちんと指定しないとダイアログに取られちゃうかも
0820806
垢版 |
2017/08/21(月) 19:20:15.44ID:eYNo081O
>>819
ありがとうございます。
モーダルダイアログが自前のメッセージループを持っているということ、勉強になりました。
受け取り先を指定するというのは>>815さんが指摘していることでしょうか?

>>815
お返事失念しており申し訳ありません。
WSAAsyncSelectにはメインウィンドウのウィンドウハンドルを指定しており、問題ないかと思います。
0821デフォルトの名無しさん
垢版 |
2017/08/23(水) 12:20:49.09ID:6Fed8jeE
江添亮タイホワロスωω
0827デフォルトの名無しさん
垢版 |
2017/08/29(火) 19:35:58.35ID:1xpDkX/7
ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10178733385
URL先は知恵袋です。
教えてくださいお願いします。
0828デフォルトの名無しさん
垢版 |
2017/08/30(水) 00:20:15.11ID: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とかに上げてみろ。
0829デフォルトの名無しさん
垢版 |
2017/08/30(水) 09:21:54.56ID:Lglrs9g0
>>827

> 'rpg.exe' (Win32): 'C:\Windows\SysWOW64\wer.dll' が読み込まれました。
> PDB ファイルを開けないか、ファイルが見つかりません。

というメッセージが出てきたら、
「PDB ファイルを開けないか、ファイルが見つかりません」
でググってみるものだ。それでも解らないことを質問すべきだろう。
その手間を惜しむ人間に教えることなどない。
0831デフォルトの名無しさん
垢版 |
2017/08/30(水) 13:24:52.28ID:7h6sel33
827です。
自己解決しました。
ありがとうございました。
0832デフォルトの名無しさん
垢版 |
2017/09/02(土) 16:07:42.07ID:uMF7D0UJ
夏休みがまだ終わらない
0834デフォルトの名無しさん
垢版 |
2017/09/04(月) 05:34:56.37ID:5SeLbfqh
今まで使えていたwriteprocessmemory 等を用いてプロセスアタッチを行なっていたのですが急に動作が不安定になり10回中2回ほどしか成功しません。

別PC(ネットカフェ)環境からだと問題なく動作します。
PC自体に負荷をかけるようなことを行なっていたためパーツ側に何か問題があると見ていまして、このような症状をご存知の方教えて下さい。
0838デフォルトの名無しさん
垢版 |
2017/09/16(土) 13:40:49.72ID:sYdQKwx0
Windows 7です

callwndproc でグローバルフックを作って
ウインドウを閉じるWM_CLOSEなどのメッセージを検知させたいのですが
動作はしたもののInternet Explorer (IE11)だけうまく行きません。
IE11ではapiを使ったフックはできないんでしょうか?

環境・手法はcpp, DLLでのデータ共有, Visual Studio 2015のコマンドラインコンパイラです。
0841デフォルトの名無しさん
垢版 |
2017/09/17(日) 19:55:34.73ID:j4nqlc4K
CreateWindowEx で WS_EX_COMPOSITED を指定しても、なぜかWS_EX_COMPOSITEDが未定義のシンボル扱いで通りません。
他のスタイル変数だと通ります。
CS_OWNDC、CS_CLASSDC は使っていません。
原因と、解決策を教えてください。それらしいワードでググっても良くわかりませんでした。
お願いします。

OS windows7 32bit
環境 BCC Developer
0847デフォルトの名無しさん
垢版 |
2017/09/17(日) 23:47:17.58ID:CQjOt/D7
そもそも今時デメリットしかねえから要らんやろこのスタイル>WS_EX_COMPOSITED
0848841
垢版 |
2017/09/18(月) 06:53:54.99ID:7suqbGay
>>844
ありがとうございます。動きました。
なるほど古すぎたんですね。
0849838
垢版 |
2017/09/18(月) 15:12:02.60ID:3H+QkIIH
>>839 >>840
Chromeウィンドウなどのフックと同じようにやるだけで出来ますか?
なにか別な要素が必要でしょうか?
0851デフォルトの名無しさん
垢版 |
2017/09/19(火) 08:46:47.66ID:87FEHvFq
知らんけどIEはフックされないようにしてるんじゃないか?
バンドオブジェクトか何かつっこんで中でやった方がいいと思う
0853デフォルトの名無しさん
垢版 |
2017/09/19(火) 18:23:41.92ID:3zeZgKZU
昔から常駐してる人力スクリプトだよ
毎度これ書いて上から目線でホルホルしてるんだろうけど、何年経っても成長しとらんw
0856デフォルトの名無しさん
垢版 |
2017/09/24(日) 14:16:10.86ID:xJTY0L3v
使用言語 FreeBasic + FBE
OS    Windows 10
症状、1MB, 100 個BASファイル(1MB)、10個位BIファイル(100KB)、を超えたあたりから、
異常停止し、「Debugしますか、停止しますか」の旨の表示を出して終了する。異常停止場所はその日によってバラバラ。
しかし、タスクマネージャーと同時実行では発生しない。

FreeBasic の場合、OS由来で異常停止する場合が多発して、
言語側の障害(仕様)は、*.DLLファイルの不在、配列宣言外の要素を参照した時、に発生する。
両者ともに特定の場所で、異常停止してくれるが、今回は、停止位置が実行中の他のタスク(タスクマネーシャー)の影響を受けている。
したがって、何かの事象を発生させる、等の対応で修正可能と思われる。
ご存知の方いらっしゃいましたらば、お知らせください。
0858デフォルトの名無しさん
垢版 |
2017/09/24(日) 15:05:57.20ID:KcVpSqdX
新興のGoだろうがRustだろうがWindows10でバグったりしないぞ
明らかに言語側の問題
0859デフォルトの名無しさん
垢版 |
2017/09/24(日) 16:39:30.63ID:xJTY0L3v
>>857
>それはFreeBasicのバグなので
フリーソフトなので、ご指摘のように言い切った内容ですと、既にどなたかが発表しているものと思われます。
発表されている内容をお知らせください

>>858
>バグったりしないぞ
処理系が異なります。したがって、一概に言えないのですが。
Rustについては普及しているようです。
https://ja.wikipedia.org/wiki/Rust_%28%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%29
>2016年8月2日にリリースされたFirefox 48にはRustで書き直されたメディアパーサが組み込まれており、Mozillaが開発しているブラウザのFirefoxにおいてRustで書かれたコードが書き加えられる初例となった
ただ、Firefox で3ウインドー、30タグつぐらい同時に読み取ると異常終了するので、障害発生部位がRustで書かれているのであれば、同様な現象と思われます。
旧osバージョン+対応fIREFOXでは、異常停止が発生しなかったと記憶しています。
0860デフォルトの名無しさん
垢版 |
2017/09/24(日) 16:51:45.14ID:J5jaZAG3
ここ、Win32APIのスレなんだけど、Win32APIにバグがあるっていうのが主旨ですか?
0863デフォルトの名無しさん
垢版 |
2017/09/24(日) 17:04:46.71ID:xJTY0L3v
>>861 支払う意思はありません。
>>860 ザベの巻号年を忘れましたが、「ユーザー又は末端ユーザーが回避できる障害はバクではない」旨の記事がありました。
従いまして、回避方法が公開されているのであれば、APIのバクではありません。
ユーザー(プログラマー)に回避する義務(商習慣?, 公序良俗?)がありますので。
0864デフォルトの名無しさん
垢版 |
2017/09/24(日) 17:13:08.33ID:7Tzf/3Hr
互いに矛盾する結果を出すAPIを同時に使用する必要があるなんてざらだ
それを吸収しなければならない上位層は必ず矛盾が発生し、複雑化する
とりあえず当座必要な全機能には矛盾のない解には到達するが、それ以上の機能を追加すると矛盾が再発する
APIがしっかりしていればソフトは10分の1ほどのコードで済むだろう
0865デフォルトの名無しさん
垢版 |
2017/09/24(日) 17:13:55.12ID:xJTY0L3v
>>862
同様な調査を自治会長は500円でやれ、とポケットむに500円ねじ込んだ。
サーチャーに依頼するとして、20年ぐらい前に概略を電話問い合わせした時には、20万もって窓口まで来てくれ、という返事だったので断った。
だけど、自治会長の考え方だと500円でできるという内容。
0866デフォルトの名無しさん
垢版 |
2017/09/24(日) 17:24:23.20ID:okRUlktS
>>863
「ユーザー又は末端ユーザーが回避できる障害はバクではない」
回避方法が公開されている必要はないだろ。自分で回避すればいいんだから。
0867デフォルトの名無しさん
垢版 |
2017/09/24(日) 17:30:18.48ID:6sZgRRai
FreeBasicみたいなゴミを使ってるから頭がおかしくなったのか
頭がおかしかったからFreeBasicみたいなゴミに手を出したのか
0868デフォルトの名無しさん
垢版 |
2017/09/24(日) 17:35:20.31ID:jWeMnfEt
>>867
まだFreeBasicのせいだと決まったわけではあるまい。
ただ残念なのは>>856の内容ではWin側の問題だとは全く思えない所。
0869デフォルトの名無しさん
垢版 |
2017/09/24(日) 17:42:11.62ID:uKYPwFuQ
引き合いに出してる記事とやらもやべえな
ある言語の浮動小数点演算が狂ってるとして、
ユーザーが整数演算で浮動小数点を再実装して回避した場合
言語のバグではなくなるのか
狂ってるだろ

まあこの脳味噌数ミリグラムしかなさそうなアホがうろ覚えしただけか
自分に都合のいいように曲解したか
どちらかだろうけど

バグじゃなくてバクですとか言うなよ
0871デフォルトの名無しさん
垢版 |
2017/09/24(日) 17:49:22.16ID:xJTY0L3v
>>867
>頭がおかしかったからFreeBasicみたいなゴミに手を出したのか
大正解。
MS の3か月ぐらい無料で使える Visual stuio https://www.microsoft.com/ja-jp/dev/campaign/free-edition.aspx
をDLしたのだが、使い方(操作方法)がさっぱりわからなかった。

>>866
>自分で回避すればいいんだから。
まー、外注に出したり、OSを入れ替えたり、MSやFBで公開しないですむ回避方法があるわ。

で、Freebasicに手を出した。

>>868
タスクマネージャーを同じことをすれば、回避できるから、
タスクマネージャーがやっている手法をしりたいのよ。
おっしゃるとおり、タスクマネージャーを起動することで回避できるから、APIのバグではない。
0872デフォルトの名無しさん
垢版 |
2017/09/24(日) 17:51:14.63ID:KdVNcd4v
>>856
起きてる問題は1MBや100KB越えると異常停止するわけでしょ
ということはそのサイズ以下に抑えれば問題が起きない
ユーザー又は末端ユーザーが回避できる障害だからバグでもない
これで無事解決よ。めでたしめでたし
0873デフォルトの名無しさん
垢版 |
2017/09/24(日) 17:59:36.07ID:xJTY0L3v
>>869
>言語のバグではなくなるのか
>狂ってるだろ
過去にやったことがある。Fotran 6だったかな、
単精度小数演算で10進数を出力してファイルに保存する、保存した値を再度利用する、を延々繰り返すルーチンで、
小数点2桁目て゛ずれるようになった。1000倍して、整数演算に直して、使用するようにした。
>>867の指摘するように、くるっているよ。

>バグじゃなくてバクですとか言うなよ
すまんな。
画面の濁点が全く読めないくらいに視力がないので、結構間違える。逆うち、ぜの代わりに゛せとかもやる。
0874デフォルトの名無しさん
垢版 |
2017/09/24(日) 18:11:55.34ID:xJTY0L3v
>>872
それやったことがある。
最初にソースを適当に作って、
使用しているサブルーチンを拾って、つなげるルーチンを作って実行
という手法。
結局、この拾う作業が膨大になって、自分自身のオーバーレイ化しないと動かなくなってしまった。
同じオーバーレイ化するならば、最初から直接動かした方が単純だ、ということで、もとに戻した。

当時は、サブルーチン別に拾ってlinkするという機能が、Fotran6しか対応していなかった。
1990年頃に発行になった書籍では、「頭の良いコンパイラーは」という条件が付くものの、この機能が存在することが指摘されていた。

なお、Visual Basic 6.0で使っていた自家製Libの内80%位の内容。
FreeBasic になった関係で、旧QuickBasicのLibの一部が復活している。
残る20%はGSL, GMP, MPFR, Sqlite等に切り替えられそうなので、これから、まだ増える予定。
0877デフォルトの名無しさん
垢版 |
2017/09/24(日) 22:14:32.71ID:mcfyXVZ5
どこのスレだか忘れたが無差別に住人を煽りながらDarkBasicを推してたクソコテを思い出した
0878デフォルトの名無しさん
垢版 |
2017/09/24(日) 23:27:07.55ID:Bf5PdX/p
ざっくりいうと、OSのせいで1MB程度で不具合が起こることはない
RustのはFirefoxのプログラムが悪い

タスクマネージャーを起動してると落ちない理由は思いつく限り
・偶然
・OSの環境が壊れてる(別のPCやOSクリーンインストールでなおる)
・FreeBasicやウイルス対策ソフト、その他(ウイルスとか)がタスクマネージャーが存在するなどを理由に挙動を変える
とかかな

とりあえず別のPCで確認
0883デフォルトの名無しさん
垢版 |
2017/09/26(火) 12:36:12.89ID:CgqsIdu0
古来からあるリソースエディタと何が違うの?
と思ったら、リソースエディタじゃなくてリソーエディタかよ。
で、なにこれ?
0885デフォルトの名無しさん
垢版 |
2017/09/26(火) 14:38:17.78ID:OZczKUwr
ドヤ顔でリリースしましたとか言ってるけど
こんな誰に需要あるのかわからないゴミみたいなオナニーツール触ってくれる奴なんかおるんかね
0887片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/09/26(火) 16:22:16.43ID:mKY8ED9y
>>881
未知のバグであること。
メールで連絡が取れること。
Amazonギフト券を受け取る意思があること。
0888片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/09/26(火) 16:24:29.68ID:mKY8ED9y
>>883
EXEやDLLに含まれているリソースを追加・編集・抽出・削除ができるツールです。
ダイアログエディタ代わりに使うこともできます。
0889片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2017/09/26(火) 16:38:39.81ID:mKY8ED9y
>>885
ドヤ顔が見えますか? それは幻覚です。病院へ行って下さい。映画を観ない人は、映画評論家になる資格は
ありません。公共の掲示板でお下品な話はやめましょうね。わからないのは、あなたの知能が足りないからです。
■ このスレッドは過去ログ倉庫に格納されています