Top

As/RのWindows 11対応状況


 備忘録的に記しています。

 ISO版と、まっさらなWindows10からInsider Preview経由で更新したものです。
 (Insider Preview版は動きも怪しいので、落ち着いたら当記事から削除します)
 不具合か、変更された仕様なのか、いまいち判断がつかない現象もあります。
 明らかにバグならMS社にエスカレーションしますし、なるべく善処するつもりですので、他にも気になる点がありましたら、ご連絡ください。

本記事の対象バージョン
Build 22000.376(ISO版)



クリーンインストール時にテキストやBMP画像の新規作成ができない

 Build 22000.376(ISO版)で発生を確認

 クリーンインストールした場合に発生し、Windows 10からの移行やInsider Preview経由でのインストールでは発生しない可能性があります。
 Windows NT 4.0(未確認ですが、おそらくWindows 95からと思われます)の時代から右クリックメニューの新規作成にある、テキスト(.txt)やビットマップイメージ(.bmp)の作成は、当該の拡張子に紐づいたレジストリ情報で、右クリックメニューに表示されるテキストや、新しく作成されるファイルの名称が求められるようになっていました。
 具体的には、「HKEY_CLASSES_ROOT」の配下の「.txt」に「ShellNew」というキーがあり、これが「新規作成」機能を持つ拡張子であるという目印になっていたのですが、この「ShellNew」が存在しません。
 そのため「新規作成」できるファイルの種類とみなされないので、As/Rの新規作成メニューから表示されない、という現象が発生しています。

【影響範囲】
メインメニュー→「ファイル」→「新規作成」→「ファイル作成」コマンドのメニュー選択肢
メインメニュー→「ファイル」→「新規作成」→「ファイル一括作成」コマンドのコンボボックス選択肢
リスト上の右クリックメニューに含まれる「新規作成」の配下のメニュー選択肢

 暫定の回避方法として、フォルダーバー、インサイドツリーはエクスプローラーのコンポーネントですので、こちらから表示させた右クリックメニューの「新規作成」にテキストやビットマップが含まれますので、こちらをご利用ください。
※これらのツリーは、エクスプローラーそのものですので、メモリを食いつぶすというエクスプローラーの不具合が対策されていない環境ではご注意ください。

追記

 Ver.13.3.8.0で暫定対応しました。
 「新規作成」の一覧を作成した後に「.txt」と「.bmp」が欠落している場合、それぞれを自前でメニュー文字列と新規作成ファイル名を決め打ちにして、メニュー項目に補完するようにしました。
 メニューの項目名や作成ファイル名は、おそらくどこかで日本語にローカライズされた文字列があるはずで、調査中です。
 情報が無くて暗礁に乗り上げていますので、何か分かったら対応するかもしれませんというステータスになっています。


バージョン表示の情報が間違っている

 Build 22471.1000で発生を確認
 Build 22478.1012で発生を確認
 Build 22000.194(ISO版)で発生を確認

 バージョン情報の表示でWindows 11であるにもかかわらず、Windows 10と表示されます。

 なぜなら、レジストリに思いっきりWindows 10と書いてあるからです。
 そして残念ながら「Windows 11」という記述は、レジストリ内に存在していません。


 なお、内部バージョンが6.3でWindows 10と一緒です。
 (Vista:6.0、7:6.1、8系:6.2、10系:6.3、11系:6.3)
 更に、
 メージャーバージョン番号:10
 マイナーバージョン番号:0
 その上、Shell32.dllやkernel32.dllなどのバージョン情報を取得しても、同様にWindows10です。
 とまぁ、頑なにWindows10と主張されていますので、OS判別できなくて困っています。

 21H2の記述を使えば、Windows 11か判断できますけど、この書式は予告なしに変えられているので、使いにくい値となっております。

追記

 Ver.13.3.3.0で暫定対応しました。
 ビルドNoが22000以上であればWindows 10をWindows 11に置換します。

追記2

 GetVersionEx()というAPIで取得する場合のGUIDの仕様がMS社のドキュメントで公開されました。
 Windows 10とWindows 11は同じGUIDを使用するように指示されています。
 つまり、Windows 10とWindows 11の区別はするな、という事のようです。

 だったらちゃんと互換性を担保しろよ、と思いますが・・・GetVersionEx()使ってないけど。


開きっぱなしにしておいたタブから遷移できなくなる

 Build 22468.1000にて発生を確認
 Build 22471.1000で再現せず
 Build 22478.1012で再現せず
 Build 22000.194(ISO版)で再現せず
※情報を頂きました。
 エクスプローラーやタスクバーで本現象が発生した場合、落ちたり応答しなくなるそうです

 フォルダリストからフォルダーを選択してEnter/ダブルクリックして、下位階層に遷移しようとした場合に、アドレスバーが赤いエラー状態になって遷移に失敗することがあります。

 私も動作確認中に1回だけ発生し、以後2度と再現させることができませんでした。
 再現条件が不明で唐突に発生するため、残念ながら原因不明です。
 現在開いているタブの情報が失われてしまっているようで、あらゆる下階層への遷移ができなくなります。

 絶対パスで遷移する「フォルダ移動」系のコマンドや、ツリーからの遷移で復活することがありますが、どうしようもない場合は対象のタブを開きなおしてください。
 それでもダメな場合は、アプリを再起動させてください。

※再現条件や再現手順が分かりましたらご連絡ください。


ランチャやお気に入り内のアイコンが白いファイルアイコンになる

 Build 22468.1000で発生を確認
 Build 22471.1000で発生を確認
 Build 22478.1012で発生を確認
 Build 22489.1000で発生を確認
 おそらく、Insider previewでは以後自動修復されないようなので確認を終了します。
 Build 22000.194(ISO版)で再現せず

※ICOファイルの関連付けを修復すればWindows10と同じ状態に戻せると思いますが未確認です。

 Windows 11では特定のAPIで拡張子がICOのファイルのアイコン画像の取得ができません。
 (具体的にはSHGetFileInfo()、エクスプローラーも同様に「詳細」や「一覧」などでICOファイルが同じNG画像になります)
 そのため、以下の画像のように、未設定のファイルアイコン画像になります。
Windwos 11のフォルダアイコンの状態
【参考】Windwos 10の場合

 同様に「ネットワーク」を示すアイコン画像、不明なアイコンを示すアイコン画像(Windows10の方に表示されている巻物みたいなの)も、同じアイコン画像になるのでご利用の際には十分ご注意ください。

追記

 Insider previewでインストールした場合、アイコン画像の関連付け情報が破壊されることが原因です。
 レジストリ情報を手作業で修復することで、以前のOSと同じ動作をするようにすることができます。

 Ver.13.3.1.0で対応しました。
 ランチャーバー/お気に入りの「右クリックメニュー」または「コマンドメニュー」から「キャッシュ情報の更新」コマンドを実行することで、修復されます。



画面領域の切り取りで切り取った画像がずれる

 Build 22468.1000にて発生を確認
 Build 22471.1000で再現せず
 Build 22478.1012で再現せず
 Build 22000.194(ISO版)にて発生を確認

 Windowsの「画面領域の切り取り」機能を使用し、クリップボードに画像をセットした上でAs/Rに貼り付けた場合、デフォルト設定だとスマートペースト機能が働いて画像を生成しています。
 が、この画像が数ピクセルくらい右にずれることがあります。
 (上の画像のように、左側にゴミがあります)
 クリップボードにコピーした画像の方がおかしいので、ペイント等に貼り付けても同様の現象が発生します。
 対処不能ですので、ご注意ください。


詳細表示の時、設定を切り替えてもマウス押下すると一行選択になっているかのごとく反応する


 掲示板で問い合わせがあったので、再掲です。
 Windows 11の最終β版〜初期版で発生していましたが、いつの間にか再現しなくなっていました。
 この現象は、OS側のテーマ定義に問題があるためなので、OSのダークモードを使用するといった設定をOFFにすると改善する場合があります。
 またWindows updateを適用してみてください。

※最近の22H1以降のWindows11のダークモードの不具合です。(Windows10は問題ありません)
 MFCではコモンコントロールの6.0を使用するように作られておりますが、6.1をロードしているようです。
 当たり判定位置が従来と変わり、トラッキングセレクトを外せなくなったりと、特にListViewコンポーネントの動作は異常な動きをします。
 そのため、OSのダークモード設定から除外するように対処しました。