日本語版以外の Windows 10 を利用した場合、アプリケーションの日本語表記が正しく表示されない場合があります

こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、Windows 10 における、オフライン状態でのフォント インストール時の注意点についてお知らせします。 日本語版以外の Windows 10 (Windows 10 英語版等) を利用した場合、日本語の言語パックをインストールしたにも関わらず、各種アプリケーションにて日本語が正しく表示されないという現象が発生することがあります。 もし、日本語の言語パックをインストールしたにも関わらず、日本語が正しく表示されない場合は、以下をご確認ください。 概要 Windows 10 では、日本語補助フォント (Japanese Supplemental Fonts) はインターネット上の Windows Update サイトよりダウンロードして取得する形式に変更されました。 このため、Windows 10 では、オフライン状態での日本語補助フォントのインストールをサポートしていません。日本語補助フォントをインストールする場合は、旧来の Windows OS とは異なり、インターネット上の Windows Update サイトに接続可能な環境が必要となります。 もしも、オフライン状態の日本語版以外の Windows 10 に対して、日本語の言語パックをインストールした場合には、日本語補助フォントがインストールされないため、日本語補助フォントを利用するアプリケーションに関しては、日本語が正しく表示されないという現象が発生する恐れがあります。 日本語補助フォントについては、メイリオ、MS ゴシック、等が該当します。 フォントの詳細については、以下にて確認可能です。 コントロール パネル内、[フォント] を選択します。 左メニュー項目の [オプション機能の管理] を選択します。 表示の中から [日本語補助フォント] を選択します。   詳細 上記のとおり、英語版の…

3

PropertyGrid で MultilineStringEditor を使用した場合、初回表示のみエディターの幅が異なる

こんにちは、Platform SDK (Windows SDK) サポートチームです。 .NET Framework 3.5 SP1 上において PropertyGrid コントロールを使用した場合に発生する問題についてご案内します。 現象 PropertyGrid コントロール上で文字列を扱うプロパティに対して MultilineStringEditor クラスを指定すると、対象プロパティが編集されるとき個別に編集フィールドを表示することができますが、以下に示すように初回表示と 2 回目以降の表示に違いがあります。 初回の表示: 2 回目以降の表示: なお、.NET Framework 4 以降ではこの現象が発生せず、初回から 2 回目以降と同じ正しい位置に表示されます。 原因 この現象は、.NET Framework 3.5 SP1 の不具合により発生します。 .NET Framework 3.5 SP1 では、位置指定処理に考慮が不足した部分があるため、初回表示時のみ正しい位置に表示されません。 回避方法 この不具合は、.NET Framework 4 以降で修正されています。 お手数ですが、開発していただいているアプリケーションをビルドする際の「対象のフレームワーク」として .NET Framework 4 以降をご利用ください。 関連資料 PropertyGrid クラス https://msdn.microsoft.com/ja-jp/library/system.windows.forms.propertygrid.aspx MultilineStringEditor クラス…


UWP アプリケーション上で static UInt64 型の値がマイナスの値として扱われる場合があります。

  こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は UWP アプリケーションの開発にあたり確認された問題についてご案内したいと思います。   現象 UWP アプリケーション上で static UInt64 型の値がマイナスの値として扱われる場合があります。この現象が発生する条件は以下の通りになります。   ・ static UInt64 型の変数がグローバル変数として宣言されている ・ 数値が 32 ビットの値で、かつ最上位ビットが立っている ・ .NET Native としてビルドされている   再現コード例 public sealed partial class MainPage : Page {     static UInt64 memSize = 0x80000000;     public MainPage()     {         this.InitializeComponent();         textBlock.Text =…


PTConvertPrintTicketToDEVMODE 関数の呼び出しにより、アプリケーションでメモリーリークが発生する可能性があります

  こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、Windows 10 64ビット版、および Windows Server 2016 において、PTConvertPrintTicketToDEVMODE 関数の呼び出しにより、アプリケーションでメモリーリークが発生する可能性がある問題についてご案内します。   現象 アプリケーションから PTConvertPrintTicketToDEVMODE 関数により、印刷チケットを取得する処理を実行した場合、一回の呼び出しでメモリーが136 Byte増加する現象が確認されています。 本現象は、Windows 10 64ビット版、および Windows Server 2016 で、64ビットアプリケーションを実行した場合に発生します。   原因 本現象は、Windows 10 64ビット版、および Windows Server 2016 の不具合が原因で発生します。 なお、Windows 10 Creators Update (バージョン 1703) において、この不具合は修正されています。   回避策 以下の二つの内、何れかの方法から回避いただくことができます。   1) Windows 10 Creators Update (バージョン 1703) へ移行する…


Windows 10 における CreateDesktop 関数の問題について

  こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、Windows 10 において、CreateDesktop 関数を使用して新しいデスクトップ を作成した際に確認されている問題についてご案内します。   現象 Windows 10 において、CreateDesktop 関数を使用して新しいデスクトップを作成す るアプリケーションを想定します。 通常、Windows 10 で、Ctrl + Alt + Del キーを押下して画面をロックすると、ロッ ク画面が表示されます。   しかし、CreateDesktop 関数で作成されたデスクトップでCtrl + Alt + Del キーを 押下して画面をロックすると、ロック画面が表示されず、デスクトップが表示された ままになる現象が確認されています。 この状態が発生すると Ctrl + Alt + Del キー以外の操作を受け付けなくなります。   原因 現在調査中です。詳細については、分かり次第更新予定です。   回避策 現象発生後は、Ctrl + Alt + Del キーを押下してロック画面を解除します。…


Windows 10 Creators Update でグローバルフックをインストールすると失敗の監査が記録される問題について

  こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、Windows 10 Creators Update において、グローバルフックがインストールされている場合に確認されている問題についてご案内します。   現象 Windows 10 Creators Update 環境において、SetWindowsHookEx 関数を使用してグローバルフックをインストールすると、セキュリティ ログへ下記のような失敗の監査が記録される現象が確認されております。 グローバルフック関数を実装したダイナミックリンクライブラリ(DLL)に対して、ハッシュが有効ではないことを示唆するイベントとなっていますが、実際には DLL は破損していません。 また、DLL に適切な署名がされていてもこのイベントは記録されます。   —————————————————- ログの名前:         Security ソース:           Microsoft-Windows-Security-Auditing 日付:            2017/xx/xx xx:xx:xx イベント ID:       5038 タスクのカテゴリ:      システムの整合性 レベル:           情報 キーワード:         失敗の監査 ユーザー:          N/A コンピューター:       xxxxxxxxxx 説明: コードの整合性によって、ファイルのイメージ ハッシュが有効でないと判断されました。このファイルは、無許可の変更によって破損しているか、無効なハッシュがディスク デバイス エラーの可能性を示している場合があります。   ファイル名:    \Device\HarddiskVolume2\Program…


.NET Framework 4.7上で実行している WPF アプリケーションで、タッチ操作を繰り返すと、タッチ操作に反応しなくなる。

  こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、.NET Framework 4.7 をインストールした環境で、WPF アプリケーションを使用した際に確認されている問題についてご案内します。   現象 .NET Framework 4.7 をインストールした環境で、WPF の ComboBox コントロールのドロップダウンリストを、タッチ(またはスタイラス)により繰り返し開閉していると、ドロップダウンリスト内の項目をタッチ操作で選択できなくなる現象が確認されています。 ComboBox 以外にも、Menu など、動作時に内部でウインドウを作成して利用するコントロールの操作で同様の現象が発生する可能性があります。   問題が発生するまでのタッチやスタイラスの操作回数は決まっていませんが、アプリケーション プロセスを実行起動してから終了するまでの間の操作が累積して発生することがわかっており、その回数はおよそ 50 回から 100 回程度です。   なお、問題の発生以前から表示している Button などのコントロールがある場合、問題が発生してもそれらへのタッチ操作は可能です。   原因 本問題は WPF が管理しているタッチ・スタイラスデバイスの情報に不整合が生じることが原因であり、.NET Framework 4.7 のみで発生する問題です。   回避策 本現象が発生した場合、アプリケーションを再起動します。 USB 接続のタッチパネルの場合は、USB ケーブルを抜き差しすることで、アプリケーションの再起動をせず操作を続行できます。 なお、マウス操作には影響しないため、マウスが接続されている環境の場合は、現象が発生したあともマウスによる操作は可能です。   状況 現在対応中です。 進展があり次第、本ブログを更新予定です。


8 月の更新プログラム適用後、アプリケーションからの印刷が失敗する

こんにちは、Platform SDK (Windows SDK) サポートチームです。 8 月の更新プログラムを適用することによって発生する印刷時の現象についてご案内します。   現象 8 月の更新プログラムを適用すると、一部のプリンターに対するアプリケーションからの印刷が失敗する場合があります。 印刷内容やアプリケーション側の処理によっては印刷が失敗せず、正常に印刷できます。また、印刷が失敗する場合には、以下のような現象として表面化します。 紙面全体もしくは一部が白紙の状態で印刷される アプリケーションの印刷処理が終わらず、スプール ファイルのサイズが大きくなり続け、システムが不安定になる   状況 マイクロソフトでは、この現象について調査しています。 進展があり次第、本ブログを更新予定です。


GdiplusStartup と GdiplusShutdown を繰り返すとメモリ リークする

こんにちは、Platform SDK (Windows SDK) サポートチームです。 アプリケーションからの GDI+ 利用方法によってメモリ リークする現象についてご案内します。   現象 アプリケーションから GDI+ を利用する前に GdiplusStartup 関数を、利用したあとに GdiplusShutdown 関数を実行しますが、この対をアプリケーション内で何度も実行すると少しづつメモリが解放されない状態で残ります。このメモリは、アプリケーション プロセスが終了するまで解放されません。 アプリケーションで画像を処理するときにのみ GDI+ を利用しているなど、常時使わずに一時的に利用する場合にこのような実装になることがあります。 実装例: void OnProcessing() { Gdiplus::GdiplusStartupInput gdiplusStartupInput = { 1, NULL, FALSE, FALSE }; ULONG_PTR gdiplusToken = NULL; Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); // GDI+ を利用したイメージ処理など // … Gdiplus::GdiplusShutdown(gdiplusToken); } メニュー操作などからこの関数を何度も実行していると、解放されないメモリが蓄積していきます。   原因 この現象は、GDI+ 内から間接的に利用している Text…


タッチキーボードのキーボード モードについて

こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、Windows 8 以降のタッチキーボード (Tabtip.exe) のキーボード モードについてご案内します。 タッチキーボードの右下に配置されているキーボードのマークのアイコン (下図 1 の赤丸部分) をクリックまたはタップすると、現在利用可能なキーボード モードを選択して変更することができます。 (以下図は Windows 10 Creators Update のタッチキーボードを例としています) (図 1)   標準のキーボード (図 1) の他にも、手描きパネル (図 4) やタブレット等のモバイル端末でも利用しやすいキーボード (図 2, 3) が用意されています。 ユーザーは用途に応じたキーボード モードを選択してタッチキーボードを利用することができます。 (図 2) (図 3) (図 4)   なお WPF アプリケーション (※注 1)、ストア アプリケーション (※注 2) および…