Computer >> Máy Tính >  >> Hệ thống >> Windows

Sự cố về chức năng CreateWindowEx đối với ứng dụng 32-bit trong Windows 10

Trong một số trường hợp, sau khi nâng cấp lên phiên bản mới hơn, Windows 10 gây ra sự cố hoặc các sự cố khác khi gọi CreateWindowEx hàm từ msctf.dll khi cửa sổ được tạo trong một số ứng dụng 32 bit. Trong bài đăng này, chúng ta sẽ hiểu CreateWindowEx chức năng là - khám phá các nguyên nhân có thể gây ra lỗi chức năng này và sau đó đưa ra giải pháp được khuyến nghị để giảm thiểu sự cố.

Hiểu chức năng CreateWindowEx

Sự cố về chức năng CreateWindowEx đối với ứng dụng 32-bit trong Windows 10

Các ứng dụng Windows, bao gồm các ứng dụng .NET sử dụng Windows Forms hoặc Windows Presentation Foundation (WPF), tạo cửa sổ của chúng bằng cách gọi CreateWindowExA hoặc CreateWindowExW các chức năng.

Cả hai hàm đều gọi nội bộ một USER32 chung hàm sẽ thực hiện một số xác thực tham số, chẳng hạn như kiểu cửa sổ và xử lý được chỉ định trong lệnh gọi, xử lý việc tạo cửa sổ con MDI nếu WS_EX_MDICHILD kiểu cửa sổ mở rộng được chỉ định và xử lý ngữ cảnh kích hoạt hiện tại cho luồng gọi. Nếu tất cả đều ổn ở phía USER32 của lệnh gọi CreateWindowEx, sau đó nó gọi vào việc triển khai chế độ hạt nhân (WIN32K) của CreateWindowEx.

CreateWindowEx sẽ thực hiện các tác vụ sau khi cố gắng tạo một đối tượng cửa sổ mới:

  • Xác định xem việc tạo trình xử lý cho đối tượng cửa sổ mới có vượt quá giới hạn hạn ngạch Trình xử lý người dùng cho quy trình gọi hay không.
  • Phân bổ bộ nhớ cho đối tượng cửa sổ mới từ heap của màn hình.
  • Khởi tạo bộ nhớ cho đối tượng cửa sổ mới.
  • Tạo một chốt cho đối tượng cửa sổ mới trong bảng Người dùng.

Nguyên nhân gây ra lỗi CreateWindowEx

Một số điều kiện có thể kích hoạt sự cố chức năng CreateWindowEx được liệt kê như sau:

  • Lớp cửa sổ được chỉ định không tồn tại.
  • Sử dụng kiểu cửa sổ không hợp lệ hoặc kiểu cửa sổ mở rộng.
  • Sử dụng các tay cầm Người dùng không hợp lệ, chẳng hạn như tay cầm cửa sổ và tay cầm menu.
  • Đang cố gắng tạo một cửa sổ con mà không chỉ định một cửa sổ mẹ.
  • Đang cố gắng tạo một cửa sổ con hoặc một cửa sổ được sở hữu và cha / chủ sở hữu được chỉ định thuộc về một màn hình khác với chuỗi gọi.
  • Việc tạo một cửa sổ con hoặc cửa sổ sở hữu sẽ vượt quá giới hạn cửa sổ lồng nhau.
  • Việc tạo một đối tượng cửa sổ mới sẽ vượt quá hạn ngạch xử lý cho quá trình gọi.
  • Không có đủ heap trong heap của màn hình để phân bổ bộ nhớ cho đối tượng cửa sổ mới.
  • Không có mục nhập nào trong bảng Người dùng.

Khắc phục sự cố chức năng CreateWindowEx cho các ứng dụng 32 bit trong Windows 10

Microsoft đã cung cấp một giải pháp cho các vấn đề về chức năng CreateWindowEx.

Để khắc phục sự cố này, bạn sẽ phải khôi phục cài đặt Windows 10 của mình về phiên bản trước.

Tùy chọn khôi phục trong Windows 10 khả dụng trong 10 ngày (trong hầu hết các trường hợp) sau khi bạn nâng cấp cài đặt Windows 10 của mình.

Thao tác này giữ các tệp cá nhân của bạn nhưng xóa các ứng dụng và trình điều khiển đã được cài đặt sau khi nâng cấp, đồng thời đảo ngược mọi thay đổi mà bạn đã thực hiện đối với cài đặt.

Nếu tùy chọn khôi phục không khả dụng - sao lưu các tệp cá nhân của bạn, thì bạn có thể liên hệ với bộ phận trợ giúp hoặc hỗ trợ CNTT hoặc Bộ phận hỗ trợ của Microsoft để được trợ giúp khôi phục thiết bị của bạn về phiên bản Window 10 trước đó.

Thế là xong!

Tái bút :Microsoft đang tìm cách giải quyết và sẽ cung cấp bản cập nhật trong bản phát hành sắp tới của Windows 10.

Sự cố về chức năng CreateWindowEx đối với ứng dụng 32-bit trong Windows 10