[過去ログ] Win32API質問箱 Build127 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
870: 2024/07/10(水)09:02 ID:OQuJq/Fg(2/2) AAS
フラグを見てトレースするか否かを変えてる訳だから恐らくはレジストリとかでグローバルな設定が可能なんだとは思うけど英語でググっても全く情報がない
871: 2024/07/10(水)14:22 ID:pzzWoCSk(1) AAS
manifestじゃね?
872: 2024/07/10(水)16:48 ID:2GPD5dJ4(1) AAS
ここ
外部リンク:learn.microsoft.com
873: 警備員[Lv.2][新芽] 2024/07/12(金)06:37 ID:rAnXXRGQ(1) AAS
!donguri
874: 2024/07/12(金)07:55 ID:R+7FAFYS(1) AAS
どんぐりとか邪魔なだけ
875: 2024/07/26(金)16:31 ID:s0039+ok(1) AAS
exe化ω
876
(1): 2024/08/03(土)11:32 ID:8ujXWrcK(1) AAS
マルチディスプレイ環境でディスプレイごとに壁紙設定したいんだけど
SystemParametersInfoだと全部同じ壁紙設定されちゃう
どうしたらいいの?
877: 2024/08/03(土)15:09 ID:oR+oLHPm(1) AAS
15年前の情報
外部リンク:smdn.jp
878: 876 2024/08/04(日)06:02 ID:SpOe1Ove(1) AAS
あれこれ調べた結果、COMインターフェース使って実現できた
スレ汚し失礼しますた
879: 2024/08/05(月)23:55 ID:jWZSSuTx(1) AAS
外部リンク:learn.microsoft.com
いまだにGDI Print API使っているんだが移行するもんなんかね
COMめんどい
880: 2024/08/06(火)08:51 ID:cEvufDXQ(1) AAS
それはいまだに使ってるんじゃなくて互換性のために残してあるだけやろ
Vista以降の環境で作るならXPSドキュメントAPI検討しろって書いてあるじゃん
881: 2024/08/06(火)12:29 ID:/JDWd2CP(1) AAS
XPSって息してるの?
882: 2024/08/06(火)13:32 ID:geBAoTM5(1) AAS
してない
883: 2024/08/07(水)23:11 ID:QAQ+ujSz(1) AAS
外部リンク:learn.microsoft.com
[XPS Print API はサポートされていないため、今後変更または使用できない場合があります。 クライアント アプリケーションでは、代わりに 印刷ドキュメント パッケージ API を使用する必要があります。
だと
884: 2024/08/08(木)08:52 ID:RW+0CWti(1) AAS
印刷ドキュメントパッケージってストアアプリじゃなかったっけ
885: 2024/08/26(月)20:43 ID:Cfp+G9iJ(1) AAS
MFCやCOM/ATLの話題もここでいいの?
スレないよな
886: 2024/08/26(月)22:39 ID:a3TTNcMK(1) AAS
まあ大雑把にアンマネージドな話題ならいいんじゃね
MFCの話なんてここでされても俺はスルーするがな
887: 2024/08/27(火)08:48 ID:Dr3hMOC8(1) AAS
MFCまだ息してるの?
888: 警備員[Lv.26] 2024/11/15(金)07:34 ID:az6uMl7w(1) AAS
!donguri
889: 警備員[Lv.9] 2024/11/16(土)12:36 ID:tOcVq+tO(1) AAS
!donguri
890: 2024/11/18(月)20:33 ID:a56Gv0Ed(1) AAS
BEアイコン:nida.gif
だから、最近EchoAPIを使い始めて、デバッグプロセスが本当に効率化されました。
891: 2024/11/19(火)14:54 ID:9IiXc5Vb(1) AAS
まるちんこしね
892: 2024/11/20(水)11:20 ID:W8mVvsIh(1) AAS
新規にMFC使って何かを作ろうとするのは、アマチュアならありだが仕事ではもうないかな
.NETが普及する前、それこそVB6時台は必須だったけど
893: 2024/11/21(木)08:42 ID:Yfd1e91z(1) AAS
別に必須ではない
894: 警備員[Lv.15] 2024/11/28(木)13:09 ID:xnLU0jkg(1) AAS
!donguri
895: 2024/12/03(火)22:33 ID:8WYJf9/5(1) AAS
BEアイコン:nida.gif
EchoAPIをAPIシミュレーションに使用し始めたところ、フルバックエンド統合前にアプリの機能をテストするのに非常に役立ってる
896: 警備員[Lv.16] 2024/12/04(水)07:26 ID:gY6x2I0M(1) AAS
!donguri
897: 2024/12/06(金)14:09 ID:L9wmMkNC(1/2) AAS
IsWindowVisibleは親ウィンドウの状態も再帰的にチェックしてくれるのに、
IsWindowEnabledは自身の状態しかチェックしてくれないようです

対象のウィンドウがマウス操作などを行える状態かをチェックしたいですが、
IsWindowEnabledで親ウィンドウの状態も参照するバージョンはあるのでしょうか?
898: 2024/12/06(金)14:43 ID:L9wmMkNC(2/2) AAS
すいません上に全く同じ質問がありました
失礼しました
899: 2024/12/12(木)22:09 ID:atnAaKGF(1) AAS
ステータスバーを分割した場合
WM_SIZEの中でサイズを送信すると思うんだけど

|中身に合わせる|中身に合わせる|伸びーる|中身に合わせる|中身に合わせる|

みたいな場合はどうやって計算するの?
900: 2024/12/12(木)22:27 ID:j5Bpxje0(1) AAS
中身に合わせるのとこは自分で中身に合わせて
野ビールのとこは放置やね
計算とか無い
901: 2024/12/12(木)22:44 ID:trovn3Vo(1) AAS
ステータスバーのハンドル使ってDCとフォントを取り寄せる
んでDrawTextを空撃ちすると文字列に必要な幅が分かる。
902: 2024/12/21(土)23:35 ID:37tGDg2N(1) AAS
IsWindowVisible
IsWindowEnabled
EnableWindow
のダイアログ版教えて下さい
903
(1): 2024/12/21(土)23:44 ID:VA9QPMmD(1) AAS
ダイアログも只のWindowっす
904: 2024/12/22(日)09:10 ID:SmvDArN5(1) AAS
>>903
できました!ありがとう
905: 警備員[Lv.19] 01/03(金)15:25 ID:R7434evi(1) AAS
!donguri
906: 01/22(水)00:25 ID:CKKn8gV4(1/2) AAS
iniのキーの一括読み込みで悩んでいます。
冗長にならないよう読み込みたいのですが、下記のコードをfor文で回すというのが自分の知識の限界でしたが、大変わかりにくく困っています。改善点やスタンダードなiniの読み書きの参考になるサイトなどあれば教えていただけると助かります
strLen[n] = GetPrivateProfileString(
pStrIndex[n] ,//ダブルポインタ
NULL ,
NULL ,
buf[n] ,//ダブルポインタ
省3
907
(1): 01/22(水)05:00 ID:xghKhcgN(1) AAS
GetPrivateProfileSection関数
908
(1): 01/22(水)19:54 ID:CKKn8gV4(2/2) AAS
>>907
ありがとうございます。ですがこの方法ですとセクションごとに別れていないため、私が提示した方法より値を扱いにくいのではないでしょうか?
それとも、セクションを除いて必要なキーが何個目にあるかを把握して扱うということなのでしょうか?
後者の場合ですと、わざわざセクションが存在する理由がわかりかねるのですが、直接iniを開いた場合の可読性故に存在しているということでしょうか?
少々実際のコードに落とし込むということがイメージしにくく、躓いてしまっています

また、実際に値を取り出す場合はn番目の=から¥nまでの文字列を取り出し、数値に変換するといった具合になるのでしょうか?
909: 01/22(水)19:56 ID:6faY8jOE(1) AAS
気に入らないなら自作しなよ
そういうの得意だったよね
910
(1): 01/23(木)06:58 ID:juwbDZ3u(1/2) AAS
>>908
セクションごとに別れていない?
GetPrivateProfileSectionのドキュメントちゃんと読んだ?
やってみた?
911
(1): 01/23(木)09:06 ID:kfksRUHC(1) AAS
最後の1文見る限り、GetPrivateProfileSectionのドキュメントすら読んで無いか、読んでてもちゃんと読んで無いのがバレバレ
912: 01/23(木)10:24 ID:MfXmmgFN(1) AAS
YAMLにしなよ
913: 01/23(木)19:37 ID:i3pjk0RU(1) AAS
>>910
>>911
今あらためて見たら見当違いのことを言っていますね、失礼しました。
この関数ですとキーの値まで取得できるので活用できる範囲が広そうです。

更に質問なのですが、キーの値を実際に使う際変数に格納する工程は通常こういう書き方をするなどど言ったセオリーは無いのでしょうか?
教えていただいた関数を使用した場合でも値部分を抜き出し配列に格納し、num = p[n]とそれぞれ格納し直していかねばならず、複数の変数を使用している場合はある程度コードが長くなるのは避けられないのでしょうか?
914
(1): 01/23(木)20:01 ID:juwbDZ3u(2/2) AAS
セオリーみたいなんは知らないけど
各Key&Valueペアはヌル文字で区切られてて
文字列はヌルターミネートだってことを利用して
ポインタを動かしながら一覧化して使ってたかな、自分は

最近はini使ってないから昔の記憶だけど
915: 01/24(金)16:07 ID:n7IYWFd+(1) AAS
>>914
一覧化という単語でggってみたところ特にそれっぽいものはヒットしませんでした。
どういったことなのでしょうか?
916
(1): 01/24(金)16:21 ID:9uGEaje4(1) AAS
>>906
iniを使ってる既存のアプリがあってそれを踏襲
しなければならないのなら仕方がないけど、
そうでないなら、いまさらiniなんて使わないほうが良いよ
917: 01/24(金)22:51 ID:pX5+qcQ2(1) AAS
忌み数字を踏ませる業者、アプリ、コンピュータプログラムの嫌がらせ

動画再生回数、表示回数、登録者数、フォロワー数、評価数、コメント数、レベル、経験値、ポイント、HP、通貨、価格、メッセージ数、通知数、フレンド数

4(死)、13(キリスト教における忌み数字)

18(嫌)、24(〜に死)、34(〜さん死)

40、42、44
省4
918: 01/25(土)00:25 ID:0Ai0sZJQ(1/4) AAS
ini
XML
JSON
YAML
TOML
919: 01/25(土)06:51 ID:j/rBX//M(1) AAS
dat
920: 01/25(土)14:22 ID:sFzIAkAR(1/2) AAS
>>916
そういうわけではありませんが、全くの初心者ですので、情報の多い古い技術を頼ることにしました
921
(2): 01/25(土)16:04 ID:9QNSyzV2(1) AAS
ini ゴミ
XML 冗長
JSON ゴミ
YAML がんがれ
TOML RustのcratesとかPythonのPoetryでしか観ないな
922: 01/25(土)20:28 ID:sFzIAkAR(2/2) AAS
>>921
それぞれに対する評価を書き込むのも乙ですが
ここにコードの書き方で迷っている子羊がいるので、実際の書き方の一例でも見せてみるというのも一興ではありませんか?
923
(1): 01/25(土)21:29 ID:0Ai0sZJQ(2/4) AAS
iniを読む時は、
・セクション名は指定する
・キーを指定して対応する変数に代入する
・複数要素指定したい場合には、
 - キーの末尾に1,2,3,... とつけて見つからなくなるまで読む
 - 別のキーで個数を指定する
 - キーを一つにして値をカンマ区切りやスペース
省1
924: 01/25(土)21:33 ID:0Ai0sZJQ(3/4) AAS
読みたいキーが50個あるなら、
GetPrivateProfileString() か GetPrivateProfileInt() を
50回書けばいい。
ループとか考えずにベタで書いたほうがバグらない。
変数名書き換え忘れとかはよくあるけど。
1,2,3,...とかやるところはループで。
925
(1): 01/25(土)21:54 ID:HZDjTK1Q(1/2) AAS
APIのGet何某は1セクション1キーの読み書きの度にファイルオープンからやるから糞遅いよ
vbscriptからiniを読み書きしたい時があってその時は大した手間でもないし全部自作したよ
セクションを駆使すれば構造化できるしコメントも書けるから下手な外部データ構造よりも扱いやすいかもとその時は思った
926: 01/25(土)21:59 ID:/zAJo091(1) AAS
>>921
レジストリ―を忘れないであげてください・・・
927
(1): 01/25(土)21:59 ID:0Ai0sZJQ(4/4) AAS
クソ遅いの同意。
あと、
・=の左右のスペースを自動除去するとか、
・端に半角スペースを使いたい場合には""で囲うんだっけ? "を使いたい場合にはどうするんだ?
・値の32,768文字(バイト?)制限?
とか、いろいろ隠れ仕様があるのが地味にトラップ。
928: 01/25(土)22:25 ID:HZDjTK1Q(2/2) AAS
>>927
それらの疑問はAPIで読み書きしてみれば解消すると思うのだが
929: 01/26(日)00:20 ID:u6Mx5l7z(1) AAS
>>923
ありがとうございます。
末尾に数字をつけるとそのような読み方が可能なんですね、初耳です
というわけではなくあらかじめ振っておくということですか?
>>925
差し支えなければ考え方のヒントだけでも良いのでご教示いただけるとたすかるなーなんて
iniとは暫く付き合っていかないといけませんし
930: 01/26(日)07:56 ID:KCyxjQfb(1) AAS
ini使いたい君はWin32APIがどうたら以前の問題だからもっと勉強してから頑張れ
931: 01/26(日)10:18 ID:9SEpmwDH(1) AAS
C#で組むと簡単にかける
932: 01/26(日)12:24 ID:jIhwYj9H(1) AAS
現代に生きてるならまず生成AIの使い方を覚えろw
933: 01/26(日)12:36 ID:ZUklcVwb(1) AAS
STLにその手の機能あったかと
934: 01/26(日)21:20 ID:s+0AyHDZ(1) AAS
msgpackがいい
935
(1): 01/30(木)07:55 ID:QS068twT(1) AAS
Win32のiniは中身どうなってるかわからんからあんま使いたくない
データ取り出すために毎回iniのpath指定からするってことは毎回CreateFileでもしてるのか?と疑ってしまうしな
まあキャッシュされてる説が濃厚っぽいけど、であれば解放はいつされる?という疑問も浮かんで来てしまう
936: 01/30(木)09:05 ID:DmWvGvqx(1) AAS
毎回読んでるに決まってるだろ
937: 01/30(木)17:56 ID:SG35pUtO(1) AAS
win16時代からなんかモヤモヤする気持ち悪い部分だねw
938: 01/30(木)19:54 ID:5vkjgM/o(1) AAS
メモリなんてほとんど無かった時代からあるものだから、キャッシュなんてしてるわけないしな
939: 01/30(木)20:05 ID:s1Kp+8+0(1) AAS
VistaくらいからならOSのファイルキャッシュが勝手に働いてそう。
940: 01/31(金)01:11 ID:X03NMzGm(1) AAS
キャッシュなんかMS-DOSのsmartdriveあたりからあるだろ
無効にするとWindows3.1は遅かった記憶がある
941: 01/31(金)10:55 ID:T94pdG8Q(1) AAS
>>935
構文解析なんて一瞬で終わる
キャッシュはOSがリファレンスカウントで管理してるでしょ
ただしゼロになったからといって直ぐに解放する訳じゃないし、ゼロになる前に解放される場合もある
そこは空きメモリとの兼ね合いでOSが上手くやる
942: 01/31(金)12:27 ID:x+X7dknH(1) AAS
補足すると再起動後やスリープ復帰後に$MFTを舐める様なアプリを動かしておくとシステムキャッシュに載って
その後はHDDでもSSDと同様にディレクトリトラバーサルがマルチスレッドで高速化する(find/fd等)
(よくある専用ソフトを常駐させなくてよい)
943: 02/13(木)21:31 ID:YNJwxBZ/(1) AAS
メインウィンドウのウィンドウプロシージャをグローバルからクラスメンバに移したくて
一応表面的なエラーなどは出ずに起動したのですが問題ないのか不安です
断片的で分かりにくいかもですが以下で問題ないか教えていただけないでしょうか

wc.lpfnWndProc = DefWindowProc;

SetWindowSubclass( hwnd, SubProc, 1, reinterpret_cast< DWORD_PTR >( this ) );

static LRESULT CALLBACK SubProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData );

LRESULT CALLBACK MyWindow::SubProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData )
省8
944: 02/14(金)05:52 ID:NtB8MvkN(1) AAS
あかんやろな
945: 02/14(金)08:53 ID:JVeRBzRc(1/2) AAS
20年以上前にMFCみたいなラッピングクラス群を自前で作ってみたことあったけど
ウィンドウプロシージャのとこをどうやったかもう忘れてしまったな……
946
(1): 02/14(金)13:37 ID:7nMc146l(1) AAS
メソッドという事は、第一引数にthisが渡る必要がある。
コールバックプロシジャーの呼び出し側にその機能(thisを積む)は無い。

MFCはその部分マクロで展開していたね
947: 02/14(金)14:04 ID:hgqMYig2(1) AAS
Best method for storing this pointer for use in WndProcにMethod 1~6まで解説されてるわ

>>946
ATLだとMethod 5: Thunkだね
948: 02/14(金)19:58 ID:SfDwe3dq(1) AAS
俺がやったやり方書いてやろうとしたらNGワード言われてBBxまでされたわw
クソじゃんw
949: 02/14(金)21:57 ID:NGvcdz15(1) AAS
method 4のやり方だし行けるんじゃない?
自分はmethod 6のイマイチ泥臭い方法でやったよ
950: 02/14(金)22:08 ID:JVeRBzRc(2/2) AAS
一次受け用のstaticなプロシージャとクラスのメソッド
あとSetPropとSetWindowLong使ってやったな確か
1-
あと 52 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.031s