- 1 名前:デフォルトの名無しさん [2019/02/27(水) 15:09:08.64 ID:6ExXwgQU.net]
- Win32APIについての質問はこちらへどうぞ。
■注意 ・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。 ・日本語版MSDN Online Libraryは不完全です。 英語版( msdn.microsoft.com/en-us/library/ )の利用推奨。 ・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。 ・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで ■過去スレ Win32API質問箱 Build124 mevius.5ch.net/test/read.cgi/tech/1510395780/ Win32API質問箱 Build123 mevius.2ch.net/test/read.cgi/tech/1475897582/ Win32API質問箱 Build122 echo.2ch.net/test/read.cgi/tech/1451988219/ Win32API質問箱 Build121 echo.2ch.net/test/read.cgi/tech/1438695290/ Win32API質問箱 Build120 echo.2ch.net/test/read.cgi/tech/1428570962/ ■関連スレ Visual Studio 2019 mevius.5ch.net/test/read.cgi/tech/1548765663/ Visual Studio 2017 Part6 mevius.5ch.net/test/read.cgi/tech/1528645068/ 【C++】 DirectX初心者質問スレ Part41 【C】 mevius.5ch.net/test/read.cgi/tech/1521786252/
- 984 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 15:57:41 ID:JsRj3KRf.net]
- >>966
他スレッドからSentされたmessageはPeekMessageで取得するのではありません。 これらのmessageはPeekMessageの内部で処理されます。
- 985 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 16:18:50.52 ID:6U0G3mdW.net]
- 他スレッドからのsendはここの図がわかりやすい
chokuto.ifdef.jp/urawaza/sendmsg.html (HSP関連の記述は読み飛ばすべし)
- 986 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 16:39:29 ID:5w+xr38c.net]
- >>967
すみませんが、その日本語は何をおっしゃっているのか分かりません。
- 987 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 16:43:57 ID:5w+xr38c.net]
- >>968
その図の意味は分かりました。 しかし、それだと他スレッドへSendMessage()した場合、 他スレッドがGetMessage()やPeekMessage()を行って、DispatchMessage() などを行わない限りは (他スレッドの)WndProc の実行が始まらないことに なります。 しかし、現実には他スレッドへのSendMessage の場合でも、他スレッドで Get, Peek, Dispatch が全く実行されてなくても、WndProc は 実行されると思います。
- 988 名前:デフォルトの名無しさん [2020/03/10(火) 18:18:36.62 ID:X+eVfRrs.net]
- そだね
- 989 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 18:42:02 ID:5w+xr38c.net]
- >>970
それか、他スレッドへ SendMessage() した場合、勝手に WndProc() が call されてしまうとプログラムのデータが破壊されてしまう可能性があるので、 必ず Queue に入れてから、メッセージループの GetMessage() と DispatchMessage() を介しての実行になるのかもしれませんね。
- 990 名前:蟻人間 mailto:sage [2020/03/15(日) 10:32:57.21 ID:C2+jTQYL.net]
- メッセージキューは思ったよりも複雑な問題だ。
EternalWindowsに詳しい解説がある。 eternalwindows.jp/windevelop/message/message00.html このあたりを読んでみるとよい。
- 991 名前:デフォルトの名無しさん [2020/03/22(日) 22:07:39.51 ID:Y1m3LOPd.net]
- ファイル名の半角文字を小文字に統一したいのですが、MoveFile を使っても
大小の違いだけでは同一名と判断されてうまくいきません。 何かスマートな対策がありますでしょうか?
- 992 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 22:11:21.04 ID:vCMoGjtA.net]
- アンダーバー付きとかのファイルにリネームしてから本来のファイル名にする
- 993 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 22:14:24 ID:Y1m3LOPd.net]
- >>975
一度別のファイル名にしても、元のファイル名を覚えているようでダメでした。
- 994 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 22:32:40 ID:Y1m3LOPd.net]
- MoveFile("A.TXT","B.TXT");
getchar(); MoveFile("B.TXT","a.txt"); これなら成功するので(笑)、おそらく時間稼ぎする方法があると思うのですが。
- 995 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 22:45:46 ID:uAP5d0yV.net]
- MoveFileExでMOVEFILE_WRITE_THROUGH付ければいいんでね?
- 996 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 23:07:05 ID:Y1m3LOPd.net]
- だめでした。
- 997 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 23:19:56 ID:CUaNxsQr.net]
- >>974
MoveFile("A.txt","a.txt"); でちゃんと名前変わったんだけど うまく行かないのはコンパイラの最適化とかで無かったことにされているだけじゃないの? それともGetLastError()とかでそういうrたーが出てるの?
- 998 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 23:20:30 ID:CUaNxsQr.net]
- そういうrたーが出てるの? → そういうエラーが出てるの?
- 999 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 23:22:37 ID:vCMoGjtA.net]
- 中間ファイル名を噛ませなくてもMoveFileでいけるみたいなんだけど
表示上変わっていないだけで、最新の情報に更新したら変わったりしない?
- 1000 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2020/03/22(日) 23:23:09 ID:QaK/2gK6.net]
- 最新の情報に更新
- 1001 名前:デフォルトの名無しさん mailto:sage [2020/03/22(日) 23:37:48 ID:Y1m3LOPd.net]
- 俺環かな?と思って、Cドライブ(NTFS)に移すとうまくいきました。
Dドライブ(exFAT/USB)ではうまくいきませんでしたので仕様なんでしょうか。 お騒がせしました。ありがとうございました。
- 1002 名前:デフォルトの名無しさん [2020/03/22(日) 23:41:29 ID:wzrJAqaa.net]
- >>977
getcharじゃなくてb.txtの存在を確認汁
- 1003 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 09:36:16.44 ID:3LuOM/hB.net]
- >>984
FATだとうまくいかないよ
- 1004 名前:デフォルトの名無しさん mailto:sage [2020/03/23(月) 12:17:49.13 ID:bf1cRh+B.net]
- >>986
確か、FATは、MS-DOS時代、もともとファイル名に大文字小文字の区別が無かった。 コマンドラインからコマンド名やファイル名を小文字で入力しても、大文字のファイルが検索された。 そして、FATのディスクの中の「ディレクトリ構造」の「エントリ」には、必ず全て大文字に直した ファイル名が記録されていた。 その影響がまだ残っていることがあるようだ。
- 1005 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 23:04:44 ID:5OY2rQyy.net]
- フォントの高さの取得方法について質問があります。
現在DCに選択されているフォントの "高さ" を取得して、大学ノートの罫線のようなものを、その高さの 間隔で描画することを考えています。調べてみると GetTextExtentPoint32 というAPIがフォントのサイズを 計算してくれるようなのですが、引数に文字列が要求されます。しかし、罫線と罫線の間にどんな文字列を 描画するかは未定です。現在は適当な1文字だけ指定して高さを求めていますが、その文字よりも高さが 大きい文字が存在する場合、罫線をはみ出してしまうのではないか思います。 特定のフォントの、全ての文字を包含する高さを取得する方法はないのでしょうか。 よろしくお願いします。
- 1006 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 07:39:00.13 ID:mqwqQyFB.net]
- LOGFONT で GetObject ?
- 1007 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 17:35:52.64 ID:9OrS0ii6.net]
- >>989
ご回答ありがとうございます。 符号の違いはありますが、GetTextExtentPoint32 と同じ値が返ってくるようです。いずれも、指定した文字のサイズにかかわらず一定値が返ってくるようなので問題なさそうです。フォントの高さだけが知りたいので GetObject のほうがシンプルですね。ありがとうございました。
- 1008 名前:蟻人間 ◆T6xkBnTXz7B0 mailto:sage [2020/04/07(火) 19:03:16 ID:qBIbpTMr.net]
- https://archive.org/details/NTDocumentation/mode/2up
- 1009 名前:デフォルトの名無しさん [2020/04/07(火) 19:09:20.97 ID:G5F9VLMp.net]
- >>991
下部の他のリンクが色々あるね
- 1010 名前:デフォルトの名無しさん mailto:sage [2020/05/01(金) 21:15:57 ID:G8jCLL5C.net]
- excelVBAでシリアル通信をする為にコード例を探してきて使っています。
ポートのファイルハンドラがわからなくなった場合に強制的にポートを閉じることは
- 1011 名前:可能でしょうか。デバッグリセットかけた際に変数が初期化されてポート操作が出来なくなりました。excelを立ち上げ直すと操作可能になるので何か方法があると思うのですが []
- [ここ壊れてます]
- 1012 名前:デフォルトの名無しさん [2020/05/01(金) 21:58:30.10 ID:ZJ42fMZB.net]
- 立ち上げ直しで解放されるのはプロセスが終了するからでは?
- 1013 名前:デフォルトの名無しさん [2020/05/01(金) 22:17:30.19 ID:ZJ42fMZB.net]
- Win32API質問箱 Build126
https://mevius.5ch.net/test/read.cgi/tech/1588339011/
- 1014 名前:デフォルトの名無しさん [2020/05/03(日) 09:49:30.01 ID:zajIy9nA.net]
- うめぽよ
- 1015 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 19:29:37 ID:WJxvDkhH.net]
- UME
user method exchangeという謎の技術名を考えた 何に使うかはしらん
- 1016 名前:デフォルトの名無しさん mailto:sage [2020/05/03(日) 19:31:20 ID:n4+dE3Bb.net]
- Unknown Machine Error
- 1017 名前:デフォルトの名無しさん [2020/05/03(日) 19:41:24.49 ID:cVVrQdBT.net]
- Unrecoverable Memory Error
- 1018 名前:デフォルトの名無しさん [2020/05/03(日) 19:41:40.77 ID:cVVrQdBT.net]
- U+M*E=1000
- 1019 名前:1001 [Over 1000 Thread.net]
- このスレッドは1000を超えました。
新しいスレッドを立ててください。 life time: 431日 4時間 32分 32秒
- 1020 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|