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/
720 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:49:29.78 ID:4DbW4sNm.net] 本当にアホだったな。ユーザーが意図的に変えない限り変わらないってのに
721 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:55:32.97 ID:FXTOqUMb.net] 論旨はは>>638 よりは>>648 みたらはっきりしてる ”安易に設定変更したらA系使ってるソフトが恐い”ってことだけであって、”問題ない” と連呼してるアホ一人が理解力0というかマイナスなだけ
722 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:55:56.87 ID:4DbW4sNm.net] しかもエアプなんだろうな。 >>638 は古い情報で、 そもそも「ベータ: ワールドワイド言語サポートで Unicode UTF-8 を使用」の設定と 『メモ帳の文字コードと全く関係ない』話だってのもわかってないんだろう 『当時』はたまたまそこの設定がデフォルトになっていただけで、 今は常にUTF-8(BOMなし) メモ帳は古いアプリでもなんでも無いしな で、メモ帳が保存するテキストファイルの文字コードと 古いアプリの挙動も全く関係ない話。そんなの考えるまでもなくわかること こいつずっとテキストファイルのデフォルトの文字コードと APIの話をごっちゃにしてたのかよ 完全に素人だ
723 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:58:15.43 ID:9NQ9wJPH.net] >>710 言っとくが俺と>>701 は別人だからな
724 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 18:58:43.20 ID:4DbW4sNm.net]
725 名前:>>709 >”問題ない”と連呼してる 連呼の意味わかってる?w ”問題ない”で >>638 以降のレスを探すと >>684 で一回しか書いていない。しかも関係ない話 お前は思い込みが激しいってことがはっきりわかったな [] [ここ壊れてます]
726 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:05:03.16 ID:4pvDP8OD.net] はい、論点誤魔化してきたね 未だに文字化けする程度の認識しかしてないから、話するだけ無駄だと思うよ メモ帳とか連呼の定義とか持ちだしてきてもう意味不明 そもそもWinAPIのプログラムも組んだことないの丸わかりだから、キチガイに付き合うだけ損
727 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:05:29.42 ID:dbvsSdaZ.net] 例えば標準入力から文字列を受け取ってテキストファイルに追加書き込みする実行ファイル そんなの使ってたら、ファイル前半はシフトJIS、後半はUTF8になって、どっちでも読めなくなる これは極端な例だけど同じようなことはそこら中で起こりえる
728 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:05:45.18 ID:FXTOqUMb.net] メモ帳・・・・? ヤベえなこいつ
729 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:09:39.48 ID:s8aO6zrT.net] だんだん論点ずれてきてるやん
730 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:09:52.88 ID:4pvDP8OD.net] >>709 んだ >>714 そうだね 単純にそういう話になると思ってたんだが、このスレでこのレベルの未経験者が話しに入ってくるとは思わなかった
731 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:11:27.01 ID:4DbW4sNm.net] はぁ、リンク先も読んでないのかよ >>638 のリンク先読めよ・・・ https://twitter.com/MurakamiShinyu/status/994781934407553024 > 今までデフォルトでShift JISだったもの(メモ帳をはじめ…)が > この設定をすると「メモ帳」の「名前を付けて保存」で「文字コード: ANSI」 > (デフォルト)だとBOM無しのUTF-8、「文字コード: UTF-8」だと > BOM付きのUTF-8のファイルになります。 ↑注意 これは古い話で今は当てはまらない (deleted an unsolicited ad)
732 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:12:17.71 ID:4DbW4sNm.net] >>717 > 単純にそういう話になると思ってたんだが、 その話は当たり前で、LinuxでもmacOSでも同じことになると さんざん言ってる
733 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:17:08.27 ID:4DbW4sNm.net] ちなみに > 標準入力から文字列を受け取ってテキストファイルに追加書き込みする実行ファイル これはコードページとは何の関係もない。 当たり前だがSJISで出力してるアプリは、 コードページをどう変更しようが、SJISで出力される。 「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」に チェックを入れたところで、SJISで出力してるアプリが UTF-8で出力するように変わることはない。
734 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:18:48.31 ID:9NQ9wJPH.net] 設定変更しなければ良い、ってのは利用者の目線で開発者の発想ではないわな
735 名前: mailto:sage [2019/11/26(火) 19:19:13.34 ID:eitz3RWA.net] >>658 >A系アプリってなんだ? A系っていうのはWindows APIのAPIの末尾のAだろ >Windows APIの話なんだからWindowsの話だろ? win32api には同じ api 関数に対して A 系と W 系の二つの異なった関数が準備されているんです A 系の A は ansi の A で、こいつは主にファイルパスに Shift-JIS/cp932 を使うのに対して W 系はファイルパスに utf-16LE を使います
736 名前: mailto:sage [2019/11/26(火) 19:20:16.92 ID:eitz3RWA.net] >>674 win32api に fopen は存在しません、CreateHandle ならば存在しますが
737 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:21:22.69 ID:4DbW4sNm.net] もちろん、「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」 の設定(コードページ)を見て、アプリ内部でその文字コードに変換して 出力するように作られてるアプリは別な。 あくまでA系APIを使ってるアプリの話 SJIS前提で作られてるアプリは、SJISでしか出力しません。 ただしAPIがUTF-8前提として処理するのでASCII以外だと 出力がおかしくなります。
738 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:22:46.52 ID:4DbW4sNm.net] >>722 > A 系の A は ansi の A で、こいつは主にファイルパスに Shift-JIS/cp932 を使うのに対して W 系はファイルパスに utf-16LE を使います うんしってる。そして新設された「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」 というのは、A系を使ってASCII互換のUTF-8を使えるようになる機能です。
739 名前: mailto:sage [2019/11/26(火) 19:22:59.57 ID:eitz3RWA.net] 問題のオプションが A系 W系に関係するものか、誰か見解を出していただけませんか?
740 名前: mailto:sage [2019/11/26(火) 19:24:22.44 ID:eitz3RWA.net] >>725 thanks!
741 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:25:39.71 ID:4pvDP8OD.net] >>718 >>648 読んでる? > すべての A 系 API が UTF-8 を I/O するようになるスイッチやぞ。半端ねぇぞ。 >>719 > その話は当たり前で、LinuxでもmacOSでも同じことになると > さんざん言ってる 今回のWinの設定がなんで他のOSを例に挙げるの?しかもWin32APIの話なのに、どういう関係があるのか? >>720 > 当たり前だがSJISで出力してるアプリは、 > コードページをどう変更しようが、SJISで出力される。 君は、 > すべての A 系 API が UTF-8 を I/O するようになるスイッチやぞ。半端ねぇぞ。 これ自体がウソだって言ってるんだね? ダラダラ連投せずに、そう書けば?
742 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:26:51.40 ID:4DbW4sNm.net] >>728 > 今回のWinの設定がなんで他のOSを例に挙げるの?しかもWin32APIの話なのに、どういう関係があるのか? だから他のOSでも起きる、SJISのファイルにUTF-8で書き込むと壊れるという話を ごちゃまぜにするなと言ってる。 それはWin32APIと関係ない話だと言ってるだけ
743 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:32:03.78 ID:4pvDP8OD.net] >>729 > SJISのファイルにUTF-8で書き込むと壊れるという話を なぜそのようなことが起こるのか、どういうきっかけで起こるのか、影響範囲はどうなっているのか、 A系APIの挙動が変わるからだ という話なだけでしょうが 他のOSを例に出す意味がない 君の主張は、APIの挙動は変わらないということなんだね? 要点をまとめなよ
744 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:36:44.09 ID:4DbW4sNm.net] >>728 > すべての A 系 API が UTF-8 を I/O するようになるスイッチやぞ。半端ねぇぞ。 「ダウト」なのの1つ目は「半端ねぇ」の部分。 A系APIは昔から、コードページの設定をみてそのコードページの文字コードを 前提として処理している。昔から当たり前のことで今更驚くことじゃない。 英語ならASCIIを前提として処理するし、日本語に設定すればSJISを前提として 処理するするようになるし、韓国語や中国語にすれば、その国文字コードを前提して処理する。 20年以上そういう機能だった。 そしてもう一つはI/Oするって所。APIが設定に応じた文字コードを前提とするだけで別にI/Oするわけじゃない。 どの文字コードを使うかはアプリによる。SJIS専用のアプリはSJISしかI/Oしない。 UTF-8を前提としてる状態でSJISを流すとおかしくなるというだけで、 それらのAPIがUTF-8でI/Oするように変わるわけじゃない。 (エラーメッセージとかはSJISのリソースを使うようになるが、 これはAPIが変換してるわけじゃなくコードページに応じたリソースに変えてるだけ)
745 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 19:40:06.72 ID:4DbW4sNm.net] >>730 要点 「ベータ:ワールドワイド言語サポートでUnicode UTF-8を使用」の設定によるAPIの挙動と アプリが入出力する文字コード(ファイル等を含む)は関係は一切ない アプリが入出力する文字コードはアプリの実装によって決まる。 (Win32 APIと関係ないから、他のOSも同じという話につながる)
746 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 20:15:32.91 ID:9NQ9wJPH.net] APIの挙動変るのはやっぱヤベーな iniから文字列を取り出す >UTF-8 今まで通りSJISだと決めてかかって独自関数でパスの分解などをすると滅茶苦茶になるって話やん これを利用したディレクトリトラバーサルとかも可能なんじゃね?
747 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 21:07:20.59 ID:Qm31cF9G.net] まずは公式ドキュメントを読め 話はそれからだ Visual C++ のテキストと文字列 https://docs.microsoft.com/ja-jp/cpp/text/text-and-strings-in-visual-cpp
748 名前: mailto:sage [2019/11/26(火) 21:10:43.31 ID:eitz3RWA.net] >>734 VC のドキュメントがなんの役に立つ?
749 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 22:34:01.39 ID:JUtzLycC.net] 他のソースはないかな。 βとはいえMSが単なるロケールの追加じゃなくてそんな過激なスイッチを導入しようとする意図がよくわからん。
750 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:00:16.55 ID:dbvsSdaZ.net] 英語圏だと切り替えても英語入出力だけするなら何も変わらないしメリットの方が多い 日本語圏じゃデメリットしかないがw
751 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:01:00.12 ID:JyI6kWkc.net] >>719 > その話は当たり前で、 本当? SJISアプリをUTF-8アプリとして動作させるんだぜ? printf("あほまぬけ\n"); こんなアプリがあったときに、 設定前と設定後で出てくる文字コードが違うんだぜ? Linuxでそんなことが起こるかよ。
752 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:03:08.88 ID:JyI6kWkc.net] >>737 シングルバイトアプリがマルチバイトアプリとして動くわけ? もっと変なことになるだろそれ
753 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:32:37.50 ID:9NQ9wJPH.net] _tcsincなんかマルチバイト前提にしか使わないような関数だろ
754 名前:ヌんな挙動になるんだ [] [ここ壊れてます]
755 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:33:44.60 ID:4vHYq+aK.net] 「ワールドワイド言語サポートで Unicode UTF-8 を使用」にチェックを入れ なければUnicode非対応のアプリは従来通り動くし、これにチェックを入れな ければ動かない既存のアプリっていうのも現状では無いんでしょう? 非対応アプリを対応させるのに要するコスト以上の利益が今後見込めるなら アプリ開発元も対応させるだろうけど、そうでないなら放置されるんじゃ ないかなあ。 MSがUnicode非対応アプリを切り捨てるようなことをすれば、Windows離れ (=パソコン離れ)が進むだけでしょ。
756 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:36:26.55 ID:JUtzLycC.net] CP1252のアプリにUTF8突っ込まれてもやっぱり困るだけだよなぁ。
757 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:40:34.75 ID:oARfCEQj.net] いきなりなんとかアプリで括るから話が噛み合ってないのでは? まず確認すべきなのはAPIの挙動がどう変わるのかで、 次に典型的なsjisアプリでAPIをどう使っているのか だから影響はこうだみたいな 誰か整理して教えて
758 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:43:29.50 ID:dbvsSdaZ.net] >>738 > printf("あほまぬけ\n"); こんなアプリがあったときに、 設定後は文字化け出力
759 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:56:56.29 ID:4pvDP8OD.net] >>731 こちらの論拠は全てこのツイートにあるしこれベースで話していたわけで、 最初から君の主張がそれなら話が早かったんだけどね 端からAPI関係ないと言われても話が通じず意味不明にしか思わない しかしはっきり言って、どっちも信用ならんw 自分でテストするしかないわもう
760 名前:デフォルトの名無しさん mailto:sage [2019/11/26(火) 23:58:07.39 ID:JUtzLycC.net] ググってみて気付いたが一年以上前の話題なのね、これ。
761 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 03:15:27 ID:j6pNPBz/.net] >>738 > 設定前と設定後で出てくる文字コードが違うんだぜ? 違うという証拠は? printf("あほまぬけ\n"); と書いてコンパイルしたとき \0で終わるSJISのバイト列が格納されてるに過ぎない。 それが設定で変わるわけ無いだろ。
762 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 03:32:29.18 ID:j6pNPBz/.net] >>733 > APIの挙動変るのはやっぱヤベーな それは英語圏のASCII前提で作られているアプリでSJISを使うと \(0x5c)が含まれる「表」などで誤動作するって話と同じこと www.kent-web.com/pubc/garble.html > 今まで通りSJISだと決めてかかって独自関数でパスの分解などをすると滅茶苦茶になるって話やん > これを利用したディレクトリトラバーサルとかも可能なんじゃね? UTF-8は文字の一部にASCIIコードが含まれることはないのでそのようなことは発生しない。 というかそもそもが「英語圏で作られた日本語などを扱えないUnixアプリ」でこのような問題が 起きないように考慮されて作られたのがUTF-8だから
763 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 03:36:29.35 ID:h6Shw8l2.net] >>747 A系のAPIがUTF-8に変換されるってのは、そういうことだろう?
764 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 03:37:49.05 ID:h6Shw8l2.net] >>748 >UTF-8は文字の一部にASCIIコードが含まれることはないのでそのようなことは発生しない。 ねぇねぇ? 大丈夫?
765 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 03:56:45.13 ID:j6pNPBz/.net] >>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が勝手に変換しているのではない。
766 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 03:57:05.53 ID:j6pNPBz/.net] >>750 大丈夫だからなにか言い返せ
767 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 04:00:06.35 ID:j6pNPBz/.net] >>749 > A系のAPIがUTF-8に変換されるってのは、そういうことだろう? 違う。WindowsネイティブのUTF-16が、A系APIを使ったときにUTF-8で渡ってくるというのは APIの引数の話であって、printfなどの標準入出力やファイル入出力とは関係ない。
768 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 04:41:20 ID:h6Shw8l2.net] >>753 printfは内部でWriteFileを呼んでるよ?
769 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 04:46:25 ID:j6pNPBz/.net] そこまで調べたなら、WriteFile、ReadFleには AやWという区別がないところまで調べようか? これはバイナリで読み書きする。必然的に文字コードの変換など起きない。
770 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 07:11:33 ID:h6Shw8l2.net] ところがコンソールに書くときはどうなると思う?
771 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 07:34:16 ID:j6pNPBz/.net] dirコマンドはUnicodeでコンソールに書いている例 cp932でもUnicode文字のファイル名を表示している・ これを踏まえて>>756お前がどうなるのか書けや 実は知らんのだろ?
772 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 09:00:23.34 ID:h6Shw8l2.net] UTF-8は文字の一部にASCIIコードが含まれることはない とか言っちゃう人に説明しても無駄だと思うからやめとく
773 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 09:13:15.33 ID:yBES+u77.net] そこは単なる表現ミスだろww ID:j6pNPBz/ は言ってること基本的にあってる こいつはどうか知らんが、このタイプのやつってやたら自信と知識あるのにプログラミングできないことが多い
774 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 09:29:28.95 ID:naVEM3yc.net] 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.
775 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 09:33:42.45 ID:aKqeYuzt.net] 頭でっかちって奴? 装備は良くてもと実力が・・・的な
776 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 10:18:57.48 ID:j6pNPBz/.net] >>758 SJISは「表」のように文字の一部に「\」が含まれることがある。 UTF-8では文字の一部にASCIIコードが含まれることはない。 反例があるならどうぞ
777 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 10:54:33 ID:kdwhCzf5.net] 素人ですまんが"a"の文字コードはUTF8ではどうなるの?
778 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 10:57:33 ID:vWenFewH.net] ASCIIと全く同じ。そして他の文字の一部に含まれることはない。
779 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 11:01:09 ID:aKqeYuzt.net] >>762 \に拘らなくてもダメ文字でよくない?
780 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 11:04:56 ID:vWenFewH.net] >>733が > 今まで通りSJISだと決めてかかって独自関数でパスの分解などをすると滅茶苦茶になるって話やん と書いてるから\にしただけの話 ダメ文字の定義なんて無いし
781 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 11:19:42 ID:BEy4sBWT.net] >>762 マルチバイトの文字の2バイト目以降にASCII文字が含まれることはない、とか言えば相手に誤解されないんじゃないか? 相手が理解してない、間違ってると決めつけるのでなく、自分の意図が正しく相手に伝わってない可能性があることに想像が至らないのかな。 いつも他人と衝突してばかりで(主に周囲の方が)苦労してそう。
782 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 11:38:22 ID:FqMFrKp3.net] APIの挙動は変わらないから問題ないっていうのなら、本件のスイッチはなんの意味が? 実際に、表示に問題が出たりpythonで問題が出たりしてるけど、原因は何? このスイッチで何が起こっている? 本当にロケールの変更だけなのか?問題ないならスイッチなんか付けずに勝手に処理変えていいのでは? この説明をして初めて問題がないという事に説得力が出るんじゃないの?
783 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 11:45:34 ID:fiNnSHXp.net] > APIの挙動は変わらないから問題ないっていうのなら、 誰もそんなこと言ってない。スレ読み返してお前がどれにレスしてるのか言ってみろよ。
784 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 11:48:33 ID:h6Shw8l2.net] >>768 アプリの話だから関係ない。キリッ
785 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 12:07:01.06 ID:kdwhCzf5.net] >>764 つまり、UTF-8にASCIIコードが含まれるんだよね。
786 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 12:22:16 ID:FqMFrKp3.net] >>769 問題ないし関係ない主旨の書き込みを繰り返しされてたよね 要点はこれらしい>>732 >>770 すっごい抽象的で意味分かんないだよね 関係ないって言ってるその内容そのものが一番問題なはずなんだけど
787 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 12:24:39 ID:FqMFrKp3.net] >>769 >>731-732だな
788 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 13:11:10 ID:O313Yaxb.net] まあちゃんと問題切り分けできてないのがヤバイヤバイゆーてるのが気にくわんのとちゃうの なんか知らんがユーザープロファイル壊れたハンパねえとか 具体的な問題点あげさせたら>>754,756みたいにまるで理解してなかったりとか
789 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 13:33:51 ID:aKqeYuzt.net] 自信たっぷりの人ほど自分の説明の仕方を疑わない
790 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 13:44:11 ID:yBES+u77.net] 問題起こす可能性ある行為 文字列に対して0x81〜0x9f以下だからみたいな全角半角判別をする(やりたいならutf16にしてからする) printf("死ね")というようにソースに文字列を直接書く(文字列は必ずリソースから使う。utf8リソースも用意する) 文字列をエンコード変換せずにファイルに書き込む(cp_acp使って変換する)
791 名前:デフォルトの名無しさん [2019/11/27(水) 13:57:22 ID:KtqS+hCI.net] >>701 もしかしてmbcs
792 名前:デフォルトの名無しさん [2019/11/27(水) 14:08:52 ID:KtqS+hCI.net] >>722 LoadLibrary には A と W があるのに GetProcAddress には無いんだっけ なんでだろ LoadModule は忘れた
793 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 14:16:45 ID:VAJZLvH1.net] LoadLibraryの引数はファイル名なんだから9xとNTで文字コードが違うけど GetProcAddressの引数の関数名はASCIIしかないからでしょ
794 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 14:17:12 ID:sIfFpL55.net] ユニコードビルドのプログラムならまず問題は起きんよ あえてCHARを使うケースなんて限られているしそういうとこはAPIを介することもない printfなんか使わず_tprintf使うしな 問題は過去に作られたマルチバイトビルドのモノ
795 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 14:19:26 ID:VAJZLvH1.net] Unicodeしか対応するつもりがないのでwprintfを使う。
796 名前:デフォルトの名無しさん [2019/11/27(水) 14:22:05.53 ID:KtqS+hCI.net] CP_ACP を使うのは別に悪くないぞ active code page なんで文字通り動作時の CP に合わせて 良きに計らって変換してくれる CP が utf-8 なら 入力も出力も CP_ACP で utf-8 と変換 CP が cp932 なら 入力も出力も CP_ACP で cp932 と変換 これは正しい動作 ただしソースが SJIS 固定で書かれてるのに CP_ACP 使って Unicode に変換して出力してる糞ソフトは可笑しくなる
797 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 15:06:32 ID:FX4WAgVx.net] CP_ACPってGetACPで返ってくるのと同じものだろ? active code page じゃなくて ansi code pageの略みたいだけど これchcpしたコマンドプロンプトから呼び出しても変わってないやん。 これWin9x系対応かつ多言語対応のGUIアプリを作るときしかまともに使えないんじゃね? 今どき多言語対応にするならUnicode使うだろうし、古いアプリの メンテナンスなら仕方ないけど、20年近く前のアプリ?w 今の時代にcp932が登場するとしたら、バッチファイルから実行される コンソールアプリぐらいだろうけど、chcpで変わらないのだから chcpのデフォルトになってしまうCP_ACPでは機能不足だよ
798 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 15:10:40 ID:FX4WAgVx.net] >>771 「表」に含まれる「\」のようにASCIIコードが文字の一部には含まれることはない
799 名前:デフォルトの名無しさん [2019/11/27(水) 15:10:52 ID:KtqS+hCI.net] それはコマンドプロンプトが糞なんや
800 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 15:15:40.12 ID:KOWJoLHR.net] >>785 それではどう直せば満足なわけ?
801 名前:736 mailto:sage [2019/11/27(水) 15:22:07.89 ID:KOWJoLHR.net] 互換性無視してもいいので
802 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 15:22:13.10 ID:yBES+u77.net] setconsoleoutputcpとかいくつかあるだろ
803 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 15:23:06.36 ID:I8EYSxvC.net] >>784 そんな素人にとってすら常識なことを言わないでくれ。
804 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 15:30:16.22 ID:KOWJoLHR.net] >>788 つまりCP_ACPじゃなくてSetConsoleOutputCPを使っていう話だよね
805 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 15:49:28.45 ID:yBES+u77.net] >>776 はファイルに書き込む話だからcp_acp。setconsoleじゃない
806 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 22:17:44.20 ID:ynQDuheL.net] これって将来OS内をutf8にする布石だったりする?
807 名前:デフォルトの名無しさん mailto:sage [2019/11/28(Thu) 00:22:55 ID:uZo2jF8i.net] ありえない。意味がない。
808 名前:デフォルトの名無しさん [2019/11/28(木) 03:45:07.96 ID:63QrZJYD.net] 質問 1..ソースファイルのフォーマットはどうするべき 2.StringCchPrintfAはcrtに丸投げしているようだが使っていいのか
809 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 08:26:03.14 ID:NFB6hYx8.net] ソースのエンコードなんてどうでもいいよ APIの挙動は何も変わらないからStringCchPrintfA使っても問題ない いわゆるc言語の教科書に書かれてるようなソース書いてたら問題起きる ローカライズ、グローバライズ、多言語、その辺を意識する必要があるってだけ
810 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 09:34:08.69 ID:uZo2jF8i.net] >>794 どうせVisual Studio使うんだろ? ならソースコードのエンコードはデフォルトのUTF-8(BOM、シグネチャ付き) UnicodeでないとUnicode文字が書けないだろ? ソースコードにASCII文字しか書かないなら、UTF-8でもいいがそれは 結局SJISと同じになるので区別がつかない。SJISと誤判断されないようにBOM付きが良い。 StringCchPrintfAではなくStringCchPrintfWを使え。 今どきはUnicode対応だろ。いつまでも9x対応にしなくていい。
811 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 09:35:39.32 ID:uZo2jF8i.net] 改行コードは、Windowsしか使わないならCR LFでいいが、 俺はWSLからも参照するのでLFにしてる。
812 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 11:01:30.14 ID:XyamUy6x.net] linuxのツールなら大抵どっちの改行もOKでしょ windowsはCR LFだけってのが多いけど
813 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 11:13:16.22 ID:uZo2jF8i.net] LinuxのシェルスクリプトはCR LFだと動かないぞ むしろWindowsツールのほうが両対応してるのが多い
814 名前:794 mailto:sage [2019/11/28(木) 13:58:18.73 ID:63QrZJYD.net] >>795 strsafe.hを眺めると、StringCchPrintfはAPIではなく、_vsnprintf_sに行き着くように見えるのだが、そのまま使ってよいのか >>796 char[]でファイルとやり取りする仕様なのでUnicodeにはできない BOM付きUTF-8には抵抗がある
815 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 14:39:08.15 ID:d38/0Efq.net] >>800 ソースコードの文字コードとコードは関係ない。 > char[]でファイルとやり取りする仕様なので ファイルとやり取りする所だけ変換すればよい ってか、本当にUnicode非対応のアプリ作ってるのか?
816 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 14:41:36.77 ID:d38/0Efq.net] > StringCchPrintfはAPIではなく、_vsnprintf_sに行き着くように見えるのだが、 正直、StringCchPrintfがなんでAPIなのかの理由のほうがわからんのだがな 処理内容的にOSとやり取りする理由がないので APIやない方が理解できる。 というかMS専用関数じゃなくて_vsnprintf_s使ったら? まあ俺はC++使うんだけどさ。std::wstringとか
817 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 10:03:10.42 ID:zAKbhIi4.net] APIだと脆弱性見つかった時の修正が楽 組み込み関数だと全アプリ作者に修正促さないといけないし、現実的に脆弱性の修正不可能だからな
818 名前:デフォルトの名無しさん [2019/12/03(火) 00:42:13 ID:VF2M+VnQ.net] 現在のウィンドウのIMEの種類を取得する方法ってありますか? 「やりたいこと」 今使用しているIMEがGoogle Japanese IMEかMS IMEなのかどうか知りたい。 ローマ字やかな入力などの情報ではなく、MS IMEや Google IMEなどのキーボードレイアウト?の情報がほしいのです。 GetKeyboardLayout関数などを使用してみたのですが、言語別のキーボードの情報を知ることはできるのですが、日本語キーボードのIMEはどちらも同じ値しか取得できません。 調べてもなかなか分からず困っています。Win32 APIで取得するにはどうしたらいいですか?
819 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 02:11:28.50 ID:rgVievzQ.net] ワシは諦めてユーザーに選択させた
820 名前:デフォルトの名無しさん [2019/12/03(火) 06:40:02 ID:Ocr+v9UU.net] utf-8 BOMをエラーにするのは正義の戦士だからでは。
821 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 07:22:13.61 ID:JICZN31D.net] >>804 ImmGetDescription
822 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 10:43:37 ID:K+LsX9hM.net] どうもありがとうございます
823 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 17:27:04.61 ID:pBYkh1q9.net] ディスプレイの解像度の変更をSetDisplayConfigで作成しましたがDPIの変更の方法が分かりません DPIを変更するAPIはありますか?
824 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 18:09:06.28 ID:+TqcdXsD.net] >>809 https://stackoverflow.com/questions/35233182/how-can-i-change-windows-10-display-scaling-programmatically-using-c-sharp
825 名前:デフォルトの名無しさん [2019/12/04(水) 18:39:47.52 ID:6HAN0Ali.net] >>807 回答ありがとうございます。 その関数も試してみたのですがどうやっても取得できず、もうお手上げ状態なので諦めました。
826 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 01:17:52 ID:PaDa/vrn.net] >>810 サンクス 非公開のAPIなんだね 何とか頑張ってみる
827 名前:デフォルトの名無しさん [2019/12/12(木) 14:53:42.50 ID:b3wcvAqB.net] クリップボードのデータのtextって毎回上書きですか? 何回分かのスタックになってないのですか?
828 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 15:13:04.80 ID:xAqeogD1.net] >>813 なってない。 というか、クリップボードはテキストとか関係無く毎回上書きされる。 クリップボードに何かが入った時を監視してそれを保存するアプリは組めるし、実際にそういうのもある。
829 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 15:33:11.62 ID:Op4VISj2.net] SetClipboardViewer で クリップボード内容の更新の毎に WM_DRAWCLIPBOARD が飛んでくるようになる
830 名前:デフォルトの名無しさん [2019/12/12(木) 15:50:22.24 ID:Lo+C9eAO.net] 秀丸のコピペとか他のエディタ(viとかemacs)のコピペとかでも winのクリップボードと共有されてるときと無関係なときがあって 良く判らん
831 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 16:10:30.55 ID:AEDrk6Uo.net] winキー + vで履歴がみれるからどこかしらに貯めてるんだろうけど C#ならとれるみたいだが
832 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 16:57:44.51 ID:j9C8qGhA.net] ちゃんとアプデしてるwin10でなおかつその機能が有効になってないと使えないものをわざわざ使うの?
833 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 17:10:56.86 ID:AEDrk6Uo.net] 実際使う使わないの話なんてどこでしてるの?
834 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 18:18:29.77 ID:j9C8qGhA.net] 使わないんならなんでそんな話するの?
835 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 18:42:49.68 ID:20Y0AB35.net] 趣味なら自分だけ使えりゃいいし、そうじゃなくても最近の開発の流れは最新状態だけサポートしてればいいんだよ 対応環境広く取りたいなら独自実装
836 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 19:07:22.03 ID:j9C8qGhA.net] 動作環境も開発環境も選ぶ状況において、なおかつ今のクリップボード履歴の仕様的に満足できるのか ってな観点で、もちろんそれで必要十分なら止めはしないが、わざわざ作るんならコスト的にも独自でいいじゃんと思うわけよ
837 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 19:23:55.06 ID:AEDrk6Uo.net] >>820 だから使う使わないって話はしてねえっての 話聞いてんのかこのアスペは 何を作るのか要件はなにかも知らないのに何勝手に妄想してんだ [] [ここ壊れてます]
839 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 20:56:44.08 ID:j9C8qGhA.net] >>823 自己紹介だよね? 何を思って817書いてるの?日記だったの? 要件不明だけどこれも使えるよって自分で書いてるんだよね? 使う使わないの話以外に何のつもりだったの? やっぱり日記だったの? もしくはこんな知識僕持ってるんだよ!すごいよね!ってことなの? それならごめんね、すごいすごい
840 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 21:03:46.09 ID:j9C8qGhA.net] ついでに822の補足として書いとくと、以下の仕様をわざわざ限定された環境で作って 限定された内容で実現する意味あるの? ってのがこちらの趣旨 わざわざ書くのもアホらしいのでコピペだが ・保持できるサイズは1MB未満データ(全体上限は5MB) ・保持件数は、ピン留めを含め50件まで ・履歴の編集ができない ・検索機能もなく、古い履歴を探していくのが大変 ・ピン留め以外の履歴は、パソコン再起動時に消えてしまう ・ピン留め履歴をグルーピングできない ・設定・カスタマイズができない ホントマジで何が言いたくて>>817 を書いたのか説明して欲しいな
841 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 21:19:30.45 ID:20Y0AB35.net] ・保持できるサイズは1MB未満データ(全体上限は5MB) =拡張できる可能性ある ・保持件数は、ピン留めを含め50件まで =拡張できる可能性ある ・履歴の編集ができない =拡張できる ・検索機能もなく、古い履歴を探していくのが大変 =拡張できる ・ピン留め以外の履歴は、パソコン再起動時に消えてしまう =そういう仕様。問題なし ・ピン留め履歴をグルーピングできない =拡張できる ・設定・カスタマイズができない =拡張できる プログラマ次第
842 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 21:36:28.74 ID:rV45/ffF.net] Win7厨が死ぬのでAUTO 再起で消えるのはAUTO MSの気まぐれ仕様変更に左右されるのでAUTO つか、クリップボードアプリを今さら自製する意味あんの?
843 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 21:39:45.49 ID:20Y0AB35.net] 「ピン留め以外の履歴は」だぞ。ピン止めしてれば再起動で消えない さらに標準機能のままで別のデバイスとのクリップボード共有もできる
844 名前:デフォルトの名無しさん [2019/12/12(木) 21:45:15.88 ID:AEDrk6Uo.net] >>824 要件次第ってことを言わなきゃわからんか? なんでこんなに頭悪いんだろうこいつ お前が勝手に脳内で妄想してる要件なんてみんな知らないんだが 使う使わないは質問者次第だろ だからアスペと話すのは疲れるんだわ
845 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 22:53:17.95 ID:j9C8qGhA.net] >>829 こっちは要件に合致しようがしまいが、そんな限定品をわざわざ使わんでよろしいと書いてるだけ アスペほど人をアスペ呼ばわりするんだよな
846 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 23:05:41.90 ID:AEDrk6Uo.net] 要件みたしてるのに限定もくそもないわ 意味不明
847 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 23:29:05.23 ID:3RY4sNiR.net] >そんな限定品をわざわざ使わんでよろしい でも使っている人がいることを考慮すればOSの機能に統合していくほうが良いのでは? (あくまで機能をONにしている人の場合はってことね、OFFなら全部独自でも) ただ、独自にクリップボードアプリ入れている人はそんなOSの機能使ってないだろうから、今更こっちで実装する意味もないだろうし クリップボードアプリを初めて導入しようとする人に対して、“限定的なOSの機能”を勧めるより独自でいいじゃんってのもわかる ただすでに使っている人に対して、このソフト使いたいならそんなOSの機能使うのやめてこっちの機能使ってと強制するよりいいんじゃないの ケースバイケースではあると思うけどプログラマーが機能を限定・強制するより ユーザが取捨選択できるようにするのがプログラマーらしいと思うんだけど違うんかね?
848 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 00:15:07.64 ID:azLSlpn/.net] >>831 要件次第と自分で言いつつ、最後には要件を満たしてるとすげ替えてくる辺りがオツムアウト
849 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 00:53:44.81 ID:WxCURz1I.net] そもそもクリップボード履歴へのアクセスはWin32API案件なのか? まあ共有機能以外の魅力は皆無だし、共有ならクリップボードじゃなくていいな
850 名前:デフォルトの名無しさん [2019/12/13(金) 00:57:13.69 ID:dfXjuQNa.net] >>833 ほんとこいつなんなんだ おまえの >要件に合致しようがしまいが ってのにレスしてるんだが このアスペ君はどうしようもないな
851 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 01:11:31.02 ID:kpEsNBmZ.net] まあ今はWinRTでもC++/WinRTとかでじゃんじゃかデスクトップからも呼んでいこうぜみたいな方向性だから Win32APIの範疇でええんちゃう
852 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 02:40:38.79 ID:azLSlpn/.net] >>835 日本語も理解できないのに、よく日本人のフリするね 「要件に合致しようがしまいが」という言葉は、「要件に一切触れてない」という意味以外に何があるんだよ >>要件に合致しようがしまいが >ってのにレスしてるんだが どうやっても「要件が合致してる」という日本語にならんわ 「アスペ連呼する奴自身がアスペ」だけ正解 >>832 強めに否定したけど、確かにそれが正論よ でもこのスレで>>813 レベルの質問だから、Win32APIどころかWindowsの仕様も 分かってないしクリップボード履歴すら知らんでしょこの人 やりたければ好きにやればいいけど、このレベルでどうせやるならこのスレ的には 王道通って基本知識得た方がいいと思う
853 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 07:22:06.02 ID:Ry/2QtNy.net] >>827 今後のアプリはクリップボード非対応であるべきという主張か?
854 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 07:34:38.88 ID:6WB0hlYg.net] >>837 横からだけど… 「要件に合致しようがしまいが」って言うのは「要件に合致してる」場合も含むよね? そのケースですら「使わんでよろしい」って言うのは流石にアホすぎる って言うことまで説明しないとわからないのはアスペ以前のレベルかと
855 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 07:51:20.76 ID:Kjqlf5V3.net] キチ相手は時間の無駄だぞ。NG一択
856 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 11:08:16.82 ID:WxCURz1I.net] >>839 横からだけど・・・ 要件に合致しててもそれに見合うリターンがあるかどうかで取捨選択は普通にある それよりも、要件が分からないままなのに要件に固執する意味が分からない
857 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 11:20:24.74 ID:pL92+wEw.net] >>841 実際のところ、要件に固執しているのではなく、自分の主張が正しいんだ!議論に勝つのは俺だ!ってところに固執してるだけだろうから議論に参加しても不毛だぞ。
858 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 11:53:13.32 ID:I2cXzzwa.net] 同意して欲しいだけならそう書け もしくは知恵袋か発言小町で聞いとけ 女の腐ったような奴め
859 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 12:04:31.06 ID:7cSP0QnC.net] その発言は女に失礼だ わたし女だけど
860 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 12:10:16.52 ID:AWx0v8TP.net] で >>813 は問題解決できたんだろうか?
861 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 12:24:14.99 ID:6WB0hlYg.net] >>841 > それに見合うリターンがあるかどうか 広義の要件ってそう言うのも含むだろ 仮に>>830 の言う要件にはリターン云々が含まれないとしても見合うリターンがあるケースがないわけじゃないだろうし
862 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 13:08:53.81 ID:WxCURz1I.net] >>846 その人にとって見合うリターンがなければないんでしょ 見合うと思う人はあるんでしょ 単にそうやって相容れない話があるだけで、要件という言葉について固執する意味ないと思います それでも要件という言葉の定義に固執するのであれば、まずはWin32APIというスレのテンプレ定義に従うべきだと思います 自分は細かいこと言いたくないですが、要するにスレチです
863 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 19:41:50.08 ID:6WB0hlYg.net] >>847 スレチと言いながら頓珍漢なレスされてもなぁ > 見合うと思う人はあるんでしょ それを含めて > 「使わんでよろしい」 って言ってるからバカにされてることにそろそろ気づけよ… まあスレチとか言い出してるしそろそろ恥ずかしくて出てこれなくなる頃だと思うがw
864 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 19:51:47.07 ID:Ry/2QtNy.net] >>844 腐ってる? そうは見えないけど
865 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 19:56:38.02 ID:azLSlpn/.net] >>848 ん?横からのふりして本人か 理解できないのを誤魔化しちゃいかんよ お前という人間をいかに正当化しようが、お前はクソ 居なくてよろしい クリップボード履歴の機能を使い回すのもクソ 使わなくてよろしい 似たようなもんだ
866 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 20:16:21.09 ID:WxCURz1I.net] >>848 レス先間違ってる訳ではないですよね? レスの意味が分からないのですが、見合う見合わないはあなたが判断することではないでしょ 論点は見合うか見合わないじゃないですよということと、言葉の定義にこだわってる(?)なら テンプレからこだわってくださいねって書いてるだけですが
867 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 20:44:57.78 ID:KHLl2/ku.net] >>850 反論できずに人格攻撃かよw ダサ過ぎる >>851 そりゃその理解力だとわからんだろうなw 見合う見合わないの判断を誰がするかなんて話してない 見合う可能性があってそれに対してまでも > 「使わんでよろしい」 って言うバカがいたって言うだけの単純な話
868 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 20:53:58.84 ID:JngkN9sX.net] どっか別の場所で同士仲良く言い合ってろよキチガイ
869 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 20:55:09.79 ID:azLSlpn/.net] >>852 自演も隠さねえなw どっちがダセえんだよ カスにカスって言うことに理屈はねえよバカス 使わんでよろしいの真意も書いてるけど、お前は読めないから要件ばかり固執して逃げてんだろ あと、人格攻撃はお前が真っ先にしてきたことだからな アホだから覚えてないだろうが
870 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 21:06:16.62 ID:KHLl2/ku.net] >>854 > 使わんでよろしいの真意も書いてる どこに書いてるのかなぁ? レス番示して引用してみ まあどうせ言い訳して逃げるんだろうけど あとアホにアホって事実を伝えるのは人格攻撃と違うぞw
871 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 21:38:46.71 ID:azLSlpn/.net] >>855 じゃあ俺のは人格攻撃じゃないのは分かるね?いや、アホだから分からんか このやりとりが始まってからの書込みすら追いかけられないドアホは 今後も勝利宣言に固執するんだろうなあ
872 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 22:48:50.52 ID:KHLl2/ku.net] >>856 あれ? > 使わんでよろしいの真意も書いてる はどうなったのかな? ごたくはいいからはよ書けよ 書けないなら黙ってろよ、恥の上塗りするだけだし あとお前のは人格攻撃 根拠も示せずにカスとか喚いてるだけだしw
873 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 22:52:12.35 ID:WxCURz1I.net] >>852 ええ・・・まだそこですか
874 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 23:58:18.11 ID:azLSlpn/.net] >>857 すごくはっきり書いてるよ ちゃんと読みなよ 日本語検定中
875 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 07:23:45.42 ID:JneJDC0D.net] >>858 うん、ずっとそこだよ そもそもスレチと言いながらレスし続けるのはちょっと矛盾してないかね? >>859 低能がよくやる方法でごまかそうと必死だな 勢いで > 使わんでよろしいの真意も書いてる って書いたもののどこにも書いてなくてどうしようか顔真っ赤ってパターンw これまでも何度も見たわ
876 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 11:11:28.31 ID:HleGE+LF.net] 邪魔ですからPythonスレに来ないでください
877 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 14:13:33.57 ID:O6whyyHQ.net] コピペの話題だけで伸びるなあ
878 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 14:51:02.53 ID:rt22J2a+.net] ていうか、何1つ技術論になってない。 どうでも良い話ばかりで意味が無い。
879 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 16:09:59.98 ID:iAHQje9y.net] >>860 鏡を見なよ 書いてること読めないくせに、書いてないことにして逃げてる君が居るよ 日本人じゃないのかなあ?
880 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 16:19:23.96 ID:JneJDC0D.net] >>864 「書いてる」って強弁するしかない低能乙 低能のパターンっていつも同じだなw
881 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 16:48:15.77 ID:iAHQje9y.net] IDもたどれない低脳が何言ってんのかな?
882 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 17:36:22.73 ID:JneJDC0D.net] >>866 IDたどればわかるって言うのも低能がよくやる手 もちろんどんだけたどっても出てこない 出てくると言うなら > レス番示して引用 するだけでいいんだけど、やれないから色々知恵を絞って言い訳してる まあ知恵絞っても所詮低能の知恵だからいつものパターンしか出てこないけどなw
883 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 17:45:35.62 ID:SZLGcxYz.net] 匿名掲示板にないものをあてにする そもそも根本的なことがわかってないまま おかしい前提でわめくやつってよくいるよね
884 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 18:14:57.83 ID:6GWqrPiA.net] >>867 スレチって言葉知ってます?
885 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 18:15:05.22 ID:iAHQje9y.net] >>867 はい、日本語検定終了です 無能をご自身で証明しましたね 854 :デフォルトの名無しさん :sage :2019/12/13(金) 20:55:09.79 (p)ID:azLSlpn/(6) このIDすら辿れんの?検索って言葉も知らなかったの? 書込み6つのうち、理由書いてるの一つだけだぞ これでも使わなくていい理由に該当する日本語文章を理解できないなら、マジモンだわ
886 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 18:40:30.28 ID:OXhHrwiB.net] ガガイのガイ
887 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 18:51:07.34 ID:JneJDC0D.net] >>869 知ってるならお前こそ無駄なレスするなよw >>870 たどっても書いてないからなぁ 書いてると言うならとっとと > レス番示して引用 しなよ まあできないからグダグダ言うしかないんだろうけどw
888 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 19:44:35.88 ID:6GWqrPiA.net] スレチの指摘がスレチって小学生ですか? スレ内検索方法もスレチですよ
889 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 22:05:00.87 ID:kglnzMFx.net] 5ch初心者か? 嵐の相手する奴もまた嵐 って言葉も知らんの?
890 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 13:57:19.13 ID:OEfOSaxg.net] ここが適切かどうか解りませんが最近のWindows10で腑に落ちないことが 32bitのアプリ内からプリンタドライバ経由でファイル生成を行ってたんですが 実体のファイルが無い(=親プロセスから見えない)のに処理が完了するようになってました 少なくともWindows7やWindows10初期では出なかった問題なのでここ最近のアップデートで 関連する何かの仕様変更があったのでしょうか? 今までは次ステップ処理で単にファイルの存在確認だけで問題無かったのですが 対策として存在確認の前に生成されていない状況を想定し、ウェイト入りで 複数回確認することで回避は出来ています 変更内容によっては他の箇所も潜在的な問題が埋まってることになるのでいっぱい見直さないと・・・
891 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 14:51:44.29 ID:0QfDHC/h.net] ファイル生成完了するまで処理が戻ってこなかったのに、完了前に戻ってくるようになったって事? これはむしろ昔からそのような仕様だったような 印刷枚数を厳密に管理するためにファイルに吐いてから自分で印刷をかけるシステムを 組んだことあるけど、ファイル生成完了まで待つ処理を作ってた記憶がある ファイルが見えないだけなら権限の問題じゃないのかね
892 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 19:04:49.34 ID:OEfOSaxg.net] >>876 ファイル生成完了前に戻ってくるようになった、という認識です Windows2000の時に組んで今年に入るまでは問題報告を受けてませんでした アクセス権の反映と思って(あるけど触れない)単純に1〜2秒のウェイト入れて一時的に 回避してたのですがそれでもおかしい時があるのでキッチリ見える
893 名前:謔、になるまで待つようにしました Windows7の時にもの凄い回数の負荷テストを乗り越えてた処理なので 少なくともWindows10以降からの仕様とは思ってるですけどねぇ・・・ [] [ここ壊れてます]
894 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 20:45:50.96 ID:0QfDHC/h.net] >>877 Win95〜ME辺りの相当前のことなのでちゃんと覚えてなかったゴメン ソース引っ張り出してみたけど、単にメッセージループ挟みながら 出力ファイルをaccess関数に渡して0が返ってくるの待ってるだけだった この後自分でポートに出力してる流れ この時のaccessが0を返すタイミングがファイル作成中なのか終了後なのかもはやよく分からないけど、 ファイル作成中なら後のポート出力で死にそうなんだよね・・ 古すぎてもう動作確認無理 この辺の動きはプリンタードライバーによっても違ったような気もする (意図した動きをEPSONはするけどCANNONはしなかったとかで、EPSONを採用したような) いずれにせよ古すぎる話なので流し読みしてください
895 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 09:24:20.39 ID:Gy2xCCd1.net] せっかくなのでもちょい情報共有 PrinterにFileName与えて印刷ジョブ作ってファイル保存させているのですがこのファイルが見えない 何かアンチウィルス系ソフトが引っかけてるのかと思って読み書き出来るようになるまで待つループを 入れてはみたけどそもそも見えない状態で印刷処理が終了して帰ってきてます 後工程ですがAdobeのDistillerAPIで上記のファイルからPDFに変換させてるんですが 明確にPDFファイル生成終わってから戻るってプロパティを指定しているにも関わらず 実体ファイルが見えない状態で元プロセスに戻ってくるって所です 子プロセスで生成したファイルを参照する場合、同期(処理完了待ち)してても ちゃんと実体ファイルがある(見える)かどうか確認しろって仕様なんでしょうね
896 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 10:37:37.67 ID:sJgjk0Fu.net] >>877 ファイル生成に使っている関数はなんなのかとか、 作成先はローカルHDDなのかネットワーク越しなのかその他のデバイスなのかとか
897 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 10:41:56.82 ID:sJgjk0Fu.net] あプリンタドライバか ちゃんと見てなかった
898 名前:デフォルトの名無しさん [2019/12/17(火) 10:48:38.27 ID:rApV4krM.net] とりあえずもちつけ \もちつきワッショイ/ + + ペタン + + /■\ ||| /■\ (´∀`) _ (´ー`) ( つ つ | |=O=O=) `) ) )| ̄ ̄ ̄|( ( ( (_)_)|´∀`|(_(_)  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
899 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 11:03:41.27 ID:KzMqUd+t.net] 極大重圧呪文 敵の足元に事象の地平面が現れる
900 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 14:46:19.28 ID:7Wrw/7IE.net] 重圧はのしかかるものなのに足元とは
901 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 17:24:25.91 ID:6LhBKKEf.net] >>883 ダイの大冒険?
902 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 19:32:25.48 ID:KzMqUd+t.net] うわ、誤爆ってたの? すまん今気付いたw
903 名前:蟻人間 mailto:sage [2019/12/17(火) 22:37:32.43 ID:meZ9RH2S.net] SysLink controls for Windows 2000+ https://github.com/katahiromz/SysLink
904 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 00:53:57.57 ID:05wxiJCk.net] CreateProcessマスターに俺はなる!
905 名前:デフォルトの名無しさん [2019/12/20(金) 00:32:35.78 ID:RUAfqlkn.net] 質問させてください。 コマンドプロンプトが入力待ちしている時に、右クリックするとクリップボード内のテキストが貼り付けされますが、 キーやマウスの入力エミュレートを使わずに、似たことを外部プロセスから実行する方法ってありますか? 具体的には、所定の文字列をコマンドプロンプト入力待ち領域に貼り付けて使えるようにしたいです。 WriteConsoleOutput()はあくまでも文字列をコマンド窓内に描画するだけであり、これを入力文字列としては使えないという認識です。
906 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 02:39:17.63 ID:u+7Wx2e4.net] printf? stdout?
907 名前:蟻人間 mailto:sage [2019/12/20(金) 08:40:13.73 ID:DMSRAkHW.net] シェル自作がお望みかな?
908 名前:889 [2019/12/20(金) 08:54:20.93 ID:RUAfqlkn.net] >>891 コマンドプロンプト版のhistoryにあたる doskey /h だけでは不満でdoskey /h の結果を使って、 プロンプト上で選んだ履歴文字列をプロンプトに出力して使えるようにし、 TABコマンドやF7, F8押下コマンド みたいな挙動が実現できればと思っています。
909 名前:889 mailto:sage [2019/12/20(金) 08:58:30.35 ID:RUAfqlkn.net] F7押下で履歴リスト選択がCUIとして表示されますが、これを別プロセスで実現し、リスト選択した結果を呼び出し元プロセスのコマンドプロンプトに渡せればな、と。
910 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 09:17:52.02 ID:u+7Wx2e4.net] パイプでおk?
911 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 16:33:13.35 ID:P4bU09Ny.net] ちょっと教えてください スリープ解除後、自作アプリのウィンドウが勝手に OSによって動かされることがあるんですが ユーザでなくOSによってウィンドウが 移動させられたことを知る方法ってあります? もしあれば教えてください
912 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 17:15:36.83 ID:nxgYpIXA.net] 誰に移動さられようが普通にウィンドウメッセージが飛んでくるんじゃねえの
913 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 17:20:12.25 ID:vypSjpz7.net] スリープ前後で瞬間的に解像度が変わっているんだろう で、解像度の変更を監視するWin32APIは知らないけど SystemEventsクラスで監視はできるらしい ttps://smdn.jp/programming/tips/displayresolutionchanged/
914 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 20:46:10.87 ID:5BvN72vp.net] Windows Terminal ちょっと使ってみたんだが、良さがわからなかった。 マイクロソフト公式の「車輪の再発明」って感じ。
915 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 21:16:48.92 ID:P4bU09Ny.net] >>896 ,897 DisplaySettingsChangedでちょっとテストしてみます
916 名前:895 mailto:sage [2019/12/25(水) 23:24:15.33 ID:P4bU09Ny.net] WM_DISPLAYCHANGEで試してみました 質問には関係ありませんが、4KとFHDのデュアルモニタ構成で スリープ復帰後にサブのFHDモニタのほうが先にアクティブになるのが原因で 個々のウィンドウが移動してしまうみたいです 22:51:29- Width=3840 Height=2160 MonitorCount=2 Left=3183 Top=921 -- Display Sleep 23:07:52- Width=1920 Height=1080 MonitorCount=1 Left=1271 Top=461 23:07:54- Width=3840 Height=2160 MonitorCount=2 Left=2542 Top=922
917 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 00:55:16.41 ID:mIZi4PgB.net] display portで繋いでると、ディスプレイの電源offを感知して offってないディスプレイに勝手にウィンドウを移動するのがうざくてしかたない offったディスプレイの電源をonしたら戻すならまだ許すんだけどそれはしてくれない この動作をどこかのレジストリとかで止められないのかな
918 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 01:22:41.29 ID:rIhsLdYp.net] HDMIでつなげば解決
919 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 21:38:04.29 ID:W3/psl0T.net] >>901 https://akiba-pc.watch.impress.co.jp/docs/news/news/1209822.html
920 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 22:38:01.08 ID:6ESypvgt.net] スレチ便乗で申し訳ないけど、作業中にDPモニターがいきなり真っ暗になってスリープに突入、
921 名前:そのまんまキーを押すと復帰するけど、>>901 ,903のような現象にはならない これは別件かな? [] [ここ壊れてます]
922 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 09:44:17.38 ID:sALG2rcq.net] PCがスリープかモニターがスリープか?
923 名前:デフォルトの名無しさん mailto:sage [2019/12/27(金) 12:49:32.62 ID:Jp3jdKct.net] >>905 モニターがスリープです PCが突然死したのかと思いきやキーを押すと復帰して、 ウィンドウ・アイコン類の位置は不変で復帰 スレチでスマン
924 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 09:38:30.70 ID:YUnrK54G.net] >>901 レジストリ云々の問題じゃなく単にモニタの電源のハード不良じゃないの 人間も寒いと急死したりするし
925 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 09:39:53.71 ID:YUnrK54G.net] あ、 DisplayPortの仕様の欠陥か 失礼失礼
926 名前:901 mailto:sage [2019/12/29(日) 02:37:17 ID:vZG3cDjt.net] ありがとう >903の記事読んで適当にググってみたら、結構文句が出てる件なんだな 当たり前か で、結局一番まともな解決法は>902というね… OSが勝手に移動するのをやめてくれるだけでいいんだけどなぁ
927 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 11:23:17.35 ID:tkVKn3Ql.net] モニタが急死したときには移動してくれると嬉しいけどなあ 急死と休止を判別できれば良いだけなのに
928 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 11:56:44.30 ID:NDUAcuzf.net] >offったディスプレイの電源をonしたら戻す を行う常駐アプリは比較的簡単に作れそう。 さらに、2ndディスプレイがオフられた時、そこにあった窓は最小化する機能も上記と併せて作れそうだな。
929 名前:デフォルトの名無しさん [2020/01/13(月) 02:20:53 ID:KqHO+Fgo.net] コマンドプロンプト上で doskey /reinstall とコマンド実行したら何が起きるのが正しいの?
930 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 03:51:15 ID:D4OVEYsz.net] 自分のマシンで起きたことが正しい
931 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 11:19:01.21 ID:R0T58PMv.net] 魔界への扉が開きました
932 名前:デフォルトの名無しさん mailto:sage [2020/01/14(火) 12:05:02.42 ID:9+tQ8K1Z.net] オーラロードが開かれた。きらめく光、オレをうつ。 conhost.exe、コアダンプ吐いても恐れはしない。飛び込めばいい。 肉を切らせてとどめを刺せば。
933 名前:デフォルトの名無しさん [2020/02/08(土) 00:55:22 ID:Qm4Y0Gmj.net] GetLastInputInfoって管理者権限じゃないとちゃんと値が返ってこないっぽいんだけど、こんなもんなんですかね アイドル時間知りたいだけなのに管理者って・・・ using System; using System.Runtime.InteropServices; public class GIT { [DllImport("User32.dll")] private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii); internal struct LASTINPUTINFO { public uint cbSize; public uint dwTime; } public static uint GetIdleTime() { LASTINPUTINFO lastInPut = new LASTINPUTINFO(); lastInPut.cbSize = (uint)System.Runtime.InteropServices.Marshal.SizeOf(lastInPut); GetLastInputInfo(ref lastInPut); return (uint)Environment.TickCount - lastInPut.dwTime; } }
934 名前:デフォルトの名無しさん mailto:sage [2020/02/08(土) 10:26:36 ID:yaVA2/v3.net] 4時間アイドル状態になってたらハッカーも侵入しやすそうだからな 知りたい情報の一つだろう
935 名前:デフォルトの名無しさん mailto:sage [2020/02/08(土) 11:37:22 ID:1udHLgDG.net] EnableWindow(hwnd, FALSE); この状態でhwndのウィンドウがクリックされた事を知るにはどうすればいいですか? モーダルダイアログを表示してる間はそれ以外のウィンドウを無効にしてるんですが(MessageBoxで言う所のTASKMODAL) hwndがクリックされたら有効になってるモーダルダイアログをアクティブにしたいんです
936 名前:デフォルトの名無しさん [2020/02/08(土) 11:51:40 ID:v1IBJgnW.net] 管理者じゃなくても実行出来てるみたいだが
937 名前:デフォルトの名無しさん [2020/02/08(土) 11:52:14 ID:v1IBJgnW.net] ああ実行できるだけで値が可笑しいのか
938 名前:デフォルトの名無しさん [2020/02/08(土) 12:05:40 ID:v1IBJgnW.net] >>918 hwndをモーダルなウィンドウのparentにしておけば良いんじゃね
939 名前:デフォルトの名無しさん mailto:sage [2020/02/08(土) 16:25:55 ID:1udHLgDG.net] >>921 ありがとうございます それだと親の時だけFlashWindowとMessageBeepの動作になるんですよね セオリーかはわかりませんがこれで目的の動作になりました // クリックされた側のプロシージャ内 case WM_SETCURSOR: if(HIWORD(lParam) == WM_LBUTTONDOWN) if(LOWORD(lParam) == (WORD)HTERROR) // hwndがクリックされた時の動作
940 名前:デフォルトの名無しさん [2020/02/09(日) 21:47:59.30 ID:VD5bohdG.net] GetGlyphOutline などで文字画像を取り出そうとすると、フォントが持ってない文字は代わりの文字を出力してくる。 (例えば、昔の毛筆フォントでは「(はしご高)」などはMSゴシックになる。) これを抑制したいので、そのフォントがグリフデータを持っているかどうか、調べる方法はありますでしょうか? すれ違いと言われてここを紹介されました。
941 名前:デフォルトの名無しさん mailto:sage [2020/02/09(日) 22:40:23.79 ID:iEENywsd.net] フォントフォールバックやらフォントリンク無視したいならUniscribeのAPI使えばいけるかもな
942 名前:デフォルトの名無しさん [2020/02/10(月) 16:17:30 ID:TGcYvj29.net] FreeFont とかの DLL 使っても良いと思うし グリフがあるかどうか確認したいだけなら ファイルを直接操作してインデックスがあるかどうかだけ観ても良い
943 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 01:46:21.54 ID:N6oHYtf1.net] 923ですが、GetGlyphIndices で自己解決しました。ありがとうございました。
944 名前:デフォルトの名無しさん mailto:sage [2020/02/11(火) 11:42:16.91 ID:KtXysiBK.net] FreeFont じゃない FreeType
945 名前:デフォルトの名無しさん [2020/02/14(金) 04:06:03 ID:+zlzzx/H.net] CreateWindowをした時に、強制的にウィンドウが開かれてしまうのですが、 これを最初は非表示にすることってできないでしょうか?
946 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 04:53:29.98 ID:0uq7uYLU.net] WS_VISIBLEを抜く
947 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 08:32:06.27 ID:L0qSgtfV.net] トップレベルウィンドウの事ならShowWindow SW_HIDEにする
948 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 14:52:03 ID:1V6axvhx.net] >>928 WS_EX_LAYEREDにしておくと初期状態で透明度100%じゃなかったっけ あるいはcx,cyを1,1にしといて、あとでSetWindowPosとか
949 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 17:55:12.05 ID:I6SUroxS.net] (1レス目で答え出てるんちゃうか・・・)
950 名前:デフォルトの名無しさん mailto:sage [2020/02/14(金) 19:42:58 ID:1V6axvhx.net] 即表示にしてないはずなのに一瞬出るって問題ちょくちょく出るかんな
951 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 03:03:52.13 ID:6/Lp/FUD.net] 理由は忘れたし検証する気はないが、普段非表示で必要時のみウィンドウを表示する アプリを作ったときは CreateWindowEx を使ってウィンドウサイズ0でやってた
952 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 05:39:02.31 ID:ceUVsII7.net] 初回のShowWindowではSW_xxxは無視される
953 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 09:27:01 ID:w0AGl45A.net] >>935 SW_HIDE試したけど無視されずに非表示になったよ
954 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 16:03:34.65 ID:0hgUDlXi.net] ウィンドウの種類による
955 名前:デフォルトの名無しさん mailto:sage [2020/02/15(土) 18:47:38.00 ID:ceUVsII7.net] STARTUPINO si; si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = SW_SHOWMAXIMIZED; で、こっちが優先される SW_SHOWNORMALだとアプリケーションの設定に従うようだ
956 名前:デフォルトの名無しさん mailto:sage [2020/02/16(日) 00:51:56 ID:I6oNTTaj.net] START /MIN "" "C:\Windows\Notepad.exe"
957 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 12:55:56 ID:gSBwNpi/.net] reg export HKCU\Software\... でレジストリの内容をエクスポートできますが、 このコマンドと同じことをAPIを使って行うことはできますか?
958 名前:デフォルトの名無しさん mailto:sage [2020/02/24(月) 13:53:35 ID:9Kd/PSPa.net] このあたりを使えばできるんじゃね、知らんけど https://docs.microsoft.com/en-us/windows/win32/sysinfo/registry-functions
959 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 09:52:47.18 ID:Hq3bKq4G.net] >>941 やっぱり自前で一から組み立てて真似しないといけないんですかね。 常駐ソフトの終了時にreg exportをCreateProcessで実行したいんですが、 WM_ENDSESSIONの中ではCreateProcessは失敗するようなんです。
960 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 10:04:04.72 ID:1Gze6tYX.net] WM_DESTROYでやれば
961 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 10:28:13.32 ID:Hq3bKq4G.net] >>943 起動されたままWindowsを終了したときは、WM_DESTROYは来ないようです。 WM_QUERYENDSESSIONやWM_ENDSESSIONしか来てませんでした。
962 名前:デフォルトの名無しさん [2020/02/25(火) 13:23:26.90 ID:FzVRg2bh.net] WM_CLOSE とか WM_DESTROY とか自分で呼べば
963 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 16:32:29 ID:Hq3bKq4G.net] >>945 WM_QUERYENDSESSIONやWM_ENDSESSIONの中でウィンドウを破棄しても、 そこからCreateProcessは呼べないようです
964 名前:デフォルトの名無しさん [2020/02/25(火) 18:18:41 ID:FzVRg2bh.net] CreateProcessを呼んでからCloseするんやろ
965 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 18:21:12 ID:1Gze6tYX.net] WM_DESTROYとか来ないね まあ聞いてる間に自分で組んでたらとっくに終わってる感 キーを読みながらぐるぐるループ回して吐くだけでしょ?
966 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 18:46:36 ID:yWXkUq9v.net] WM_ENDSESSIONから戻った後はたとえイベント発火したとしてもkillされる可能あるし
967 名前:デフォルトの名無しさん mailto:sage [2020/02/25(火) 21:59:24.69 ID:B0KlsSQW.net] >>946 別スレッドでWM_ENDSESSION来たらやってみるのは? あとShellExecuteはダメなん?
968 名前:デフォルトの名無しさん mailto:sage [2020/02/26(水) 03:04:08.38 ID:KxcyAhRx.net] typedef struct { WORD idReserved; WORD idType; WORD idCount; } ICONDIR; #pragma pack( push ) #pragma pack( 2 ) typedef struct { BYTE bWidth; BYTE bHeight; BYTE bColorCount; BYTE bReserved; WORD wPlanes; WORD wBitCount; DWORD dwBytesInRes; WORD nID; } GRPICONDIRENTRY; #pragma pack( pop ) で、ICONDIR の後ろに GRPICONDIRENTRY を個数分だけ並べて ico ファイルから引っ張ってきたデータをそれに突っ込んでUpdateResource()してる。 もちろん対応するRT_ICONにイメージは追加してある。 実行時にエラーも出ないし、ResourceHackerなどで見ても、ちゃんと登録されているのだが、エクスプローラーの表示を特大アイコンにしても48x48の中央寄せ表示になってしまうんだ。 マルチプルアイコンを、::UpdateResource()で登録するとき、なにかシングルアイコンと比べて注意することがあるなら教えてください。 参考URLでもOKです(探してみたけれどシングルアイコンのものしか見つからなかった)
969 名前:デフォルトの名無しさん [2020/02/26(水) 11:15:27.85 ID:wiEfavJ1.net] https://docs.microsoft.com/en-us/windows/win32/menurc/about-icons
970 名前:デフォルトの名無しさん [2020/02/26(水) 11:17:27.14 ID:wiEfavJ1.net] https://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c12873/Hacking-Icon-Resources.htm forums.codeguru.com/showthread.php?200836-Using-UpdateResource ()-to-change-the-icon-of-an-EXE-file
971 名前:デフォルトの名無しさん [2020/02/26(水) 19:34:00 ID:dDQscU5G.net] https://jyn.jp/iconfile_how_to_create/
972 名前:デフォルトの名無しさん [2020/02/28(金) 18:42:51 ID:HAMXUqwp.net] https://www.setsuki.com/hsp/ext/ico.htm
973 名前:デフォルトの名無しさん [2020/02/28(金) 18:45:16 ID:HAMXUqwp.net] https://stackoverflow.com/questions/9811076/how-to-add-an-icon-to-an-existing-exe-file-without-an-icon-by-default
974 名前:デフォルトの名無しさん mailto:sage [2020/03/05(Thu) 00:47:31 ID:HyVcGvBE.net] WM_WINDOWPOSCHANGING というメッセージは、lParamにWINDOWPOS構造体のアドレスが渡されてきて、 その中のflagsメンバなどを修正するとZ-Orderの変化を阻止したり出来ます。 それは実験的に確認しました。質問は、この仕組みのことなのですが、 GetMessage()でこのメッセージを受けた後、DispatchMessage()経由で WindorProc() に来ることが前提なのかと言うことです。逆に、 GetMessage()でこのメッセージを受けた後、DispatchMessage()を経由せずに、独自に WindowProc()を呼び出した場合は、WINDOWPOSの中を変えたとしてもWindows Systemは 感知しないのではないかと思うのです。 今までメッセージループ内で定型として漠然と DispatchMessage() を使ってきたのですが、 こんな不思議な仕組みだったのでしょうか。
975 名前:デフォルトの名無しさん mailto:sage [2020/03/05(木) 01:09:07.09 ID:HyVcGvBE.net] >>957 すみません。これは、Postではなく、Sendで送られてくるメッセージのようです。 だから、メッセージループや GetMessage 関数は無関係なんですね、恐らく。
976 名前:デフォルトの名無しさん mailto:sage [2020/03/08(日) 15:08:53.14 ID:nGQiIF3A.net] PeekMessage()のPM_QS_SENDMESSAGEの働きが分かりません。MSDNによれば: 「Process all sent messages.」 「During this call, the system delivers pending messages that were sent to windows owned by the calling thread using the SendMessage, SendMessageCallback, SendMessageTimeout, or SendNotifyMessage function. 」 となっていますが、SendMessage()でpending messagesされているメッセージとはいかなるものなんでしょうか。 この説明だとSendMessage()されたメッセージの内、pending状態にあるものは、PM_QS_SENDMESSAGEを指定したPostMessage()によって取得できることになってしまいますが、どういうことなのか分かりません。
977 名前:デフォルトの名無しさん [2020/03/08(日) 15:33:29.45 ID:Y2NtS7Rm.net] WM_PAINTとかはqueueの中で後回しにされるとかなんとか
978 名前:デフォルトの名無しさん mailto:sage [2020/03/08(日) 16:27:50.94 ID:nGQiIF3A.net] >>960 WM_PAINTは、この文脈では SendMessage() とは直接関係ないようですが。
979 名前:デフォルトの名無しさん mailto:sage [2020/03/08(日) 23:38:12.25 ID:LncuZlt6.net] 別スレッドからsendされたメッセージとそのスレッド自体は待たされてる
980 名前:デフォルトの名無しさん mailto:sage [2020/03/09(月) 16:07:22.80 ID:2N4Go4fT.net] MS謹製の訳 「PeekMessage 関数を呼び出すと、呼び出し側スレッドが所有しているウィンドウへ送信されたメッセージのうち、保留されていたものを取得できます。 SendMessage、SendMessageCallback、SendMessageTimeout、SendNotifyMessage の各関数を使って送信されたメッセージが、これに該当します。」 他スレッドから送られたSendMessageは、PeekMessageを呼び出したときに受け取ることができる。
981 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 12:35:11.18 ID:Fz4ou6bN.net] Windows OSのバイブル『Windows Internals』を日本語解説するプロジェクトが“GitHub”で開始 実際に動作するアプリで高度かつ難解な内容をコードレベルで理解 https://forest.watch.impress.co.jp/docs/serial/yajiuma/1239207.html >高度かつ難解と評される同書も、実際に動作するC++/Win32 APIのコードをみながら読み進めれば理解が深まるかもしれません。
982 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 12:40:22.12 ID:Fz4ou6bN.net] windows-internals-guide / security https://github.com/windows-internals-guide/security
983 名前:デフォルトの名無しさん mailto:sage [2020/03/10(火) 14:11:52.55 ID:5w+xr38c.net] >>963 ありがとうございます。 ただし、その話は関係は有りそうですが不明瞭なので、もう少し詳細が有ればいいのですが。
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 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています