Windows
 Computer >> コンピューター >  >> システム >> Windows

Windows10の32ビットアプリでのCreateWindowEx関数の問題

場合によっては、新しいバージョンにアップグレードした後、Windows10がCreateWindowEx を呼び出すと、クラッシュやその他の問題が発生します。 msctf.dllからの関数 一部の32ビットアプリケーションでウィンドウが作成される場合。この投稿では、 CreateWindowEx が何であるかを理解します 機能は–この機能エラーの考えられる原因を調査し、問題を軽減するための推奨される解決策を提供します。

CreateWindowEx関数について

Windows10の32ビットアプリでのCreateWindowEx関数の問題

WindowsフォームまたはWindowsPresentationFoundation(WPF)を使用する.NETアプリケーションを含むWindowsアプリケーションは、 CreateWindowExAを呼び出してウィンドウを作成します。 またはCreateWindowExW 関数。

どちらの関数も、共通の USER32を内部的に呼び出します 呼び出しで指定されたウィンドウスタイルやハンドルなど、いくつかのパラメータ検証を実行する関数は、 WS_EX_MDICHILD の場合、MDI子ウィンドウの作成を処理します。 拡張ウィンドウスタイルが指定され、呼び出し元スレッドの現在のアクティブ化コンテキストを処理します。 USER32側ですべてが順調に進んでいる場合 CreateWindowEx呼び出しの後に、CreateWindowExのカーネルモード(WIN32K)実装を呼び出します。

CreateWindowExは、新しいウィンドウオブジェクトを作成しようとすると、次のタスクを実行します。

  • 新しいウィンドウオブジェクトのハンドルを作成すると、呼び出しプロセスのユーザーハンドル割り当て制限を超えるかどうかを判断します。
  • デスクトップのヒープから新しいウィンドウオブジェクトにメモリを割り当てます。
  • 新しいウィンドウオブジェクトのメモリを初期化します。
  • ユーザーハンドルテーブルに新しいウィンドウオブジェクトのハンドルを作成します。

CreateWindowExの失敗の原因

CreateWindowEx関数の問題を引き起こす可能性のあるいくつかの条件は、次のように列挙されます。

  • 指定されたウィンドウクラスは存在しません。
  • 無効なウィンドウスタイルまたは拡張ウィンドウスタイルを使用しています。
  • ウィンドウハンドルやメニューハンドルなどの無効なユーザーハンドルを使用する。
  • 親ウィンドウを指定せずに子ウィンドウを作成しようとしています。
  • 子ウィンドウまたは所有ウィンドウを作成しようとして、指定された親/所有者が呼び出し元のスレッドとは異なるデスクトップに属しています。
  • 子ウィンドウまたは所有ウィンドウを作成すると、ネストされたウィンドウの制限を超えます。
  • 新しいウィンドウオブジェクトを作成すると、呼び出しプロセスのハンドルクォータを超えます。
  • デスクトップのヒープで使用できるヒープが不足しているため、新しいウィンドウオブジェクトにメモリを割り当てることができません。
  • ユーザーハンドルテーブルに使用可能なエントリがありません。

Windows10の32ビットアプリのCreateWindowEx関数の問題を修正

Microsoftは、CreateWindowEx関数の問題に対する回避策を提供しています。

この問題を回避するには、Windows10のインストールを以前のバージョンにロールバックする必要があります。

Windows 10のロールバックオプションは、10日間利用できます (ほとんどの場合)Windows10のインストールをアップグレードした後。

この操作では、個人ファイルは保持されますが、アップグレード後にインストールされたアプリケーションとドライバーは削除され、設定に加えた変更はすべて元に戻されます。

ロールバックオプションが利用できない場合–個人ファイルをバックアップしてから、ITサポート、ヘルプデスク、またはMicrosoftサポートに連絡して、デバイスを以前のWindow10バージョンに復元するためのサポートを受けることができます。

以上です!

PS :Microsoftは解決に取り組んでおり、Windows10の今後のリリースでアップデートを提供する予定です。

Windows10の32ビットアプリでのCreateWindowEx関数の問題
  1. Windows 10 の Web サイト用アプリとは何ですか?

    最近 Windows 10 の設定アプリに目を通したことがあれば、「Web サイト用アプリ」というカテゴリに気付いたかもしれません。そこにリストされているアプリは、あったとしてもそれほど多くない可能性があり、機能が実際に動作しているのを見たことがないかもしれません. Apps for Websites は実際には便利ですが、Anniversary Update で導入された Windows 10 のあまり知られていない機能です。 Apps for Website の Settings ページでは、機能について「一部の Web サイトはアプリまたはブラウザーで開くことができます」と説明され

  2. Windows 10 でアプリを画面にスナップする方法

    Windows のスナップを使用すると、アプリ ウィンドウをディスプレイの端にドラッグして、並べて「スナップ」できます。クリックしてドラッグするだけで 2 ペインのレイアウトを作成できるため、2 つのアプリを同時に使用する手間が省けます。 Microsoft は Windows 7 で Snap をデビューさせました。それ以来、ウィンドウ管理機能は非常に人気があることが証明されており、PC でマルチタスクを行う便利な方法が提供されています。 Snap は Windows 10 で拡張され、複数のアプリの複雑なウィンドウ レイアウトのセットアップに必要な時間を短縮して、生産性をさらに高める