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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
201: 蟻人間 ◆T6xkBnTXz7B0 2019/06/14(金)21:14 ID:lQGpZUNA(1) AAS
あたまがぱっかーん
202: 2019/06/16(日)04:09 ID:HeZkFDT3(1) AAS
寄生獣だな
203: 2019/06/16(日)15:19 ID:RxcvAD6u(1/3) AAS
ダメだぁ...
WriteProcessMemory がどうしても失敗する(´・ω・`)

デスクトップのsyslistview32やexplorerのDirectUIHWNDでは成功(返り値1)するんだけど、
メモ帳やIEのプリンター選択のsyslistview32や、メモ帳のEditに対しては失敗(返り値0)する

なんでー?
204: 2019/06/16(日)15:34 ID:RxcvAD6u(2/3) AAS
Err.LastDllError の番号は998で、
メモリ ロケーションへのアクセスが無効です。
205
(1): 2019/06/16(日)17:12 ID:Z9zSyDOE(1) AAS
WOW64
206
(1): [Sage] 2019/06/16(日)20:39 ID:RxcvAD6u(3/3) AAS
>>205
64bit版でコンパイルしたら、32bit版のプロセスに介入することできないから難しいという感じでしょうか(´;Д;`)
64bit版のIEでも返り値は0でした...
Long型を、LongPtrにしてもダメでした...
207: 2019/06/17(月)02:30 ID:q7RVlLCN(1) AAS
32bit,x64の実行ファイル2つ作って用途に合わせて切り替えたら?
208: 2019/06/17(月)11:24 ID:lxO8a0KV(1) AAS
いよいよwindowsを捨てる時が来たようだ
209: 2019/06/18(火)04:17 ID:fify6tPn(1) AAS
また買えばいいよ
210: 2019/06/18(火)06:23 ID:3nOE2mBA(1) AAS
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
2chスレ:tech

142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID外部リンク:qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
211: 2019/06/18(火)12:45 ID:1CtlGReK(1) AAS
堂々の一位
外部リンク[html]:hissi.org
212: 2019/06/22(土)14:06 ID:DZJ/hc7X(1) AAS
>>206
自分は一旦それで絶望して
32bitアプリ用のラッパー作って呼んでる
32bit資産使ってる人はみんなこうじゃないかな
213: 2019/06/22(土)14:29 ID:8YBlX71B(1) AAS
seamless ωωω
214: 2019/06/25(火)16:44 ID:hU5ITaEA(1) AAS
既存の Console に代わる Windows Terminal のプレビュー版が公開されたけど
今後コンソールアプリはどういう作りになるんだろう
既存の ConsoleAPI またはその拡張API になるのか
それともConsoleAPI は廃止されて Unix なんかと同様のエスケープシーケンスを制御する
curses ライブラリみたいのが提供されるのか

まぁオープンソースみたいだからソース見ればいいんだろうけど
215
(1): 2019/06/25(火)16:58 ID:vGWUuZ9A(1/2) AAS
初歩的な質問ですが、64bitのプロセスにもWin32APIって使えますか?
216: 2019/06/25(火)17:11 ID:JYAeHTmF(1) AAS
使える
ただし、例えばGetWindowLongのようにポインタのビット数を決め打ちしている箇所に注意が必要
217: 蟻人間 ◆T6xkBnTXz7B0 2019/06/25(火)17:11 ID:CrMrKXln(1) AAS
>>215
Win64APIではWoW64というシステムがWin32からWin64への互換性レイヤーになる。
218: 2019/06/25(火)17:35 ID:XhZtJiMw(1) AAS
32bit OS の場合
System32 = 32bit 用 DLL (Win32API)

64bit OS の場合
System32 = 64bit 用 DLL (64bitWin32API)
SysWOW64 = 32bit 用 DLL (32bitWin32API)
219: 2019/06/25(火)17:37 ID:vGWUuZ9A(2/2) AAS
ありがとうございます
これで気にせず昔の情報あされます
220: 2019/07/10(水)12:39 ID:LrFGCWwq(1/2) AAS
SysListView32のリストビューで、縦スクロールバーが表示されている状態で、
アイテムをクリックして選択し、すぐにホイールを回してそのアイテムを画面外に出すと、
一定時間後にそのアイテムが表示される位置まで飛んでしまいます。

選択されていないアイテムよりも、すでに選択されているアイテムをクリックした方が、
ホイールを回すまでの時間が多少長くてもその現象が起きます。

これWindows自体のバグでしょうか。
内部のタイマー処理でも絡んでいるのでしょうか。
221: 2019/07/10(水)12:47 ID:+uFplCdI(1) AAS
君が発見出来るような程度のバグなら
既に誰かが発見して治してるよ
222
(1): 2019/07/10(水)12:50 ID:z7915HRG(1) AAS
ホイールは3rdパーティーのマウスドライバや常駐もので
余計にメッセージ飛ばしたりすることあるから厄介
223: 2019/07/10(水)13:04 ID:GamN/JFp(1) AAS
Win10の一年位前のビルドでSysListView32がスクロールバーを出してる状態でドラッグすると
画面右端にカーソルがすっ飛ぶバグがあったな
SysListView32使ってるアプリは多いからこれは一般ユーザーもすぐに気付い
224: 2019/07/10(水)13:14 ID:LrFGCWwq(2/2) AAS
>>222
ホイールでなくスクロールバーのドラッグでも起きました。
操作が難しくなりますが、アイテムをクリックして選択し、
すぐにスクロールバーをドラッグしてそのアイテムを画面外に出すと、やはり同じ現象が起きます。
225
(1): 2019/07/11(木)10:11 ID:Bpzge626(1/2) AAS
全然関係なくて申し訳ないが
シングルクリックとダブルクリックの判定って結構難しいよな
クリックのメッセージが飛んできても
シングルクリックのつもりなのか
ダブルクリックの一回目のクリックのつもりなのか
その時点では判断が付かない
なのでダブルクリックの二回目のクリックが飛んで来るかどうか
少し時間をおいてみるしかない
この間にユーザーが何か操作すると
226
(1): 2019/07/11(木)10:24 ID:BSTUJEPb(1/2) AAS
>>225
っWM_LBUTTONDBLCLK
227: 2019/07/11(木)10:24 ID:dt9f58xR(1/2) AAS
アホ発見
228: 2019/07/11(木)10:27 ID:xJ4m2V3T(1) AAS
かわいい
229
(1): 2019/07/11(木)10:32 ID:Bpzge626(2/2) AAS
>>226
WM_LBUTTONDBLCLKが飛んで来たらダブルクリック
でも飛んでこないかもしれない(つまりシングルクリック)という事だよ
飛んでくるかどうかは少し待ってみないとわからない
エクスプローラでファイルの名前の変更するとき
少し待たされるあの動作
タイマー使ってWM_LBUTTONDBLCLKが来るか少し待ってみるっていう
でもこの魔の時間にユーザーが操作することがあって
例えばホイール回したりスクロールバー触ったり
230
(1): 2019/07/11(木)10:50 ID:BSTUJEPb(2/2) AAS
>>229
コンパネでダブルクリックの間隔を調節できるから
そのへんはユーザーに責任転嫁できる
231: 2019/07/11(木)10:56 ID:dt9f58xR(2/2) AAS
ダブルクリックはシングルボタンのAppleから持ち込まれた悪臭
232: 2019/07/11(木)11:57 ID:6Wf0CyIx(1) AAS
>>230
と思うじゃん
233: 2019/07/11(木)23:57 ID:QGiOPnup(1) AAS
飛んでくるまでいつまで待てばいいですか
少しっていつですか
234
(1): 2019/07/12(金)00:14 ID:B1Jsh2gD(1) AAS
あれ?シングルクリックってダブルクリックになったら、マージされてダブルクリックで処理されると思っていた。
235: 2019/07/12(金)06:48 ID:dXXCmuDP(1) AAS
GetDoubleClickTimeでググれ
236: 2019/07/12(金)10:36 ID:ueORW37F(1) AAS
>>234
マージされるのは二回目のクリック
今言ってるのは一回目のクリックをどう扱うかという話
この一回目のクリックは
シングルクリックのつもりなのか
ダブルクリックの一回目なのか
コンピュータには知る由もない
237: 2019/07/12(金)12:00 ID:Y/iKed6k(1) AAS
なんでここまで説明しないと分からんのだろ
特にハイコンテクストって訳でもないのに
238: 2019/07/12(金)12:24 ID:gSsTJBIy(1) AAS
誰が誰に対して?
1回目の誰が2回目の誰に対してマージされて処理されるのか?
おやすみ
239: 2019/07/12(金)12:53 ID:nIUn02wm(1) AAS
GetCursorPosでポインターの場所、GetKeyStateでマウスボタンが押されてるか離されてるか
取得できるから、あとは時間測って適当にクリックとダブルクリック、ドラッグを判別する
SwapMouseButtonで右利き左利きとか、GetDoubleClickTimeでダブルクリック判定する時間とか
そんなのを設定できるようにしとけば完璧

これがおまえらが一番納得する方法だろwww
240: 2019/07/12(金)17:04 ID:Uu5c0ODM(1) AAS
自信満々で嘘書くな迷惑
241: 2019/07/13(土)05:00 ID:5W75r4eA(1) AAS
クリック動作はダブルクリックの直前に発生しても致命的にならないものであればいんでない?
クリック 選択
ダブルクリック 実行
これを逆にするようなら難しくなるだけかと
242: 2019/08/04(日)16:34 ID:78/vdzUN(1) AAS
QueryPerformanceFrequencyが10000000を返してくるようになってた
将来はQPCは常に100ナノ秒単位で表しますよってなっていくんだろうか
今回たまたま自分の環境がそうなってしまっただけなんだろうか
243: 蟻人間 ◆T6xkBnTXz7B0 2019/08/04(日)21:08 ID:QRYqe1Xw(1) AAS
外部リンク:katahiromz.web.fc2.com
Win32の人、使ってみてね。便利だよ。
244: 2019/08/05(月)13:40 ID:NOA3rn3w(1) AAS
グロ中尉
245
(1): 2019/08/07(水)11:59 ID:6nD1xIcw(1/2) AAS
現在、AddFontResourceとRemoveFontResourceを使って
プログラムからフォントを登録して使っています。
でもこの方法だと、RemoveFontResourceを呼んでも
システムを再起動しないと登録されたままになってしまいます。
その間はフォントファイルも削除できないです。
どうにかプログラム使用時だけフォントを有効にする方法はないでしょうか?
プログラム終了すれば登録されたフォントも登録解除されるような方法がいいです。
246
(1): 2019/08/07(水)12:59 ID:u0NlqDQ2(1) AAS
>>245
ドキュメントを読むとWM_FONTCHANGEをブロードキャストする必要があるらしいけどやってる?
もしくはAddFontResourceExでFR_PRIVATEを指定すると
> When the process terminates, the system will remove all fonts installed by the process with the AddFontResourceEx function
とあるからそれに頼るのもありかも
247: 2019/08/07(水)13:05 ID:6nD1xIcw(2/2) AAS
>>246
AddFontResourceExでFR_PRIVATE指定でもしかするといけるかもしれませんね!
試してみます。ありがとうございます。
248: 2019/09/05(木)10:39 ID:qYKhXOia(1/4) AAS
質問させてください。

日本語の Windows10 で、Windows Explorer のアドレスバーに
日本語で「デスクトップ」とだけ入力してエンターキーを押すとデスクトップに移動できます。
他にも、「ドキュメント」「ピクチャ」「ダウンロード」「3D オブジェクト」「OneDrive」など
いくつかの単語が特定のフォルダーと関連付けられていますが、
この対応をプログラムで調べる方法はありますでしょうか。

例えば SHGetFileInfo を使えばデスクトップのフルパスから
「デスクトップ」という日本語の display name を得ることはできますが、
SHGetFileInfo では上記のような関連付けの有無は判定できませんし、
そもそもフルパスから日本語名を得るのではなくその逆をしたいので、
省3
249
(1): 2019/09/05(木)10:44 ID:Cn2xW5Dx(1/2) AAS
内部で対応表持たせるしかないだろ
250
(1): 蟻人間 ◆T6xkBnTXz7B0 2019/09/05(木)11:22 ID:sYiofqED(1) AAS
SHGetLocalizedNameという関数が日本語パス名を返すみたいだが、逆はない。

SHGetSpecialFolderLocation/SHGetSpecialFolderPathで特殊フォルダのパス名を取得し、
SHGetLocalizedNameで日本語パス名を取得する。
それで対応表を作るといいだろう。
251
(1): 2019/09/05(木)11:23 ID:A2EHupI7(1/2) AAS
それは対応表作るにしても結構苦労するよ
例えば俺のWin10のユーザフォルダの中を見ると
同じフォルダ内にドキュメント、と、ピクチャ、が二つずつあったりする
ディスプレイネームが同じでITEMIDLISTが違うアイテムが
同一フォルダに複数存在してたりする環境もあるって事
俺の場合は片方はOneDriveでもう一つはローカル用
同じ名前で同じフォルダ
だから単にドキュメントといってもどっちの事か分からんwwwという事態に
苦労するよ、それ
252
(1): 2019/09/05(木)11:28 ID:A2EHupI7(2/2) AAS
てか、同じ名前のアイテムを同一フォルダに突っ込むWindowsが糞仕様なんだけど
普通に使う分にもどっちがどっちか分からんでムカつく
OneDriveの方は「ドキュメント(OneDrive)」とか区別付く名前にしとけよ
それかOneDriveっていうフォルダ掘ってその下に配置しろよ
同じ名前のアイテムが同じフォルダにあると混乱することぐらい分かるだろ糞
253: 2019/09/05(木)12:28 ID:ug+Xr8Ig(1) AAS
独り言はチラ裏へ
254
(1): 2019/09/05(木)12:29 ID:Cn2xW5Dx(2/2) AAS
アクセス履歴見ながら対応表を順次変更すりゃいい
そういうのはアイデア次第でどうとでもなる
255: 2019/09/05(木)12:30 ID:qYKhXOia(2/4) AAS
>>249
レスどうもありがとうございます。
他の方のレスを拝見してみても、やっぱりなかなか難しそうですね。

>>250
大変有用な情報どうもありがとうございます。この方針が一番現実的そうですね。
SHGetSpecialFolderLocation/SHGetSpecialFolderPath は
CSIDL しか受け付けなくて、「3D オブジェクト」のように CSIDL がないフォルダもあるので、
CSIDL の代わりに GUID が使える SHGetKnownFolderIDList を使おうと思います。
ただいずれにしても、どのフォルダの CSIDL/GUID を指定するかは
プログラムの段階で決めないという認識で正しいでしょうか?
省10
256
(1): 2019/09/05(木)12:39 ID:qYKhXOia(3/4) AAS
>>252 >>254
レスどうもありがとうございます。
確かに Windows のフォルダ階層の仕組みは少し分かりにくいところがありますが、
今回の件についてはその問題はあまり関係なくて、
ちょっと誤解を与えてしまっている気がするので改めてやりたいことを説明させていただきます。

エクスプローラでは、今どのフォルダを開いているかにかかわらず、
アドレスバーに単に「デスクトップ」とだけ入力してエンターキーを押せばデスクトップに移動できます。
つまり、エクスプローラーの中では「デスクトップ」という単一の単語とデスクトップのフルパスとが
対応付けられているということになります。そして私は、この対応表を取得したいと考えております。
257: 2019/09/05(木)13:04 ID:REbzCKHr(1/2) AAS
質問です。

ファイルに関連付けされている実行ファイルパスを取得するのに
FindExecutable()やAssocQueryString()を使っているのですが、
一部関連付けが取得できません。

どうやら関連付け先の実行ファイルの種類がWindowsパッケージ(デスクトップ)版と
ストアアプリ版とでは動作が異なるらしく、パッケージ版は上記APIで取得できる
ようですがストアアプリ版は取得できないようです。

仕方がないのでレジストリを直接たどる方法を模索しているのですが、
パッケージ版は分かるのですがストアアプリ版がよく分りません。

自分で調べた限りでは、HKCR\{拡張子}\OpenWithProgidsのREG_NONE型の{名前}
省2
258: 2019/09/05(木)13:05 ID:REbzCKHr(2/2) AAS
(つづき)
実際に.pdfがedgeに関連付けられていて上記APIでは取得できない環境
においてレジストリをたどると
 \HKCR\.pdf\OpenWithProgids
のREG_NONE型の名前「AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723」を元に
 \HKCR\AppXd4nrz8ff68srnhf9t5a8sbjyar1cr723\Application
のApplicationNameまではたどり着きました。

しかしこれに設定されている文字列が
 @{Microsoft.MicrosoftEdge_44.18362.329.0_neutral__8wekyb3d8bbwe?ms-resource://Microsoft.MicrosoftEdge/Resources/AppName}
となっています。
省3
259
(1): 2019/09/05(木)13:11 ID:d3q2zCXJ(1/2) AAS
>>256
試しにmspaintと入力してエンター押したらペイントが起動しない?
と言う事は入力が日本語ならC:\Users\<ユーザー名>\この中の対応するフォルダを開く
とか内部でやってるんじゃないかな

英語の場合はLoadLibraryと同じように
Explorer.exeと同じディレクトリ
Explorer.exeのカレントディレクトリ
システムディレクトリ
Windowsディレクトリ
環境変数のPATHに指定されてるディレクトリ
省1
260: 2019/09/05(木)13:14 ID:d3q2zCXJ(2/2) AAS
英語とか日本語とか関係なかったねw
261
(1): 2019/09/05(木)22:24 ID:qYKhXOia(4/4) AAS
>>259
レスありがとうございます。お返事が遅くなってしまい申し訳ないです。

> 試しにmspaintと入力してエンター押したらペイントが起動しない?
本当ですね!
しかし一方で、C:\Users\<ユーザ名>\AppData というフォルダはあるのに
アドレスバーに AppData と入力してエンターを押しても期待通りの動作はせず、
なかなかルールは複雑みたいです。

また、日本語環境ではアドレスバーに「Desktop」と入力してエンターを押しても
期待される動作にはならず、「デスクトップ」でなければならないようなので、
やはりシステムの言語設定は関係あるように思われます。
省9
262
(1): 蟻人間 ◆T6xkBnTXz7B0 2019/09/05(木)22:38 ID:oF7lOGXi(1) AAS
レジストリにAppPathという設定もあるぞ。
263
(1): 2019/09/06(金)19:55 ID:H/ygVIaK(1/3) AAS
AA省
264
(1): 2019/09/06(金)20:02 ID:H/ygVIaK(2/3) AAS
いくつか気付いた事を報告 その2/2

・ここまでの間に気付いた事
アドレスバーに「コ」と入力すると
 コントロール パネル
 コンピュータ
 コンピュータの簡単操作センター
この3つの入力候補が現れたけど
入力候補が表示されるのとされないのもあった

あと日本語・英語混在(sendto recent)でさらに混乱させる事になってしまったかもしれないw
265
(1): 2019/09/06(金)20:40 ID:H/ygVIaK(3/3) AAS
ドキュメントがDocumentsの表示になった時の直し方で
LocalizedResourceNameが出てくるからそれをヒントにするのもいいかもしれない
266
(1): 2019/09/06(金)23:22 ID:ZBxclhCf(1) AAS
>>262
コメントどうもありがとうございます。
色々とレジストリにもヒントが隠れてそうなので調べてみたいと思います。

>>263-265
大変有用な情報どうもありがとうございます。
書いていただいた内容を見ながら実験してみて分かったこととして、
問題のアドレスバーの挙動は環境によって相当にブレがあるようです。

私の環境(Windows 10 Pro)では、
>>263 に書いていただいた文字列のうち
「recent」「コンピュータ(ちなみにコンピュータ『ー』もダメ)」は
省13
267: 2019/09/07(土)09:05 ID:/U7tKF4y(1) AAS
>>266
10の場合はコンピュータがPCに変わったんだと思う
268: 2019/09/07(土)09:58 ID:dh6f1+zl(1) AAS
これはひどい
269: 2019/09/07(土)13:40 ID:LGCtCXOo(1) AAS
デフォルトで用意されている日本語のフォルダ名を英語に戻す
外部リンク:laboradian.com

11個の日本語名になっているフォルダ

日本語名のフォルダには、desktop.ini という隠しファイルがある
270: 2019/09/12(木)18:25 ID:h3dV0Q14(1) AAS
Win32アプリのバージョンリソースについての質問です。
自作アプリの1.0.0をリリースした後、1.1.0を作成中にベータ版を出す場合、
リソースのFILEVERSIONやPRODUCTVERSIONはどのように記述するのがよいのでしょうか。

1,1,0,0は、1.1.0の正式版に使いたいのですが、これより大きい値を付けるのも変だし、
数字以外の文字は入力できないようなので。
271
(1): 2019/09/12(木)19:23 ID:WE18f4SS(1) AAS
1.0.0.1とかはあかんの?
272
(1): 2019/09/12(木)19:48 ID:5JZ2mwNb(1) AAS
好きにしろよww
自作アプリなんて俺は1.0も1.1も2.0もみんなβだから1.00から0.01刻みで増やしてる
昔はカスタムビルドステップでビルド番号もつけてたけど今はやってない
273
(2): 2019/09/12(木)20:46 ID:igJ/H+nC(1) AAS
ちょろめとかふぃれふぉxはメジャーの数字上げ過ぎてひどいことになってるな
ばかなんですかね
274: 2019/09/13(金)10:15 ID:wKEqF87n(1) AAS
1.1.0.α
1.1.0.β
1.1.0.γ
275: 2019/09/13(金)10:18 ID:ud7Tmahn(1) AAS
1.0.0.01
1.0.0.011
1.0.0.0111
1.0.0.01111
276
(1): 2019/09/13(金)11:29 ID:aNvomMID(1) AAS
>>271
> 1.0.0.1とかはあかんの?
やっぱりこれが妥当なんですかね。
他のアプリのベータ版も見てみたいとは思うのですが。

秀丸エディタは、ベータ版は4桁目を増やし続けて、リリース版には99を入れてました。
1.1.0.99が1.1.0のリリース版という法則でした。

> 1.1.0.α
> 1.0.0.01
FILEVERSIONやPRODUCTVERSIONには、αや01は入力できないです。
必ず4つの数字を入れないと、勝手に0が入ってしまいますし。
277: 2019/09/13(金)12:49 ID:IRP8OWhI(1) AAS
昔、同僚にクラス設計やコメントの書式にやたら拘る奴がいたの思い出した
綺麗なソースコード書いてたけど、まったく動かないゴミですぐ職場から消えたわw
278: 2019/09/13(金)12:54 ID:NSArXc0X(1) AAS
そういう人って恋人も見た目重視にしてそう
ソースコード(見た目)って意味で
279: 2019/09/13(金)17:47 ID:+RoIj51L(1) AAS
>>276
所詮決め事なんで>>272の言うとおり好きにしてくださいって話だけど
良くありがちなのは

メジャーバージョン.マイナーバージョン.ビルドバージョン

みたいな
メジャーバージョンはアーキテクチャとかUIの大きな変更とかユーザから見ても
変更されたことが分かるような場合
マイナーバージョンは単機能追加とかバグ修正などユーザから一見分からない
ような軽微な変更の場合
ビルドバージョンは作業途中の状態を管理するための連番や単一作業の区切りを
省11
280: 2019/09/13(金)17:52 ID:xaEp9cr2(1) AAS
>>273 さんはそんなこと言われなくても判ってて書いてるだろ
281
(1): 2019/09/13(金)23:06 ID:ZW8mwhnp(1/2) AAS
INVALID_HANDLE_VALUEってマジで糞だよな
うっかりしてると失敗したときNULLが返ってくるって勘違いするというか
ボーッとしてるとそういうコード書いちまうことがある
大概のAPIでは失敗したときNULLが返ってくるってのもある
混在いやん
282: 2019/09/13(金)23:10 ID:ZW8mwhnp(2/2) AAS
あと、なんでINVALID_HANDLE_VALUEが必要になったのか技術的な背景が気になる
普通に0を返しとけばいいじゃん、って思うよね
他のAPIがそうなってるんだから

283: 2019/09/13(金)23:49 ID:xZuGkTzd(1) AAS
お前だけじゃボケ
284
(1): 2019/09/14(土)00:13 ID:n9TGnnZi(1) AAS
>>281
どんなAPIでも最低限の仕様確認してから使えよ
285: 2019/09/14(土)03:06 ID:BTqGkHHG(1/5) AAS
しかしそれらを超越した次元で総合的に判断してやっぱりINVALID_HANDLE_VALUEは糞
必要ないからな
286
(1): 2019/09/14(土)03:09 ID:ztnZ3eZq(1) AAS
The Old New Thingにあったな
外部リンク:devblogs.microsoft.com
287: 2019/09/14(土)05:42 ID:MJsGg5EL(1) AAS
>>284
それは論点が違う
マジで糞かどうかだろうが
285はちゃんと自分なりの見解を言っているし
286は情報提供している
お前だけとかくだらんことしか言わんボーガスとは次元が違う

16bit時代は低コストに拘るあまり
色々とアホなことをしていた
その名残を糞って言えないやつも糞だ
288
(2): 2019/09/14(土)10:06 ID:TUFMAlcF(1/2) AAS
ComboBoxはCB_ERRがある
ListBoxはLB_ERRがある

ListViewはただの-1で定義無し
LV_ERRじゃないのはなんで?
289: 2019/09/14(土)11:02 ID:BTqGkHHG(2/5) AAS
>>286読んで思い出したが
そうそうHANDLEのスマポ作るときにウザいんだよな
既定の初期値を何にしておくかって問題があるからな!
ああ糞だ
290: 2019/09/14(土)11:26 ID:BTqGkHHG(3/5) AAS
後HANDLEのスマポのデストラクタでCloseHandleするとき
失敗したり何も入ってなかったり
無効なハンドルの場合はCloseHandleしないようにする場合も嫌らしい
無効なハンドルを表す値が二つ有るからな!!
if( handle && handle != INVALID_HANDLE_VALUE ){ ::CloseHandle( handle ); }
と書いてしまいたいところだが、本当にこれでよいのか?
それかCloseHandleに無効なハンドルを渡したときは何もしないことを期待して
if文なしで単に::CloseHandle( handle );とだけ書くか
しかしCloseHandleに無効なハンドルを渡したときの動作はMSDNには書かれてないんだよな
まぁ何もしないと思うが
291: 2019/09/14(土)11:39 ID:BTqGkHHG(4/5) AAS
ああ今調べたら、CloseHandleに無効なハンドル渡したら
GetLastErrorが汚染されるらしいな
292: 2019/09/14(土)11:51 ID:U/7wJfIU(1/2) AAS
初期化と開放とかのインターフェース作って、そのインターフェース派生でAPIアクセスしてるな
その手のはAPI直接叩くソース書くと後からコーディングミスに気付いても修正困難になるしバグの元
293: 2019/09/14(土)13:23 ID:i3tDL1ol(1/2) AAS
>>288
前者2つはOS基本機能、後者はコモンコントロールというオプション
という違いから歴史と立ち位置が違う
ついでに言えば設計から全然違うんで、定義がないのは不思議ではない
294
(1): 2019/09/14(土)13:47 ID:U/7wJfIU(2/2) AAS
どれもコモンコントロールだよ
歴史的には昔はリストビューがコモンコントロールじゃなかったかもしれないが分からない
295: 2019/09/14(土)14:05 ID:mIZ3m5oP(1/2) AAS
昔のWindowsAPIはHANDLEとポインタが別物だったのを知らん人がいるのか
296: 2019/09/14(土)14:06 ID:mIZ3m5oP(2/2) AAS
>>288
ポインタが奇数になるはずはない(キリっ
だから奇数の空間を全て別のオブジェクトに
おれ天才じゃね?って糞言語が日本にはある
297
(2): 2019/09/14(土)15:56 ID:6R0WtlX/(1) AAS
フリーのリソースエディタとAPIでGUIプログラムを作っているけど、
もう時代遅れなのかな。

みなさんは、GUIプログラムはどうやって作っていますか。
298: 2019/09/14(土)16:05 ID:BWRFT45i(1) AAS
リソースエディタなんぞ使わず全部apiからテキストエディタ上で
数値指定で作ってるんでそんな自分よりかは進んでるぞ
まあ今の時代ならvisual studio使うのが普通だろうね
299: 2019/09/14(土)16:05 ID:YkcbTkKM(1) AAS
20年前から来たのかな?
300: ◆QZaw55cn4c 2019/09/14(土)16:49 ID:1pj+LkZL(1) AAS
>>297
cygwin/mingw64 でコンパイル・リンクできるよう、リソースは手書きですね…
1-
あと 702 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.023s