ツールバー移動時の軌跡が残像となる問題について

こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、Windows 10 version 1709 (Fall Creators Update) においてツールバーを移動した時の軌跡が残像となって残る現象についてご案内します。   現象 MFC の CToolBar クラスを使用してツールバーを実装し、アプリケーション実行時にドラッグ アンド ドロップ操作でツールバーを移動すると、下記スクリーンショットのように、ツールバーを移動した軌跡が残像となって残り、正しく描画されません。 この現象は Windows 10 version 1709 (Fall Creators Update) で発生し、Windows 10 version 1607 (Anniversary Update) や Windows 10 version 1703 (Creators Update) では発生しません。 なお CToolBar クラスは、Visual Studio 2017 でいうと MFC の新規プロジェクトの作成ウィザードにおいてプロジェクト形式として “MFC 標準” を選択した場合に、アプリケーションのツールバーとして使用されるようになります。  …


Thread.Abort メソッドを利用してスレッドを終了させる際の注意点について

こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、System.Threading 名前空間の Thread.Abort メソッド (以降、Abort メソッド) を利用してスレッドを終了させた場合に発生する可能性がある現象についてご案内いたします。   現象 Abort メソッドはスレッドを強制終了させるメソッドです。 Thread.Abort メソッド < https://msdn.microsoft.com/ja-jp/library/system.threading.thread.abort.aspx > Abort メソッドを利用してスレッドを強制終了させると、以下の様な現象が発生する可能性があります。 ・ オブジェクト ハンドルやメモリ等のリーク ・ プロセスの強制終了 ・ プロセスのデッドロック   原因 スレッドが開始すると、そのスレッド内部で必要な様々なリソースの確保や初期化処理が行われます。 そしてスレッドが終了するタイミングでは、そのスレッド内部で確保・初期化された様々なリソースの解放処理が行われます。 ところが Abort メソッドを利用してスレッドを強制終了した場合は、これらのリソースの解放処理が必ず行われる保証がありません。 そして、これらのリソースの解放処理が行われなかった結果として、前述したような現象に発展する可能性があります。   回避策 可能な限り、Abort メソッドを利用してスレッドを強制終了しないようにします。 たとえば、以下のように自分自身を自発的に終了させる仕組みをスレッド (下記例ではスレッド B) 内に実装しておくことで、その仕組みを利用した外部スレッド (下記例ではスレッド A) が、安全にそのスレッド (下記例ではスレッド B) を終了させることができるようになります。 – スレッド A…


CFileDialog クラスにて表示したダイアログ ボックスの応答がなくなる問題について

こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、MFC の CFileDialog クラスに関して確認されている問題についてご案内します。   現象 CFileDialog のコンストラクタにて bVistaStyle を FALSE に指定して表示させたファイル選択ダイアログ ボックスで SharePoint 上にあるフォルダを開くと、ダイアログボックスの応答が停止します。   CFileDialog クラス https://msdn.microsoft.com/ja-jp/library/dk77e5e7.aspx   原因 この現象は、ファイル選択ダイアログの中で SharePoint サーバー上の Web 画面の表示をサポートするコンポーネントの不具合によって発生します。   回避策 以下のレジストリ設定を適用することにより、ファイル選択ダイアログの中の Web 画面の表示が無効となり、本問題を回避することができます。   – 現在のユーザーに対して適用する場合 キー : HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer 名前 : NoHTMLViewForWebDAV 種類 : REG_DWORD (32ビット) 値 : 1   – コンピューターにログオンするすべてのユーザーに適用する場合…


WPF の CheckBox コントロールのチェック マーク (オプション マーク) について

こんにちは、Platform SDK (Windows SDK) サポートチームです。 今回は、WPF の CheckBox コントロールのチェック マーク (オプション マーク) についてご案内します。   現象 WPF の CheckBox コントロールにおいて FlowDirection プロパティを RightToLeft に設定すると、CheckBox コントロール全体が「左向き」に描画されるだけでなく、CheckBox コントロールのチェック マーク部分も「左ハネ」で描画されるようになります。 ※ WPF の CheckBox コントロールの例   なお、アラビア語版 Windows の Explorer の CheckBox コントロールや、同様に RightToLeft 設定された Windows フォームの CheckBox コントロールについては、チェック マーク部分は「右ハネ」のまま描画されます。 ※ Windows フォームの CheckBox コントロールの例   原因 この動作は、WPF の…