Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build126
https://mevius.5ch.net/test/read.cgi/tech/1588339011/
Win32API質問箱 Build125
https://mevius.5ch.net/test/read.cgi/tech/1551247748/
Win32API質問箱 Build124
https://mevius.5ch.net/test/read.cgi/tech/1510395780/
■関連スレ
Visual Studio 2020 Part1 https://mevius.5ch.net/test/read.cgi/tech/1634166667/
Visual Studio 2019 Part7 https://mevius.5ch.net/test/read.cgi/tech/1634178709/
Visual Studio 2017 Part7 https://mevius.5ch.net/test/read.cgi/tech/1558179898/
【C++】 DirectX初心者質問スレ Part41 【C】 https://mevius.5ch.net/test/read.cgi/tech/1521786252/
Win32API質問箱 Build127
■ このスレッドは過去ログ倉庫に格納されています
2021/12/09(木) 21:32:56.60ID:sYLpmj89
629デフォルトの名無しさん
2023/05/03(水) 21:24:23.86ID:+bgC2i5O APIを使うだけならWin32よりWinRTの方が簡単でしょ
630デフォルトの名無しさん
2023/05/03(水) 21:27:08.93ID:XU1+7Xhm 本当にそうか?
631デフォルトの名無しさん
2023/05/03(水) 21:36:14.09ID:+bgC2i5O >>630
ウィンドウ表示するコードはこれだけ
#include <windows.h>
#include <winrt/Microsoft.UI.Xaml.h>
using namespace winrt;
using namespace Microsoft::UI::Xaml;
int WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int)
{
init_apartment();
Application::Start([](auto&&) { Application(); Window window; window.Activate(); });
return 0;
}
ウィンドウ表示するコードはこれだけ
#include <windows.h>
#include <winrt/Microsoft.UI.Xaml.h>
using namespace winrt;
using namespace Microsoft::UI::Xaml;
int WINAPI wWinMain(HINSTANCE, HINSTANCE, LPWSTR, int)
{
init_apartment();
Application::Start([](auto&&) { Application(); Window window; window.Activate(); });
return 0;
}
632デフォルトの名無しさん
2023/05/04(木) 00:16:09.16ID:4Uvo6CUb ラッパー系は手をつけにくいなあ、MFCやOWLの悪夢が蘇る
便利そうに見えて、覚えることが増えるだけだったり
見えざる制約が足枷になったり、バージョン管理が面倒だったりと
やむを得ない場合は仕方ないけど
便利そうに見えて、覚えることが増えるだけだったり
見えざる制約が足枷になったり、バージョン管理が面倒だったりと
やむを得ない場合は仕方ないけど
633デフォルトの名無しさん
2023/05/04(木) 00:34:52.44ID:qlZGMdPb WinRTってMS的にはWin32と同列の扱いだけど、WinRTは内部でWin32を使ってるのだろうか?
634デフォルトの名無しさん
2023/05/04(木) 05:10:21.07ID:P5ZkmciJ COMを焼き直して名前変えただけと言えばいいのか
ただCOMの利点だったIDispatchで適当な言語から扱うみたいな事ができないうんこです
ただCOMの利点だったIDispatchで適当な言語から扱うみたいな事ができないうんこです
635デフォルトの名無しさん
2023/05/04(木) 07:28:00.92ID:Nm4VxhU5 >>632
確かに恐ろしい部分はあるかも
確かに恐ろしい部分はあるかも
636デフォルトの名無しさん
2023/05/04(木) 07:33:59.15ID:Nm4VxhU5 WinRTはC#の情報ばかりでC++の情報が少ないから苦労するかも
その点Win32は情報が多いからいいね
その点Win32は情報が多いからいいね
637デフォルトの名無しさん
2023/05/06(土) 10:58:22.01ID:SadRj80b >>628
WaitOnAddressは利便性目的ではなく手軽さ+パフォーマンスが要点だからそうとも言えない
Thread立ち上げて立ち上げたスレッドがある地点まで到達するまで待ちたいみたいなちょっとしたシーンでは結構便利
パフォーマンス的にもイベント待ちに比べて1000倍近く早かったはず
WaitOnAddressは利便性目的ではなく手軽さ+パフォーマンスが要点だからそうとも言えない
Thread立ち上げて立ち上げたスレッドがある地点まで到達するまで待ちたいみたいなちょっとしたシーンでは結構便利
パフォーマンス的にもイベント待ちに比べて1000倍近く早かったはず
638デフォルトの名無しさん
2023/05/11(木) 18:47:03.56ID:FTM2vWjW Chromeのタイトルバーに「^」の文字を上下反転させたボタンがあって押すとミニウィンドウ的なのが開くのですが、このボタンを実装したいのですがどうしたらできますか?
Chromiumのソースコード見てもどこに該当コードがあるかわかりませんでした
c言語で実装したいです
Chromiumのソースコード見てもどこに該当コードがあるかわかりませんでした
c言語で実装したいです
639デフォルトの名無しさん
2023/05/11(木) 18:55:17.65ID:OsVl9AaP タブを検索ボタンか。ソースをTab Searchで検索すれば出てくるんじゃないの
640デフォルトの名無しさん
2023/05/11(木) 19:52:12.33ID:FTM2vWjW 検索してみました
ttps://github.com/search?q=repo%3Achromium%2Fchromium%20tab%20search&type=code
タブを開いた時の挙動などはTypescriptで書かれているようでした
ttps://github.com/chromium/chromium/blob/cd5fe35a69d697dd48ad34d5670d090afcdc57be/chrome/browser/resources/tab_search/app.ts#L560
既存のアプリにc/c++で手軽にタイトルバーにボタンをつけてポップアップウィンドウが開けてそこでボタンなどを選択できるような方法を知っていますか?
ttps://github.com/search?q=repo%3Achromium%2Fchromium%20tab%20search&type=code
タブを開いた時の挙動などはTypescriptで書かれているようでした
ttps://github.com/chromium/chromium/blob/cd5fe35a69d697dd48ad34d5670d090afcdc57be/chrome/browser/resources/tab_search/app.ts#L560
既存のアプリにc/c++で手軽にタイトルバーにボタンをつけてポップアップウィンドウが開けてそこでボタンなどを選択できるような方法を知っていますか?
641デフォルトの名無しさん
2023/05/11(木) 20:34:55.74ID:Tud0+/yk 手軽ではないと思うが DwmExtendFrameIntoClientArea を使えばできそう
https://learn.microsoft.com/ja-jp/windows/win32/dwm/customframe
https://learn.microsoft.com/ja-jp/windows/win32/dwm/customframe
642デフォルトの名無しさん
2023/05/16(火) 23:21:04.68ID:bBMeTJtZ LoadLibraryに渡されたlpLibFileName引数をどうにか呼ばれたdllmainから取得する事って出来ないかな
32bitならスタックフレーム遡ってLdrLoadDllを呼んだところの第3引数のスタックのUNICODE_STRINGから手に入れる事に成功したが
64bitだとfastcallになっちゃって第4引数まではレジスタ渡しされるからこの手法も通用しなくて詰んだ
kernel32やntdllのアセンブラ決め打って取得することは出来るだろうけどそこまではしたくない
32bitならスタックフレーム遡ってLdrLoadDllを呼んだところの第3引数のスタックのUNICODE_STRINGから手に入れる事に成功したが
64bitだとfastcallになっちゃって第4引数まではレジスタ渡しされるからこの手法も通用しなくて詰んだ
kernel32やntdllのアセンブラ決め打って取得することは出来るだろうけどそこまではしたくない
643デフォルトの名無しさん
2023/05/16(火) 23:26:32.45ID:bBMeTJtZ ちなみになぜGetModuleFileNameではダメかというとハードリンクやシンボリックリンクのときにある条件下においてlpLibFileNameとGetModuleFileNameで一致しないケースが出てくるため
644デフォルトの名無しさん
2023/05/17(水) 01:27:34.09ID:LUtEOwg/ >>643
その >ある条件下 で
TCHAR PathBuffer[BUFFSIZE];
GetMappedFileName (GetCurrentProcess(), (void *)hModule_DLL, PathBuffer, BUFFSIZE);
で、lpLibFileNameと同じパス(NT形式)が返ってくる?それともエラー?
試してないので結果を教えて
その >ある条件下 で
TCHAR PathBuffer[BUFFSIZE];
GetMappedFileName (GetCurrentProcess(), (void *)hModule_DLL, PathBuffer, BUFFSIZE);
で、lpLibFileNameと同じパス(NT形式)が返ってくる?それともエラー?
試してないので結果を教えて
645デフォルトの名無しさん
2023/05/17(水) 09:18:00.69ID:J+vPZ/2W >>644
GetMappedFileNameだとリンク先の実体ファイル名が返ってきた
ある条件下というのは既に同じリンク先のdllがロード済みの場合に違う名前のリンクからロードしようとすると同一の物と判定され先客の方のhModuleが帰ってくるためGetModuleFileNameも先にロードしたほうの名前になる
C:\mod.dll ← 実体
C:\link0.dll ← シンボリックリンク
C:\link1.dll ← シンボリックリンク
最初にC:\link0.dllをLoadLibraryした場合、以降C:\link1.dllをロードしGetModuleFileNameをしてもC:\link0.dllが帰ってくる
GetMappedFileNameだと常にC:\mod.dllだった
GetMappedFileNameだとリンク先の実体ファイル名が返ってきた
ある条件下というのは既に同じリンク先のdllがロード済みの場合に違う名前のリンクからロードしようとすると同一の物と判定され先客の方のhModuleが帰ってくるためGetModuleFileNameも先にロードしたほうの名前になる
C:\mod.dll ← 実体
C:\link0.dll ← シンボリックリンク
C:\link1.dll ← シンボリックリンク
最初にC:\link0.dllをLoadLibraryした場合、以降C:\link1.dllをロードしGetModuleFileNameをしてもC:\link0.dllが帰ってくる
GetMappedFileNameだと常にC:\mod.dllだった
646644
2023/05/17(水) 10:25:43.22ID:fHvb3D7j647デフォルトの名無しさん
2023/05/18(木) 10:34:13.93ID:gc1pBp/r pe iat import address table
辺りを弄れば
鶏卵かもしらんけど
辺りを弄れば
鶏卵かもしらんけど
648デフォルトの名無しさん
2023/05/18(木) 12:21:08.02ID:Wn2vmhFl load されたときの名前からパラメータ参照ファイルな .ini ファイルの名を変えたいって感じなのかな?
>>645 のケースだと
C:\link0.dll でロードした場合には C:\link0.ini を参照し
以降 C:\link1.dllをロードした場合には C:\link1.ini を参照したい と
この場合 単に同じ実体でリンクカウントが1増えるだけであっても区別したい ということか
>>645 のケースだと
C:\link0.dll でロードした場合には C:\link0.ini を参照し
以降 C:\link1.dllをロードした場合には C:\link1.ini を参照したい と
この場合 単に同じ実体でリンクカウントが1増えるだけであっても区別したい ということか
649デフォルトの名無しさん
2023/05/18(木) 12:49:23.99ID:gc1pBp/r DLLはメモリに直接ロードする方法もあるから
不正を正したいって意図なら無力だよ
不正を正したいって意図なら無力だよ
650デフォルトの名無しさん
2023/05/18(木) 23:43:11.96ID:qdON7ber 1. FindFirstFileでリンクか実体かを判定
2. VirtualAllocExで実行可領域のメモリを確保
3. ReadFileでDLLを読み込む
4. PEヘッダのIMAGE_OPTIONAL_HEADER64.ImageBase+IMAGE_SECTION_HEADER.VirtualAddressに各セクションをコピー
5. DLL内のImportLibraryを同じ手順で再帰的にロード
6. DLL_PROCESS_ATTACHとDLL_THREAD_ATTACHでDllMain呼び出し
2. VirtualAllocExで実行可領域のメモリを確保
3. ReadFileでDLLを読み込む
4. PEヘッダのIMAGE_OPTIONAL_HEADER64.ImageBase+IMAGE_SECTION_HEADER.VirtualAddressに各セクションをコピー
5. DLL内のImportLibraryを同じ手順で再帰的にロード
6. DLL_PROCESS_ATTACHとDLL_THREAD_ATTACHでDllMain呼び出し
651デフォルトの名無しさん
2023/05/19(金) 14:28:26.73ID:FHSnxikS Win32APIのGUIに著作権ってある?
自分用ならまぁ好きにしたらって程度だと思うけど
ボタンとか目コピで丸パクリしてアプリケーションとして配布したらダメなのかな
自分用ならまぁ好きにしたらって程度だと思うけど
ボタンとか目コピで丸パクリしてアプリケーションとして配布したらダメなのかな
652デフォルトの名無しさん
2023/05/19(金) 14:50:21.97ID:D8eITJ2Q 腐ったバナナの皮ですらアートとして認められるからな
許諾なしなら著作持ってる奴次第
許諾なしなら著作持ってる奴次第
653デフォルトの名無しさん
2023/05/19(金) 20:19:56.03ID:c7UfD3kr ReactOSはかなり似てるけどね
アイコンはTangoのを使ってるけど、形的なものはそっくりだな
テーマ機能があるから、訴えられても簡単に変えられるし、大した問題でもないが
アイコンはTangoのを使ってるけど、形的なものはそっくりだな
テーマ機能があるから、訴えられても簡単に変えられるし、大した問題でもないが
654デフォルトの名無しさん
2023/05/19(金) 20:39:13.36ID:OUfVoMDF https://monolith-law.jp/corporate/design-ui-copyright-law
レイアウトや色の使い方ぐらいじゃ侵害にはならないだろうって判断と
あとは「思想又は感情を創作的に表現」したものであるかが関わる
それと著作権法に触れなくても意匠法にに触れる場合はあるとさ
>>651
複雑なデザインのボタンがあってそれを丸コピしたなら危ないけど
WinAPI程度のボタンだと「レイアウトや色の使い方」の範疇に思う
レイアウトや色の使い方ぐらいじゃ侵害にはならないだろうって判断と
あとは「思想又は感情を創作的に表現」したものであるかが関わる
それと著作権法に触れなくても意匠法にに触れる場合はあるとさ
>>651
複雑なデザインのボタンがあってそれを丸コピしたなら危ないけど
WinAPI程度のボタンだと「レイアウトや色の使い方」の範疇に思う
655デフォルトの名無しさん
2023/05/19(金) 20:46:16.58ID:IeFHnOxn656デフォルトの名無しさん
2023/05/19(金) 22:40:34.19ID:9QPyu6+L 悪目立ちしなきゃ大丈夫って感じかな
どうもありがとう
素直に使いこなせれば変なことしなくていいんだけど
どうもありがとう
素直に使いこなせれば変なことしなくていいんだけど
657デフォルトの名無しさん
2023/05/20(土) 13:22:54.16ID:QfLlK72x >>654
Windows自体がMotifのパクリ
Windows自体がMotifのパクリ
658デフォルトの名無しさん
2023/05/20(土) 15:28:47.38ID:GL6RWJiS あの立体的に飛び出たボタンは誰が最初にやったかを少し調べてみたら、やっぱりMotifが最初にやった可能性が高いな
Windowsも旧Mac OSもMotifより前にリリースされてるけど、ボタンは黒い線で縁取られてるだけだからね
Motifがリリースされた1989年の直後、1990年にWindows3.0がリリースされてボタンが立体的になった
ただ、リリース直後のMotifの見た目は確認出来なかった
Windowsも旧Mac OSもMotifより前にリリースされてるけど、ボタンは黒い線で縁取られてるだけだからね
Motifがリリースされた1989年の直後、1990年にWindows3.0がリリースされてボタンが立体的になった
ただ、リリース直後のMotifの見た目は確認出来なかった
659デフォルトの名無しさん
2023/05/21(日) 05:50:22.86ID:wNzdA/GS 誰も突っ込まないけどWin32APIのGUIってなんだよ?
660デフォルトの名無しさん
2023/05/21(日) 09:39:48.68ID:WLjUQB8s GDI32.DLL
つうかWindowsはGUIだろ
つうかWindowsはGUIだろ
661デフォルトの名無しさん
2023/05/21(日) 12:08:47.18ID:+3uTL0QF 面倒なことしなくてもDLLからアイコンロードすればいいんだけどな
662デフォルトの名無しさん
2023/05/21(日) 15:30:11.58ID:4p2tw/ut >>659
CreateWindow()とか知らないの?
CreateWindow()とか知らないの?
663デフォルトの名無しさん
2023/05/21(日) 17:54:29.28ID:BWx6f6vD CreateWindow() のどこがGUIなんだって話なんだけど。
GUIを構成するためのAPIの一つではあるがGUIと言われても違和感しかない。
GUIを構成するためのAPIの一つではあるがGUIと言われても違和感しかない。
664デフォルトの名無しさん
2023/05/21(日) 18:18:37.48ID:Ifo/fxoU 皆行間読んで回答してるんだよ
そういうのを読み取れずにいちいち突っかかってくるお前に違和感しかないわ
そういうのを読み取れずにいちいち突っかかってくるお前に違和感しかないわ
665デフォルトの名無しさん
2023/05/21(日) 20:46:54.79ID:BWx6f6vD 行間が読み取れてないわけでも突っかかったわけでもなくて
気になる人いないの?って問うただけなんだけどね。
気になる人いないの?って問うただけなんだけどね。
666デフォルトの名無しさん
2023/05/21(日) 20:55:29.63ID:hFZuZI8a GUIじゃなくてGUIパーツね
それを指摘してどうすんの?
それを指摘してどうすんの?
667デフォルトの名無しさん
2023/05/21(日) 21:06:29.15ID:WLjUQB8s GUIのデザインパクっていいっすか?だろ?
左上にシステムメニューと閉じるボタン
右上にアイコン化、全画面化がWindows3.1のGUIだ
左上にシステムメニューと閉じるボタン
右上にアイコン化、全画面化がWindows3.1のGUIだ
668デフォルトの名無しさん
2023/05/21(日) 22:29:14.29ID:5ynrmfbS よく読めよ
ボタンのビットマップとかのGUIパーツについて言ってるだろ
GUIのメソッドについてはパクるまでもなくAPI呼び出せば自然にそうなるから
ボタンのビットマップとかのGUIパーツについて言ってるだろ
GUIのメソッドについてはパクるまでもなくAPI呼び出せば自然にそうなるから
669デフォルトの名無しさん
2023/05/22(月) 00:44:58.78ID:Ff1Yirur それwin32api関係なくね?
670デフォルトの名無しさん
2023/05/22(月) 02:26:03.44ID:Zf+cjPeC comctl32もwin32apiだと思う
671デフォルトの名無しさん
2023/05/22(月) 11:33:40.49ID:Omf9ofNg Win32API の話ならム板
Win32API の著作権の話ならマ板
Win32APIのGUI?(ツールのデザイン)? の著作権の話なら著作権板
だろうな
遠すぎる
Win32API の著作権の話ならマ板
Win32APIのGUI?(ツールのデザイン)? の著作権の話なら著作権板
だろうな
遠すぎる
672デフォルトの名無しさん
2023/05/22(月) 22:29:16.30ID:DLlnfzHn うるせー馬鹿
673デフォルトの名無しさん
2023/06/01(木) 18:53:13.24ID:hCiag/wO winsqlite3って勝手に最新版のsqlite3でstdcallにしてコンパイルして上書きしても問題起こらないんかな
674デフォルトの名無しさん
2023/06/06(火) 23:10:55.17ID:VJFPZJIc テキストカーソルインジケーターをアプリに組み込みたいんですが、どこかにサンプルコードないですか?
675デフォルトの名無しさん
2023/06/06(火) 23:42:13.94ID:kMZUPc/s677蟻人間 ◆T6xkBnTXz7B0
2023/06/06(火) 23:50:08.39ID:XV1AZyoR システム標準のキャレットを使うならCreateCarat、ShowCaratなどを使う。
https://learn.microsoft.com/ja-jp/windows/win32/menurc/using-carets
https://learn.microsoft.com/ja-jp/windows/win32/menurc/using-carets
678デフォルトの名無しさん
2023/06/07(水) 13:08:22.78ID:xTW5tL3j >XOR
灰色背景だと見えなくなるから賛同できないわ
灰色背景だと見えなくなるから賛同できないわ
679デフォルトの名無しさん
2023/06/07(水) 13:24:44.47ID:RsLfWKsz 標準のエディットコントロール内に居るキャレットって XOR 描画してるよね
680デフォルトの名無しさん
2023/06/07(水) 15:03:13.28ID:BwWz5oN8 たいていは白色がテキスト入力で灰色は入力不可の部分だからいんじゃない
681デフォルトの名無しさん
2023/06/07(水) 23:21:33.35ID:HdTy5x+f 読み取り専用とかで灰色背景はよくあるけど
682デフォルトの名無しさん
2023/06/08(木) 21:52:05.26ID:xczGeZ8q キャレットもそうだけど、最近なんか範囲選択表示で、半透明の矩形上に重ねるだけのエディタ多くね?
あれ見づらいんだよなぁ・・・フルスクラッチで作るなら確かに横着できて楽なんだろうけど
あれ見づらいんだよなぁ・・・フルスクラッチで作るなら確かに横着できて楽なんだろうけど
683デフォルトの名無しさん
2023/06/08(木) 22:08:34.87ID:asQ3aAAN エディットコントロール自作はやめたほうがいい
IMEが機能してるように見えても、音声入力や音声入力編集、読み上げで制限があるのが大半だから
キャレットもOSの強調表示機能があるし、知らないところで多機能を要求される
IMEが機能してるように見えても、音声入力や音声入力編集、読み上げで制限があるのが大半だから
キャレットもOSの強調表示機能があるし、知らないところで多機能を要求される
684デフォルトの名無しさん
2023/06/09(金) 00:33:21.65ID:HaYoNzhW 自作エディットコントロールわざわざ作るときって巨大ファイル編集したいとかじゃないの
OSが勝手に後付けしたアクセシビリティ機能とか知らんでいいよ
OSが勝手に後付けしたアクセシビリティ機能とか知らんでいいよ
685デフォルトの名無しさん
2023/06/09(金) 06:30:59.27ID:J1Oq+Y/w >>684
縦表示も独自実装、フルスクラッチでないけど
縦書きエディタTATEditorはwxWidgetsカスタムのようだ
https://qiita.com/496_/items/ebfb1e5eefaa9aa8f5bf
https://www.youtube.com/watch?v=_qnk_fNQvCo
縦表示も独自実装、フルスクラッチでないけど
縦書きエディタTATEditorはwxWidgetsカスタムのようだ
https://qiita.com/496_/items/ebfb1e5eefaa9aa8f5bf
https://www.youtube.com/watch?v=_qnk_fNQvCo
686デフォルトの名無しさん
2023/06/09(金) 06:34:59.04ID:J1Oq+Y/w 老舗エディタ(mifes, em)は巨大ファイル対応
これが異彩を放ってる
小さいメモリ(100MB以下)で大規模テキストファイル(5TB以上、2兆5000億行以上)を編集できる世界唯一の超巨大テキストエディター
https://szkwjp.サクラ.ne.jp/
https://i.imgur.com/isKK2x5.png
これが異彩を放ってる
小さいメモリ(100MB以下)で大規模テキストファイル(5TB以上、2兆5000億行以上)を編集できる世界唯一の超巨大テキストエディター
https://szkwjp.サクラ.ne.jp/
https://i.imgur.com/isKK2x5.png
687デフォルトの名無しさん
2023/06/09(金) 06:41:25.43ID:J1Oq+Y/w Meryもdelphi製コントロールをヘビーカスタムしてたと思う
http://www.haijin-boys.com/
http://www.haijin-boys.com/
688デフォルトの名無しさん
2023/06/09(金) 06:44:24.60ID:J1Oq+Y/w689デフォルトの名無しさん
2023/06/09(金) 06:46:39.63ID:J1Oq+Y/w アクセシビリティ機能が要らない前提なら沢山あるね
690デフォルトの名無しさん
2023/06/09(金) 21:43:38.94ID:KphHYdc7 >>686
emEditor世話になっているけど意外に保存遅いんだな
まぁ頻繁に保存するような用途じゃないんだけど
そういや日本語フォント最速表示って今なんなんだろう、DirectWrite?
アルファベットなら予めテクスチャに全部落とせばいいんだろうけど
emEditor世話になっているけど意外に保存遅いんだな
まぁ頻繁に保存するような用途じゃないんだけど
そういや日本語フォント最速表示って今なんなんだろう、DirectWrite?
アルファベットなら予めテクスチャに全部落とせばいいんだろうけど
691デフォルトの名無しさん
2023/06/09(金) 22:38:21.40ID:9anYwuVY >>686,688はフリーじゃない
>>690
>意外に保存遅い
emEditorは今でも活発に最適化に努めてるから最新ではどうなのか不明
飽くなき高速化への挑戦! 「EmEditor」はマルチスレッド・SIMD命令・仮想メモリをフルに使って進化
https://forest.watch.impress.co.jp/docs/special/1483714.html
freetypeが早いけどDWはOSがキャッシュしてくれる(ctfmon.exe)のが有利
harfbuzzもラスタライズしてくれるけどbitmapヒンティング切捨て、速度は不明
GDIはカラー絵文字ないから新規では厳しい
古い記事だけど 2017-05-21 GDI vs DirectWrite vs FreeType
https://i.imgur.com/8nDxIa3.png
https://silight.ハテナblog.jp/entry/2017/05/21/220505
TATEditorはfreetype (本来の速度より遅い気がする)
MeryはDW選択可能
今のnotepadはDWだと思うけどパラメータのせいなのか、同じ日本語フォントでもMeryの方がキレイ
一度気が付くと気になって仕方ない
>>690
>意外に保存遅い
emEditorは今でも活発に最適化に努めてるから最新ではどうなのか不明
飽くなき高速化への挑戦! 「EmEditor」はマルチスレッド・SIMD命令・仮想メモリをフルに使って進化
https://forest.watch.impress.co.jp/docs/special/1483714.html
freetypeが早いけどDWはOSがキャッシュしてくれる(ctfmon.exe)のが有利
harfbuzzもラスタライズしてくれるけどbitmapヒンティング切捨て、速度は不明
GDIはカラー絵文字ないから新規では厳しい
古い記事だけど 2017-05-21 GDI vs DirectWrite vs FreeType
https://i.imgur.com/8nDxIa3.png
https://silight.ハテナblog.jp/entry/2017/05/21/220505
TATEditorはfreetype (本来の速度より遅い気がする)
MeryはDW選択可能
今のnotepadはDWだと思うけどパラメータのせいなのか、同じ日本語フォントでもMeryの方がキレイ
一度気が付くと気になって仕方ない
692デフォルトの名無しさん
2023/06/10(土) 16:44:39.28ID:Yvl44ooC 昔はメモ帳やらエディットボックスが32KBだかしか開けなかったせいでちょっと長いテキスト表示したいなら自作するしかなかったし
今のエディットボックスも使いやすいというわけでもないし
今のエディットボックスも使いやすいというわけでもないし
693デフォルトの名無しさん
2023/06/10(土) 20:18:04.21ID:mnSa2udb 完全自作で良いの見つからないけどね
694デフォルトの名無しさん
2023/06/13(火) 09:51:52.60ID:meEyuUg2 禿丸
695デフォルトの名無しさん
2023/06/13(火) 10:08:02.73ID:sYfPkaoR 秀丸は1995年から今までずっと使ってる
696デフォルトの名無しさん
2023/06/13(火) 11:00:54.79ID:M8hmmq2x 4000yen
697デフォルトの名無しさん
2023/06/13(火) 16:26:23.21ID:u7AmJNUj698デフォルトの名無しさん
2023/06/14(水) 08:13:22.34ID:EjsNogN3 高校生の頃からHTML直打ち自前サイト始めたから、秀丸にはお世話になったわw
699デフォルトの名無しさん
2023/06/14(水) 23:13:37.25ID:8tGzhu5T700デフォルトの名無しさん
2023/06/19(月) 14:24:30.00ID:x2sgiUfE FindWindowで他プロセスの生存確認を行っているのですが、その該当プロセスが死んではないものの
応答無しレベルで重い場合にFindWindowがNULLを返すことはあるのでしょうか?
ここでは他プロセスのトップウィンドウを検索しています。
該当プロセスが本当に死んでるなら当然でしょうが、それ以外でNULLを返す可能性があるならば
対策をしようと思いつつも、そんな可能性がないなら無駄なのでご存じの方よろしくお願いいたします。
さっとググった感じでは、他プロセスの子ウィンドウを検索する場合は問題ありのような感じですが、
本件はそうではないですしほとんどの場合NULLではなく正常にウィンドウハンドルを返してくれています。
応答無しレベルで重い場合にFindWindowがNULLを返すことはあるのでしょうか?
ここでは他プロセスのトップウィンドウを検索しています。
該当プロセスが本当に死んでるなら当然でしょうが、それ以外でNULLを返す可能性があるならば
対策をしようと思いつつも、そんな可能性がないなら無駄なのでご存じの方よろしくお願いいたします。
さっとググった感じでは、他プロセスの子ウィンドウを検索する場合は問題ありのような感じですが、
本件はそうではないですしほとんどの場合NULLではなく正常にウィンドウハンドルを返してくれています。
701デフォルトの名無しさん
2023/06/19(月) 14:41:26.20ID:wsVmiElF 詳細なエラー情報を得るには、GetLastError を呼び出します。
702デフォルトの名無しさん
2023/06/19(月) 15:24:58.51ID:2pPxjP0B 他プロセスの生存確認はEnumProcesses()でやるべきなのでは
703デフォルトの名無しさん
2023/06/19(月) 16:12:12.17ID:x2sgiUfE704デフォルトの名無しさん
2023/06/20(火) 13:30:15.15ID:Dvlv0UV+ FindWindowで見つからないならHWNDも取れないんだし居ない者でいんじゃね
つかそこ悩むことじゃなくね
つかそこ悩むことじゃなくね
705デフォルトの名無しさん
2023/06/20(火) 14:36:54.12ID:AYb44acK >>700,703
ちなみにそのアーキテクチャはいつの設計なん?
ちなみにそのアーキテクチャはいつの設計なん?
706デフォルトの名無しさん
2023/06/20(火) 16:49:06.07ID:Dvlv0UV+ まずプロセス間通信するなら相手が居ない場合を必ず想定すべきでFindWindowの1度の呼び出しで一喜一憂すべきではない
プロセスの起動し直しも前提に数秒おきのFindWindow呼び出しポーリングはしたっていいと思うよ
メインウィンドウなんて高々数十個だしそんな負荷にならない
プロセスの起動し直しも前提に数秒おきのFindWindow呼び出しポーリングはしたっていいと思うよ
メインウィンドウなんて高々数十個だしそんな負荷にならない
707デフォルトの名無しさん
2023/06/20(火) 20:40:34.74ID:1lEw2nNB 該当プロセスを他プロセスから起動してたりするとどうなんだろ
あとFindWindowじゃなくてEnumWindowsなら拾えないことって無い印象だなぁ、ハンドルも取れるし
あまり関係ないけど、うちのクソシステムだとブラウザからサーバー上にあるエクセル開くんだけど、
Workbooksで拾えたり拾えなかったりするのよね(ExcelVBA)
あとFindWindowじゃなくてEnumWindowsなら拾えないことって無い印象だなぁ、ハンドルも取れるし
あまり関係ないけど、うちのクソシステムだとブラウザからサーバー上にあるエクセル開くんだけど、
Workbooksで拾えたり拾えなかったりするのよね(ExcelVBA)
708デフォルトの名無しさん
2023/06/21(水) 03:06:59.92ID:xVHig5c/709デフォルトの名無しさん
2023/06/21(水) 08:17:17.70ID:HzwHqkRi mutex の排他って CreateWindow する前 & メッセージループする前だから
プロセスは存在してるけど、window は無いって 中間的な状態じゃね?
プロセスは存在してるけど、window は無いって 中間的な状態じゃね?
710デフォルトの名無しさん
2023/06/21(水) 15:51:17.25ID:3v7xwtLO 100円か
711デフォルトの名無しさん
2023/06/21(水) 16:38:24.82ID:cZp0PZIW 999円かもしれないじゃないか
712デフォルトの名無しさん
2023/06/22(木) 17:55:22.58ID:Sn58Ngpo >>701
詳細なエラー情報を得るには、関数を呼び出します。
詳細なエラー情報を得るには、関数を呼び出します。
713デフォルトの名無しさん
2023/06/27(火) 10:23:32.50ID:SIPPfbqI >>710-711
お前らその金額でおいしいの?仕事してくんない?
お前らその金額でおいしいの?仕事してくんない?
714デフォルトの名無しさん
2023/07/14(金) 05:28:13.99ID:+33O6idh スクリーンセーバー作ろうぜ
715デフォルトの名無しさん
2023/07/23(日) 16:38:12.26ID:eEbrANA6 POSIXのopenatとかをWindowsで実装したいんだけど、
NtCreateFileを使えとは見るんだけど、
実際のコードは見たなことない。
gnulibから実装した方がいいのかな?
NtCreateFileを使えとは見るんだけど、
実際のコードは見たなことない。
gnulibから実装した方がいいのかな?
716デフォルトの名無しさん
2023/07/24(月) 12:54:52.49ID:IGsOjAN4 不特定多数に文字だけで意思疎通するには答えやすい尋ね方というのがあると思うが、そんなことよりスクリーンセーバー作ろうぜ
717蟻人間 ◆T6xkBnTXz7B0
2023/07/24(月) 13:10:56.94ID:72ajrVnV718デフォルトの名無しさん
2023/08/04(金) 11:13:07.90ID:2Yu2Iz7N IME のオンとオフの実装で以前は
ImmGetContext
ImmSetOpenStatus
ImmReleaseContext
の3点セットで完全にオンとオフが機能していたように記憶しているのですが
今のWindowsでは機能しないことがあります(Windows 11 Home 22H2 OS Build 22621.2070)
この原因や解決策をわかる方がいたら教えてほしいです
Windows の公式サンプルでもこの3点セットでオンオフを実装しています
github.com/microsoft/Windows-classic-samples/blob/ac06e54a15e9a62443e400fffff190fb978ea586/Samples/Win7Samples/winui/input/ime/fullime/Main.C#L237
ImmGetContext
ImmSetOpenStatus
ImmReleaseContext
の3点セットで完全にオンとオフが機能していたように記憶しているのですが
今のWindowsでは機能しないことがあります(Windows 11 Home 22H2 OS Build 22621.2070)
この原因や解決策をわかる方がいたら教えてほしいです
Windows の公式サンプルでもこの3点セットでオンオフを実装しています
github.com/microsoft/Windows-classic-samples/blob/ac06e54a15e9a62443e400fffff190fb978ea586/Samples/Win7Samples/winui/input/ime/fullime/Main.C#L237
719デフォルトの名無しさん
2023/08/05(土) 03:35:25.87ID:ZYr7i0H2 旧版MS-IMEじゃないとダメなんじゃないっけ?知らんけど
720デフォルトの名無しさん
2023/08/05(土) 09:34:20.67ID:wvUeqD5z 心配無用
Win11でなら上手く動かなくても許される
Win11でなら上手く動かなくても許される
721デフォルトの名無しさん
2023/08/14(月) 19:56:12.96ID:53r0CZc5 y=f(x)のグラフを描こうとした場合、GDIのLineTo()で書けますが
グラフとx軸の間の領域を背景とは異なる色で描画しているアプリを
見かけることがあります。
ベタにやろうとすると(x,0)から(x,f(x))までを別のペンでLineToすれば
できそうですが、それだとあまりにも遅そうなんでどのようにするのが
一般的なんでしょうか?
グラフとx軸の間の領域を背景とは異なる色で描画しているアプリを
見かけることがあります。
ベタにやろうとすると(x,0)から(x,f(x))までを別のペンでLineToすれば
できそうですが、それだとあまりにも遅そうなんでどのようにするのが
一般的なんでしょうか?
722デフォルトの名無しさん
2023/08/14(月) 19:58:40.11ID:KSpEuPpD polygon
723デフォルトの名無しさん
2023/08/14(月) 23:17:07.87ID:Vf3oM49A724デフォルトの名無しさん
2023/08/14(月) 23:53:10.89ID:hsUNKBWX (分かりやすく)グラフが丁度収まる矩形サイズの描画メモリをCreateDIBSectionとかで確保して
掛け算や条件文をなるべく使わずに、直接メモリを塗りたい色で書き換えて、
最後にその描画メモリをバックバッファへ転送する、とか
掛け算や条件文をなるべく使わずに、直接メモリを塗りたい色で書き換えて、
最後にその描画メモリをバックバッファへ転送する、とか
725デフォルトの名無しさん
2023/08/15(火) 08:10:50.28ID:eu+UdA0l PathTo
726デフォルトの名無しさん
2023/08/15(火) 10:10:52.28ID:whQn6DUa データ左端,Y軸下端 to データ左端,Y値 to データX値,Y値 to
... to データ右端,Y値 to データ右端,Y軸下端 (to データ左端,Y軸下端)
... to データ右端,Y値 to データ右端,Y軸下端 (to データ左端,Y軸下端)
727デフォルトの名無しさん
2023/08/15(火) 11:35:30.53ID:r8gJDQt/728デフォルトの名無しさん
2023/08/15(火) 11:44:42.91ID:5h6JYYPu 自分で線描画してメモリDCでダブルバッファするか
既製のチャートコントロールを使う
jもしくはavascriptにグラフ描画のは沢山あるからそ!をwebview2か何かで表示する
既製のチャートコントロールを使う
jもしくはavascriptにグラフ描画のは沢山あるからそ!をwebview2か何かで表示する
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 現役猟師・東出昌大、クマ被害続出も過熱する報道に「クマはそんな危ないもんじゃない」理由語る [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- ハゲがレジやってるコンビニって
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 宇宙飛行士 vs 超天才数学者
