Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build124
http://mevius.5ch.net/test/read.cgi/tech/1510395780/
Win32API質問箱 Build123
http://mevius.2ch.net/test/read.cgi/tech/1475897582/
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
Win32API質問箱 Build121
http://echo.2ch.net/test/read.cgi/tech/1438695290/
Win32API質問箱 Build120
http://echo.2ch.net/test/read.cgi/tech/1428570962/
■関連スレ
Visual Studio 2019
http://mevius.5ch.net/test/read.cgi/tech/1548765663/
Visual Studio 2017 Part6
http://mevius.5ch.net/test/read.cgi/tech/1528645068/
【C++】 DirectX初心者質問スレ Part41 【C】
http://mevius.5ch.net/test/read.cgi/tech/1521786252/
探検
Win32API質問箱 Build125
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/02/27(水) 15:09:08.64ID:6ExXwgQU >>734
VC のドキュメントがなんの役に立つ?
VC のドキュメントがなんの役に立つ?
736デフォルトの名無しさん
2019/11/26(火) 22:34:01.39ID:JUtzLycC 他のソースはないかな。
βとはいえMSが単なるロケールの追加じゃなくてそんな過激なスイッチを導入しようとする意図がよくわからん。
βとはいえMSが単なるロケールの追加じゃなくてそんな過激なスイッチを導入しようとする意図がよくわからん。
737デフォルトの名無しさん
2019/11/26(火) 23:00:16.55ID:dbvsSdaZ 英語圏だと切り替えても英語入出力だけするなら何も変わらないしメリットの方が多い
日本語圏じゃデメリットしかないがw
日本語圏じゃデメリットしかないがw
738デフォルトの名無しさん
2019/11/26(火) 23:01:00.12ID:JyI6kWkc >>719
> その話は当たり前で、
本当?
SJISアプリをUTF-8アプリとして動作させるんだぜ?
printf("あほまぬけ\n"); こんなアプリがあったときに、
設定前と設定後で出てくる文字コードが違うんだぜ?
Linuxでそんなことが起こるかよ。
> その話は当たり前で、
本当?
SJISアプリをUTF-8アプリとして動作させるんだぜ?
printf("あほまぬけ\n"); こんなアプリがあったときに、
設定前と設定後で出てくる文字コードが違うんだぜ?
Linuxでそんなことが起こるかよ。
739デフォルトの名無しさん
2019/11/26(火) 23:03:08.88ID:JyI6kWkc740デフォルトの名無しさん
2019/11/26(火) 23:32:37.50ID:9NQ9wJPH _tcsincなんかマルチバイト前提にしか使わないような関数だろ
どんな挙動になるんだ
どんな挙動になるんだ
741デフォルトの名無しさん
2019/11/26(火) 23:33:44.60ID:4vHYq+aK 「ワールドワイド言語サポートで Unicode UTF-8 を使用」にチェックを入れ
なければUnicode非対応のアプリは従来通り動くし、これにチェックを入れな
ければ動かない既存のアプリっていうのも現状では無いんでしょう?
非対応アプリを対応させるのに要するコスト以上の利益が今後見込めるなら
アプリ開発元も対応させるだろうけど、そうでないなら放置されるんじゃ
ないかなあ。
MSがUnicode非対応アプリを切り捨てるようなことをすれば、Windows離れ
(=パソコン離れ)が進むだけでしょ。
なければUnicode非対応のアプリは従来通り動くし、これにチェックを入れな
ければ動かない既存のアプリっていうのも現状では無いんでしょう?
非対応アプリを対応させるのに要するコスト以上の利益が今後見込めるなら
アプリ開発元も対応させるだろうけど、そうでないなら放置されるんじゃ
ないかなあ。
MSがUnicode非対応アプリを切り捨てるようなことをすれば、Windows離れ
(=パソコン離れ)が進むだけでしょ。
742デフォルトの名無しさん
2019/11/26(火) 23:36:26.55ID:JUtzLycC CP1252のアプリにUTF8突っ込まれてもやっぱり困るだけだよなぁ。
743デフォルトの名無しさん
2019/11/26(火) 23:40:34.75ID:oARfCEQj いきなりなんとかアプリで括るから話が噛み合ってないのでは?
まず確認すべきなのはAPIの挙動がどう変わるのかで、
次に典型的なsjisアプリでAPIをどう使っているのか
だから影響はこうだみたいな
誰か整理して教えて
まず確認すべきなのはAPIの挙動がどう変わるのかで、
次に典型的なsjisアプリでAPIをどう使っているのか
だから影響はこうだみたいな
誰か整理して教えて
744デフォルトの名無しさん
2019/11/26(火) 23:43:29.50ID:dbvsSdaZ745デフォルトの名無しさん
2019/11/26(火) 23:56:56.29ID:4pvDP8OD >>731
こちらの論拠は全てこのツイートにあるしこれベースで話していたわけで、
最初から君の主張がそれなら話が早かったんだけどね
端からAPI関係ないと言われても話が通じず意味不明にしか思わない
しかしはっきり言って、どっちも信用ならんw
自分でテストするしかないわもう
こちらの論拠は全てこのツイートにあるしこれベースで話していたわけで、
最初から君の主張がそれなら話が早かったんだけどね
端からAPI関係ないと言われても話が通じず意味不明にしか思わない
しかしはっきり言って、どっちも信用ならんw
自分でテストするしかないわもう
746デフォルトの名無しさん
2019/11/26(火) 23:58:07.39ID:JUtzLycC ググってみて気付いたが一年以上前の話題なのね、これ。
747デフォルトの名無しさん
2019/11/27(水) 03:15:27.83ID:j6pNPBz/ >>738
> 設定前と設定後で出てくる文字コードが違うんだぜ?
違うという証拠は?
printf("あほまぬけ\n"); と書いてコンパイルしたとき
\0で終わるSJISのバイト列が格納されてるに過ぎない。
それが設定で変わるわけ無いだろ。
> 設定前と設定後で出てくる文字コードが違うんだぜ?
違うという証拠は?
printf("あほまぬけ\n"); と書いてコンパイルしたとき
\0で終わるSJISのバイト列が格納されてるに過ぎない。
それが設定で変わるわけ無いだろ。
748デフォルトの名無しさん
2019/11/27(水) 03:32:29.18ID:j6pNPBz/ >>733
> APIの挙動変るのはやっぱヤベーな
それは英語圏のASCII前提で作られているアプリでSJISを使うと
\(0x5c)が含まれる「表」などで誤動作するって話と同じこと
http://www.kent-web.com/pubc/garble.html
> 今まで通りSJISだと決めてかかって独自関数でパスの分解などをすると滅茶苦茶になるって話やん
> これを利用したディレクトリトラバーサルとかも可能なんじゃね?
UTF-8は文字の一部にASCIIコードが含まれることはないのでそのようなことは発生しない。
というかそもそもが「英語圏で作られた日本語などを扱えないUnixアプリ」でこのような問題が
起きないように考慮されて作られたのがUTF-8だから
> APIの挙動変るのはやっぱヤベーな
それは英語圏のASCII前提で作られているアプリでSJISを使うと
\(0x5c)が含まれる「表」などで誤動作するって話と同じこと
http://www.kent-web.com/pubc/garble.html
> 今まで通りSJISだと決めてかかって独自関数でパスの分解などをすると滅茶苦茶になるって話やん
> これを利用したディレクトリトラバーサルとかも可能なんじゃね?
UTF-8は文字の一部にASCIIコードが含まれることはないのでそのようなことは発生しない。
というかそもそもが「英語圏で作られた日本語などを扱えないUnixアプリ」でこのような問題が
起きないように考慮されて作られたのがUTF-8だから
749デフォルトの名無しさん
2019/11/27(水) 03:36:29.35ID:h6Shw8l2 >>747
A系のAPIがUTF-8に変換されるってのは、そういうことだろう?
A系のAPIがUTF-8に変換されるってのは、そういうことだろう?
750デフォルトの名無しさん
2019/11/27(水) 03:37:49.05ID:h6Shw8l2751デフォルトの名無しさん
2019/11/27(水) 03:56:45.13ID:j6pNPBz/ >>743
> まず確認すべきなのはAPIの挙動がどう変わるのかで、
WindowsはUTF-16。ファイル名などOSから文字列を受け取るときに
A系APIを使うとシステムロケールの設定で設定された文字コードに変換されて渡される。
またOSに渡すときはUTF-16に変換される。
これは標準入出力やファイルに出力するときには全く関係ない。
SJIS前提のアプリがSJISで出力するとき(つまりA系APIのみを使ってる)
変換は一切されない。SJISで出力される。
Unicodeに変換されるのはアプリが_setmode等を使ってファイルハンドルを
Unicode出力モードに意図的に変更した場合。(OSのシステムロケールの設定で勝手に変わるのではない)
そしてこの話はUnicode出力する話で、今はSJISで出力するアプリの話をしてるのだから関係ない。
SJISで出力するアプリはシステムロケールの設定が英語だろうがUTF-8だろうが常にSJISで出力される。
だから英語モードのコマンドプロンプトはSJISを理解できないから文字化けする。
chcpでコードページを932にすると「Unicode出力モードではない出力」は、SJISとして扱うので
出力を "受け取った側" の ”コマンドプロンプトが” Unicodeに変換して画面に出力する。
出力側でAPIが勝手に変換しているのではない。
> まず確認すべきなのはAPIの挙動がどう変わるのかで、
WindowsはUTF-16。ファイル名などOSから文字列を受け取るときに
A系APIを使うとシステムロケールの設定で設定された文字コードに変換されて渡される。
またOSに渡すときはUTF-16に変換される。
これは標準入出力やファイルに出力するときには全く関係ない。
SJIS前提のアプリがSJISで出力するとき(つまりA系APIのみを使ってる)
変換は一切されない。SJISで出力される。
Unicodeに変換されるのはアプリが_setmode等を使ってファイルハンドルを
Unicode出力モードに意図的に変更した場合。(OSのシステムロケールの設定で勝手に変わるのではない)
そしてこの話はUnicode出力する話で、今はSJISで出力するアプリの話をしてるのだから関係ない。
SJISで出力するアプリはシステムロケールの設定が英語だろうがUTF-8だろうが常にSJISで出力される。
だから英語モードのコマンドプロンプトはSJISを理解できないから文字化けする。
chcpでコードページを932にすると「Unicode出力モードではない出力」は、SJISとして扱うので
出力を "受け取った側" の ”コマンドプロンプトが” Unicodeに変換して画面に出力する。
出力側でAPIが勝手に変換しているのではない。
752デフォルトの名無しさん
2019/11/27(水) 03:57:05.53ID:j6pNPBz/ >>750
大丈夫だからなにか言い返せ
大丈夫だからなにか言い返せ
753デフォルトの名無しさん
2019/11/27(水) 04:00:06.35ID:j6pNPBz/ >>749
> A系のAPIがUTF-8に変換されるってのは、そういうことだろう?
違う。WindowsネイティブのUTF-16が、A系APIを使ったときにUTF-8で渡ってくるというのは
APIの引数の話であって、printfなどの標準入出力やファイル入出力とは関係ない。
> A系のAPIがUTF-8に変換されるってのは、そういうことだろう?
違う。WindowsネイティブのUTF-16が、A系APIを使ったときにUTF-8で渡ってくるというのは
APIの引数の話であって、printfなどの標準入出力やファイル入出力とは関係ない。
754デフォルトの名無しさん
2019/11/27(水) 04:41:20.28ID:h6Shw8l2 >>753
printfは内部でWriteFileを呼んでるよ?
printfは内部でWriteFileを呼んでるよ?
755デフォルトの名無しさん
2019/11/27(水) 04:46:25.68ID:j6pNPBz/ そこまで調べたなら、WriteFile、ReadFleには
AやWという区別がないところまで調べようか?
これはバイナリで読み書きする。必然的に文字コードの変換など起きない。
AやWという区別がないところまで調べようか?
これはバイナリで読み書きする。必然的に文字コードの変換など起きない。
756デフォルトの名無しさん
2019/11/27(水) 07:11:33.58ID:h6Shw8l2 ところがコンソールに書くときはどうなると思う?
757デフォルトの名無しさん
2019/11/27(水) 07:34:16.89ID:j6pNPBz/758デフォルトの名無しさん
2019/11/27(水) 09:00:23.34ID:h6Shw8l2 UTF-8は文字の一部にASCIIコードが含まれることはない
とか言っちゃう人に説明しても無駄だと思うからやめとく
とか言っちゃう人に説明しても無駄だと思うからやめとく
759デフォルトの名無しさん
2019/11/27(水) 09:13:15.33ID:yBES+u77 そこは単なる表現ミスだろww
ID:j6pNPBz/ は言ってること基本的にあってる
こいつはどうか知らんが、このタイプのやつってやたら自信と知識あるのにプログラミングできないことが多い
ID:j6pNPBz/ は言ってること基本的にあってる
こいつはどうか知らんが、このタイプのやつってやたら自信と知識あるのにプログラミングできないことが多い
760デフォルトの名無しさん
2019/11/27(水) 09:29:28.95ID:naVEM3yc Code Pages
https://docs.microsoft.com/en-us/windows/win32/intl/code-pages
Many Windows API functions have "A" (ANSI) and "W" (wide, Unicode) versions.
The "A" version handles text based on Windows code pages, while the "W" version handles Unicode text.
Windows code pages are also sometimes referred to as "active code pages" or "system active code pages".
A Windows operating system always has one currently active Windows code page.
All ANSI versions of API functions use the currently active code page.
https://docs.microsoft.com/en-us/windows/win32/intl/code-pages
Many Windows API functions have "A" (ANSI) and "W" (wide, Unicode) versions.
The "A" version handles text based on Windows code pages, while the "W" version handles Unicode text.
Windows code pages are also sometimes referred to as "active code pages" or "system active code pages".
A Windows operating system always has one currently active Windows code page.
All ANSI versions of API functions use the currently active code page.
761デフォルトの名無しさん
2019/11/27(水) 09:33:42.45ID:aKqeYuzt 頭でっかちって奴?
装備は良くてもと実力が・・・的な
装備は良くてもと実力が・・・的な
762デフォルトの名無しさん
2019/11/27(水) 10:18:57.48ID:j6pNPBz/763デフォルトの名無しさん
2019/11/27(水) 10:54:33.13ID:kdwhCzf5 素人ですまんが"a"の文字コードはUTF8ではどうなるの?
764デフォルトの名無しさん
2019/11/27(水) 10:57:33.93ID:vWenFewH ASCIIと全く同じ。そして他の文字の一部に含まれることはない。
765デフォルトの名無しさん
2019/11/27(水) 11:01:09.01ID:aKqeYuzt >>762
\に拘らなくてもダメ文字でよくない?
\に拘らなくてもダメ文字でよくない?
766デフォルトの名無しさん
2019/11/27(水) 11:04:56.74ID:vWenFewH767デフォルトの名無しさん
2019/11/27(水) 11:19:42.60ID:BEy4sBWT >>762
マルチバイトの文字の2バイト目以降にASCII文字が含まれることはない、とか言えば相手に誤解されないんじゃないか?
相手が理解してない、間違ってると決めつけるのでなく、自分の意図が正しく相手に伝わってない可能性があることに想像が至らないのかな。
いつも他人と衝突してばかりで(主に周囲の方が)苦労してそう。
マルチバイトの文字の2バイト目以降にASCII文字が含まれることはない、とか言えば相手に誤解されないんじゃないか?
相手が理解してない、間違ってると決めつけるのでなく、自分の意図が正しく相手に伝わってない可能性があることに想像が至らないのかな。
いつも他人と衝突してばかりで(主に周囲の方が)苦労してそう。
768デフォルトの名無しさん
2019/11/27(水) 11:38:22.80ID:FqMFrKp3 APIの挙動は変わらないから問題ないっていうのなら、本件のスイッチはなんの意味が?
実際に、表示に問題が出たりpythonで問題が出たりしてるけど、原因は何?
このスイッチで何が起こっている?
本当にロケールの変更だけなのか?問題ないならスイッチなんか付けずに勝手に処理変えていいのでは?
この説明をして初めて問題がないという事に説得力が出るんじゃないの?
実際に、表示に問題が出たりpythonで問題が出たりしてるけど、原因は何?
このスイッチで何が起こっている?
本当にロケールの変更だけなのか?問題ないならスイッチなんか付けずに勝手に処理変えていいのでは?
この説明をして初めて問題がないという事に説得力が出るんじゃないの?
769デフォルトの名無しさん
2019/11/27(水) 11:45:34.42ID:fiNnSHXp > APIの挙動は変わらないから問題ないっていうのなら、
誰もそんなこと言ってない。スレ読み返してお前がどれにレスしてるのか言ってみろよ。
誰もそんなこと言ってない。スレ読み返してお前がどれにレスしてるのか言ってみろよ。
770デフォルトの名無しさん
2019/11/27(水) 11:48:33.36ID:h6Shw8l2 >>768
アプリの話だから関係ない。キリッ
アプリの話だから関係ない。キリッ
771デフォルトの名無しさん
2019/11/27(水) 12:07:01.06ID:kdwhCzf5 >>764
つまり、UTF-8にASCIIコードが含まれるんだよね。
つまり、UTF-8にASCIIコードが含まれるんだよね。
772デフォルトの名無しさん
2019/11/27(水) 12:22:16.66ID:FqMFrKp3773デフォルトの名無しさん
2019/11/27(水) 12:24:39.29ID:FqMFrKp3774デフォルトの名無しさん
2019/11/27(水) 13:11:10.67ID:O313Yaxb まあちゃんと問題切り分けできてないのがヤバイヤバイゆーてるのが気にくわんのとちゃうの
なんか知らんがユーザープロファイル壊れたハンパねえとか
具体的な問題点あげさせたら>>754,756みたいにまるで理解してなかったりとか
なんか知らんがユーザープロファイル壊れたハンパねえとか
具体的な問題点あげさせたら>>754,756みたいにまるで理解してなかったりとか
775デフォルトの名無しさん
2019/11/27(水) 13:33:51.50ID:aKqeYuzt 自信たっぷりの人ほど自分の説明の仕方を疑わない
776デフォルトの名無しさん
2019/11/27(水) 13:44:11.26ID:yBES+u77 問題起こす可能性ある行為
文字列に対して0x81〜0x9f以下だからみたいな全角半角判別をする(やりたいならutf16にしてからする)
printf("死ね")というようにソースに文字列を直接書く(文字列は必ずリソースから使う。utf8リソースも用意する)
文字列をエンコード変換せずにファイルに書き込む(cp_acp使って変換する)
文字列に対して0x81〜0x9f以下だからみたいな全角半角判別をする(やりたいならutf16にしてからする)
printf("死ね")というようにソースに文字列を直接書く(文字列は必ずリソースから使う。utf8リソースも用意する)
文字列をエンコード変換せずにファイルに書き込む(cp_acp使って変換する)
777デフォルトの名無しさん
2019/11/27(水) 13:57:22.53ID:KtqS+hCI >>701
もしかしてmbcs
もしかしてmbcs
778デフォルトの名無しさん
2019/11/27(水) 14:08:52.49ID:KtqS+hCI779デフォルトの名無しさん
2019/11/27(水) 14:16:45.43ID:VAJZLvH1 LoadLibraryの引数はファイル名なんだから9xとNTで文字コードが違うけど
GetProcAddressの引数の関数名はASCIIしかないからでしょ
GetProcAddressの引数の関数名はASCIIしかないからでしょ
780デフォルトの名無しさん
2019/11/27(水) 14:17:12.33ID:sIfFpL55 ユニコードビルドのプログラムならまず問題は起きんよ
あえてCHARを使うケースなんて限られているしそういうとこはAPIを介することもない
printfなんか使わず_tprintf使うしな
問題は過去に作られたマルチバイトビルドのモノ
あえてCHARを使うケースなんて限られているしそういうとこはAPIを介することもない
printfなんか使わず_tprintf使うしな
問題は過去に作られたマルチバイトビルドのモノ
781デフォルトの名無しさん
2019/11/27(水) 14:19:26.73ID:VAJZLvH1 Unicodeしか対応するつもりがないのでwprintfを使う。
782デフォルトの名無しさん
2019/11/27(水) 14:22:05.53ID:KtqS+hCI CP_ACP を使うのは別に悪くないぞ
active code page なんで文字通り動作時の CP に合わせて
良きに計らって変換してくれる
CP が utf-8 なら 入力も出力も CP_ACP で utf-8 と変換
CP が cp932 なら 入力も出力も CP_ACP で cp932 と変換
これは正しい動作
ただしソースが SJIS 固定で書かれてるのに
CP_ACP 使って Unicode に変換して出力してる糞ソフトは可笑しくなる
active code page なんで文字通り動作時の CP に合わせて
良きに計らって変換してくれる
CP が utf-8 なら 入力も出力も CP_ACP で utf-8 と変換
CP が cp932 なら 入力も出力も CP_ACP で cp932 と変換
これは正しい動作
ただしソースが SJIS 固定で書かれてるのに
CP_ACP 使って Unicode に変換して出力してる糞ソフトは可笑しくなる
783デフォルトの名無しさん
2019/11/27(水) 15:06:32.40ID:FX4WAgVx CP_ACPってGetACPで返ってくるのと同じものだろ?
active code page じゃなくて ansi code pageの略みたいだけど
これchcpしたコマンドプロンプトから呼び出しても変わってないやん。
これWin9x系対応かつ多言語対応のGUIアプリを作るときしかまともに使えないんじゃね?
今どき多言語対応にするならUnicode使うだろうし、古いアプリの
メンテナンスなら仕方ないけど、20年近く前のアプリ?w
今の時代にcp932が登場するとしたら、バッチファイルから実行される
コンソールアプリぐらいだろうけど、chcpで変わらないのだから
chcpのデフォルトになってしまうCP_ACPでは機能不足だよ
active code page じゃなくて ansi code pageの略みたいだけど
これchcpしたコマンドプロンプトから呼び出しても変わってないやん。
これWin9x系対応かつ多言語対応のGUIアプリを作るときしかまともに使えないんじゃね?
今どき多言語対応にするならUnicode使うだろうし、古いアプリの
メンテナンスなら仕方ないけど、20年近く前のアプリ?w
今の時代にcp932が登場するとしたら、バッチファイルから実行される
コンソールアプリぐらいだろうけど、chcpで変わらないのだから
chcpのデフォルトになってしまうCP_ACPでは機能不足だよ
784デフォルトの名無しさん
2019/11/27(水) 15:10:40.27ID:FX4WAgVx >>771
「表」に含まれる「\」のようにASCIIコードが文字の一部には含まれることはない
「表」に含まれる「\」のようにASCIIコードが文字の一部には含まれることはない
785デフォルトの名無しさん
2019/11/27(水) 15:10:52.05ID:KtqS+hCI それはコマンドプロンプトが糞なんや
786デフォルトの名無しさん
2019/11/27(水) 15:15:40.12ID:KOWJoLHR >>785
それではどう直せば満足なわけ?
それではどう直せば満足なわけ?
787736
2019/11/27(水) 15:22:07.89ID:KOWJoLHR 互換性無視してもいいので
788デフォルトの名無しさん
2019/11/27(水) 15:22:13.10ID:yBES+u77 setconsoleoutputcpとかいくつかあるだろ
789デフォルトの名無しさん
2019/11/27(水) 15:23:06.36ID:I8EYSxvC >>784
そんな素人にとってすら常識なことを言わないでくれ。
そんな素人にとってすら常識なことを言わないでくれ。
790デフォルトの名無しさん
2019/11/27(水) 15:30:16.22ID:KOWJoLHR >>788
つまりCP_ACPじゃなくてSetConsoleOutputCPを使っていう話だよね
つまりCP_ACPじゃなくてSetConsoleOutputCPを使っていう話だよね
791デフォルトの名無しさん
2019/11/27(水) 15:49:28.45ID:yBES+u77 >>776はファイルに書き込む話だからcp_acp。setconsoleじゃない
792デフォルトの名無しさん
2019/11/27(水) 22:17:44.20ID:ynQDuheL これって将来OS内をutf8にする布石だったりする?
793デフォルトの名無しさん
2019/11/28(木) 00:22:55.39ID:uZo2jF8i ありえない。意味がない。
794デフォルトの名無しさん
2019/11/28(木) 03:45:07.96ID:63QrZJYD 質問
1..ソースファイルのフォーマットはどうするべき
2.StringCchPrintfAはcrtに丸投げしているようだが使っていいのか
1..ソースファイルのフォーマットはどうするべき
2.StringCchPrintfAはcrtに丸投げしているようだが使っていいのか
795デフォルトの名無しさん
2019/11/28(木) 08:26:03.14ID:NFB6hYx8 ソースのエンコードなんてどうでもいいよ
APIの挙動は何も変わらないからStringCchPrintfA使っても問題ない
いわゆるc言語の教科書に書かれてるようなソース書いてたら問題起きる
ローカライズ、グローバライズ、多言語、その辺を意識する必要があるってだけ
APIの挙動は何も変わらないからStringCchPrintfA使っても問題ない
いわゆるc言語の教科書に書かれてるようなソース書いてたら問題起きる
ローカライズ、グローバライズ、多言語、その辺を意識する必要があるってだけ
796デフォルトの名無しさん
2019/11/28(木) 09:34:08.69ID:uZo2jF8i >>794
どうせVisual Studio使うんだろ?
ならソースコードのエンコードはデフォルトのUTF-8(BOM、シグネチャ付き)
UnicodeでないとUnicode文字が書けないだろ?
ソースコードにASCII文字しか書かないなら、UTF-8でもいいがそれは
結局SJISと同じになるので区別がつかない。SJISと誤判断されないようにBOM付きが良い。
StringCchPrintfAではなくStringCchPrintfWを使え。
今どきはUnicode対応だろ。いつまでも9x対応にしなくていい。
どうせVisual Studio使うんだろ?
ならソースコードのエンコードはデフォルトのUTF-8(BOM、シグネチャ付き)
UnicodeでないとUnicode文字が書けないだろ?
ソースコードにASCII文字しか書かないなら、UTF-8でもいいがそれは
結局SJISと同じになるので区別がつかない。SJISと誤判断されないようにBOM付きが良い。
StringCchPrintfAではなくStringCchPrintfWを使え。
今どきはUnicode対応だろ。いつまでも9x対応にしなくていい。
797デフォルトの名無しさん
2019/11/28(木) 09:35:39.32ID:uZo2jF8i 改行コードは、Windowsしか使わないならCR LFでいいが、
俺はWSLからも参照するのでLFにしてる。
俺はWSLからも参照するのでLFにしてる。
798デフォルトの名無しさん
2019/11/28(木) 11:01:30.14ID:XyamUy6x linuxのツールなら大抵どっちの改行もOKでしょ
windowsはCR LFだけってのが多いけど
windowsはCR LFだけってのが多いけど
799デフォルトの名無しさん
2019/11/28(木) 11:13:16.22ID:uZo2jF8i LinuxのシェルスクリプトはCR LFだと動かないぞ
むしろWindowsツールのほうが両対応してるのが多い
むしろWindowsツールのほうが両対応してるのが多い
800794
2019/11/28(木) 13:58:18.73ID:63QrZJYD801デフォルトの名無しさん
2019/11/28(木) 14:39:08.15ID:d38/0Efq >>800
ソースコードの文字コードとコードは関係ない。
> char[]でファイルとやり取りする仕様なので
ファイルとやり取りする所だけ変換すればよい
ってか、本当にUnicode非対応のアプリ作ってるのか?
ソースコードの文字コードとコードは関係ない。
> char[]でファイルとやり取りする仕様なので
ファイルとやり取りする所だけ変換すればよい
ってか、本当にUnicode非対応のアプリ作ってるのか?
802デフォルトの名無しさん
2019/11/28(木) 14:41:36.77ID:d38/0Efq > StringCchPrintfはAPIではなく、_vsnprintf_sに行き着くように見えるのだが、
正直、StringCchPrintfがなんでAPIなのかの理由のほうがわからんのだがな
処理内容的にOSとやり取りする理由がないので
APIやない方が理解できる。
というかMS専用関数じゃなくて_vsnprintf_s使ったら?
まあ俺はC++使うんだけどさ。std::wstringとか
正直、StringCchPrintfがなんでAPIなのかの理由のほうがわからんのだがな
処理内容的にOSとやり取りする理由がないので
APIやない方が理解できる。
というかMS専用関数じゃなくて_vsnprintf_s使ったら?
まあ俺はC++使うんだけどさ。std::wstringとか
803デフォルトの名無しさん
2019/12/01(日) 10:03:10.42ID:zAKbhIi4 APIだと脆弱性見つかった時の修正が楽
組み込み関数だと全アプリ作者に修正促さないといけないし、現実的に脆弱性の修正不可能だからな
組み込み関数だと全アプリ作者に修正促さないといけないし、現実的に脆弱性の修正不可能だからな
804デフォルトの名無しさん
2019/12/03(火) 00:42:13.17ID:VF2M+VnQ 現在のウィンドウのIMEの種類を取得する方法ってありますか?
「やりたいこと」
今使用しているIMEがGoogle Japanese IMEかMS IMEなのかどうか知りたい。
ローマ字やかな入力などの情報ではなく、MS IMEや Google IMEなどのキーボードレイアウト?の情報がほしいのです。
GetKeyboardLayout関数などを使用してみたのですが、言語別のキーボードの情報を知ることはできるのですが、日本語キーボードのIMEはどちらも同じ値しか取得できません。
調べてもなかなか分からず困っています。Win32 APIで取得するにはどうしたらいいですか?
「やりたいこと」
今使用しているIMEがGoogle Japanese IMEかMS IMEなのかどうか知りたい。
ローマ字やかな入力などの情報ではなく、MS IMEや Google IMEなどのキーボードレイアウト?の情報がほしいのです。
GetKeyboardLayout関数などを使用してみたのですが、言語別のキーボードの情報を知ることはできるのですが、日本語キーボードのIMEはどちらも同じ値しか取得できません。
調べてもなかなか分からず困っています。Win32 APIで取得するにはどうしたらいいですか?
805デフォルトの名無しさん
2019/12/03(火) 02:11:28.50ID:rgVievzQ ワシは諦めてユーザーに選択させた
806デフォルトの名無しさん
2019/12/03(火) 06:40:02.44ID:Ocr+v9UU utf-8 BOMをエラーにするのは正義の戦士だからでは。
807デフォルトの名無しさん
2019/12/03(火) 07:22:13.61ID:JICZN31D >>804
ImmGetDescription
ImmGetDescription
808デフォルトの名無しさん
2019/12/03(火) 10:43:37.95ID:K+LsX9hM どうもありがとうございます
809デフォルトの名無しさん
2019/12/04(水) 17:27:04.61ID:pBYkh1q9 ディスプレイの解像度の変更をSetDisplayConfigで作成しましたがDPIの変更の方法が分かりません
DPIを変更するAPIはありますか?
DPIを変更するAPIはありますか?
810デフォルトの名無しさん
2019/12/04(水) 18:09:06.28ID:+TqcdXsD811デフォルトの名無しさん
2019/12/04(水) 18:39:47.52ID:6HAN0Ali812デフォルトの名無しさん
2019/12/05(木) 01:17:52.62ID:PaDa/vrn813デフォルトの名無しさん
2019/12/12(木) 14:53:42.50ID:b3wcvAqB クリップボードのデータのtextって毎回上書きですか?
何回分かのスタックになってないのですか?
何回分かのスタックになってないのですか?
814デフォルトの名無しさん
2019/12/12(木) 15:13:04.80ID:xAqeogD1815デフォルトの名無しさん
2019/12/12(木) 15:33:11.62ID:Op4VISj2 SetClipboardViewer で
クリップボード内容の更新の毎に WM_DRAWCLIPBOARD が飛んでくるようになる
クリップボード内容の更新の毎に WM_DRAWCLIPBOARD が飛んでくるようになる
816デフォルトの名無しさん
2019/12/12(木) 15:50:22.24ID:Lo+C9eAO 秀丸のコピペとか他のエディタ(viとかemacs)のコピペとかでも
winのクリップボードと共有されてるときと無関係なときがあって
良く判らん
winのクリップボードと共有されてるときと無関係なときがあって
良く判らん
817デフォルトの名無しさん
2019/12/12(木) 16:10:30.55ID:AEDrk6Uo winキー + vで履歴がみれるからどこかしらに貯めてるんだろうけど
C#ならとれるみたいだが
C#ならとれるみたいだが
818デフォルトの名無しさん
2019/12/12(木) 16:57:44.51ID:j9C8qGhA ちゃんとアプデしてるwin10でなおかつその機能が有効になってないと使えないものをわざわざ使うの?
819デフォルトの名無しさん
2019/12/12(木) 17:10:56.86ID:AEDrk6Uo 実際使う使わないの話なんてどこでしてるの?
820デフォルトの名無しさん
2019/12/12(木) 18:18:29.77ID:j9C8qGhA 使わないんならなんでそんな話するの?
821デフォルトの名無しさん
2019/12/12(木) 18:42:49.68ID:20Y0AB35 趣味なら自分だけ使えりゃいいし、そうじゃなくても最近の開発の流れは最新状態だけサポートしてればいいんだよ
対応環境広く取りたいなら独自実装
対応環境広く取りたいなら独自実装
822デフォルトの名無しさん
2019/12/12(木) 19:07:22.03ID:j9C8qGhA 動作環境も開発環境も選ぶ状況において、なおかつ今のクリップボード履歴の仕様的に満足できるのか
ってな観点で、もちろんそれで必要十分なら止めはしないが、わざわざ作るんならコスト的にも独自でいいじゃんと思うわけよ
ってな観点で、もちろんそれで必要十分なら止めはしないが、わざわざ作るんならコスト的にも独自でいいじゃんと思うわけよ
823デフォルトの名無しさん
2019/12/12(木) 19:23:55.06ID:AEDrk6Uo824デフォルトの名無しさん
2019/12/12(木) 20:56:44.08ID:j9C8qGhA >>823
自己紹介だよね?
何を思って817書いてるの?日記だったの?
要件不明だけどこれも使えるよって自分で書いてるんだよね?
使う使わないの話以外に何のつもりだったの?
やっぱり日記だったの?
もしくはこんな知識僕持ってるんだよ!すごいよね!ってことなの?
それならごめんね、すごいすごい
自己紹介だよね?
何を思って817書いてるの?日記だったの?
要件不明だけどこれも使えるよって自分で書いてるんだよね?
使う使わないの話以外に何のつもりだったの?
やっぱり日記だったの?
もしくはこんな知識僕持ってるんだよ!すごいよね!ってことなの?
それならごめんね、すごいすごい
825デフォルトの名無しさん
2019/12/12(木) 21:03:46.09ID:j9C8qGhA ついでに822の補足として書いとくと、以下の仕様をわざわざ限定された環境で作って
限定された内容で実現する意味あるの?
ってのがこちらの趣旨
わざわざ書くのもアホらしいのでコピペだが
・保持できるサイズは1MB未満データ(全体上限は5MB)
・保持件数は、ピン留めを含め50件まで
・履歴の編集ができない
・検索機能もなく、古い履歴を探していくのが大変
・ピン留め以外の履歴は、パソコン再起動時に消えてしまう
・ピン留め履歴をグルーピングできない
・設定・カスタマイズができない
ホントマジで何が言いたくて>>817を書いたのか説明して欲しいな
限定された内容で実現する意味あるの?
ってのがこちらの趣旨
わざわざ書くのもアホらしいのでコピペだが
・保持できるサイズは1MB未満データ(全体上限は5MB)
・保持件数は、ピン留めを含め50件まで
・履歴の編集ができない
・検索機能もなく、古い履歴を探していくのが大変
・ピン留め以外の履歴は、パソコン再起動時に消えてしまう
・ピン留め履歴をグルーピングできない
・設定・カスタマイズができない
ホントマジで何が言いたくて>>817を書いたのか説明して欲しいな
826デフォルトの名無しさん
2019/12/12(木) 21:19:30.45ID:20Y0AB35 ・保持できるサイズは1MB未満データ(全体上限は5MB) =拡張できる可能性ある
・保持件数は、ピン留めを含め50件まで =拡張できる可能性ある
・履歴の編集ができない =拡張できる
・検索機能もなく、古い履歴を探していくのが大変 =拡張できる
・ピン留め以外の履歴は、パソコン再起動時に消えてしまう =そういう仕様。問題なし
・ピン留め履歴をグルーピングできない =拡張できる
・設定・カスタマイズができない =拡張できる
プログラマ次第
・保持件数は、ピン留めを含め50件まで =拡張できる可能性ある
・履歴の編集ができない =拡張できる
・検索機能もなく、古い履歴を探していくのが大変 =拡張できる
・ピン留め以外の履歴は、パソコン再起動時に消えてしまう =そういう仕様。問題なし
・ピン留め履歴をグルーピングできない =拡張できる
・設定・カスタマイズができない =拡張できる
プログラマ次第
827デフォルトの名無しさん
2019/12/12(木) 21:36:28.74ID:rV45/ffF Win7厨が死ぬのでAUTO
再起で消えるのはAUTO
MSの気まぐれ仕様変更に左右されるのでAUTO
つか、クリップボードアプリを今さら自製する意味あんの?
再起で消えるのはAUTO
MSの気まぐれ仕様変更に左右されるのでAUTO
つか、クリップボードアプリを今さら自製する意味あんの?
828デフォルトの名無しさん
2019/12/12(木) 21:39:45.49ID:20Y0AB35 「ピン留め以外の履歴は」だぞ。ピン止めしてれば再起動で消えない
さらに標準機能のままで別のデバイスとのクリップボード共有もできる
さらに標準機能のままで別のデバイスとのクリップボード共有もできる
829デフォルトの名無しさん
2019/12/12(木) 21:45:15.88ID:AEDrk6Uo >>824
要件次第ってことを言わなきゃわからんか?
なんでこんなに頭悪いんだろうこいつ
お前が勝手に脳内で妄想してる要件なんてみんな知らないんだが
使う使わないは質問者次第だろ
だからアスペと話すのは疲れるんだわ
要件次第ってことを言わなきゃわからんか?
なんでこんなに頭悪いんだろうこいつ
お前が勝手に脳内で妄想してる要件なんてみんな知らないんだが
使う使わないは質問者次第だろ
だからアスペと話すのは疲れるんだわ
830デフォルトの名無しさん
2019/12/12(木) 22:53:17.95ID:j9C8qGhA831デフォルトの名無しさん
2019/12/12(木) 23:05:41.90ID:AEDrk6Uo 要件みたしてるのに限定もくそもないわ
意味不明
意味不明
832デフォルトの名無しさん
2019/12/12(木) 23:29:05.23ID:3RY4sNiR >そんな限定品をわざわざ使わんでよろしい
でも使っている人がいることを考慮すればOSの機能に統合していくほうが良いのでは?
(あくまで機能をONにしている人の場合はってことね、OFFなら全部独自でも)
ただ、独自にクリップボードアプリ入れている人はそんなOSの機能使ってないだろうから、今更こっちで実装する意味もないだろうし
クリップボードアプリを初めて導入しようとする人に対して、“限定的なOSの機能”を勧めるより独自でいいじゃんってのもわかる
ただすでに使っている人に対して、このソフト使いたいならそんなOSの機能使うのやめてこっちの機能使ってと強制するよりいいんじゃないの
ケースバイケースではあると思うけどプログラマーが機能を限定・強制するより
ユーザが取捨選択できるようにするのがプログラマーらしいと思うんだけど違うんかね?
でも使っている人がいることを考慮すればOSの機能に統合していくほうが良いのでは?
(あくまで機能をONにしている人の場合はってことね、OFFなら全部独自でも)
ただ、独自にクリップボードアプリ入れている人はそんなOSの機能使ってないだろうから、今更こっちで実装する意味もないだろうし
クリップボードアプリを初めて導入しようとする人に対して、“限定的なOSの機能”を勧めるより独自でいいじゃんってのもわかる
ただすでに使っている人に対して、このソフト使いたいならそんなOSの機能使うのやめてこっちの機能使ってと強制するよりいいんじゃないの
ケースバイケースではあると思うけどプログラマーが機能を限定・強制するより
ユーザが取捨選択できるようにするのがプログラマーらしいと思うんだけど違うんかね?
833デフォルトの名無しさん
2019/12/13(金) 00:15:07.64ID:azLSlpn/ >>831
要件次第と自分で言いつつ、最後には要件を満たしてるとすげ替えてくる辺りがオツムアウト
要件次第と自分で言いつつ、最後には要件を満たしてるとすげ替えてくる辺りがオツムアウト
834デフォルトの名無しさん
2019/12/13(金) 00:53:44.81ID:WxCURz1I そもそもクリップボード履歴へのアクセスはWin32API案件なのか?
まあ共有機能以外の魅力は皆無だし、共有ならクリップボードじゃなくていいな
まあ共有機能以外の魅力は皆無だし、共有ならクリップボードじゃなくていいな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 【画像】外務省局長「この度はうちの🦎がすみません…」中国「……」 [165981677]
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 外務省局長、よくわからないまま帰国へ [834922174]
