CreateWindowEx-funktionsproblem för 32-bitarsappar i Windows 10

I vissa fall, efter en uppgradering till en nyare version, orsakar Windows 10 krascher eller andra problem när det anropar CreateWindowEx- funktionen från msctf.dll när fönster skapas i vissa 32-bitarsprogram. I det här inlägget kommer vi att förstå vad  CreateWindowEx- funktionen är - utforska de möjliga orsakerna till detta funktionsfel och sedan tillhandahålla den rekommenderade lösningen för att mildra problemet.

Förstå funktionen CreateWindowEx

CreateWindowEx-funktionen

Windows -program, inklusive .NET-program som använder Windows Forms eller Windows Presentation Foundation ( WPF ), skapar sina fönster genom att anropa funktionerna CreateWindowExA eller CreateWindowExW .

Båda funktionerna anropar internt en gemensam USER32- funktion som kommer att utföra viss parametervalidering, såsom de fönsterstilar och handtag som anges i anropet, hanterar att skapa ett MDI -underordnat fönster om den utökade fönsterstilen WS_EX_MDICHILD är specificerad och bearbetar den aktuella aktiveringskontexten för anropet tråd. Om allt är bra på USER32-sidan(USER32-side) av CreateWindowEx -anropet, anropar det sedan till kärnlägesimplementeringen ( WIN32K ) av CreateWindowEx .

CreateWindowEx kommer att utföra följande uppgifter när du försöker skapa ett nytt fönsterobjekt:

  • Bestäm om att skapa ett handtag för det nya fönsterobjektet kommer att överskrida  gränsen för användarhandtagskvoten(User) för anropsprocessen.
  • Tilldelar minne för det nya fönsterobjektet från skrivbordets hög.
  • Initierar minnet för det nya fönsterobjektet.
  • Skapar ett handtag för det nya fönsterobjektet i tabellen Användarhandtag .(User)

Orsaker till CreateWindowEx-fel

Vissa villkor som kan utlösa problemet med CreateWindowEx- funktionen är uppräknade enligt följande:

  • Den angivna fönsterklassen finns inte.
  • Använder ogiltiga fönsterstilar eller utökade fönsterstilar.
  • Använder ogiltiga användarhandtag(User) , såsom fönsterhandtag och menyhandtag.
  • Försöker skapa ett underordnat fönster utan att ange ett överordnat fönster.
  • Försöker skapa ett underordnat fönster eller ett ägt fönster och den angivna föräldern/ägaren tillhör ett annat skrivbord än den anropande tråden.
  • Att skapa ett underordnat eller ägt fönster kommer att överskrida gränsen för kapslade fönster.
  • Att skapa ett nytt fönsterobjekt kommer att överskrida hanteringskvoten för anropsprocessen.
  • Det finns inte tillräckligt med hög tillgänglig i skrivbordets hög för att allokera minne för det nya fönsterobjektet.
  • Det finns inga tillgängliga poster i tabellen Användarhandtag .(User)

Fixa CreateWindowEx-(Fix CreateWindowEx) funktionsproblem för 32-bitarsappar i Windows 10

Microsoft har tillhandahållit en lösning på CreateWindowEx- funktionsproblemen.

För att kringgå det här problemet måste du återställa din Windows 10 -installation till den tidigare versionen.

Återställningsalternativet i Windows 10 är tillgängligt i 10 dagar(10 days) (i de flesta fall) efter att du har uppgraderat din Windows 10-installation.

Den här åtgärden behåller dina personliga filer, men tar bort applikationer och drivrutiner som installerades efter uppgraderingen och återställer även alla ändringar du gjort i inställningarna.

Om återställningsalternativet inte är tillgängligt – säkerhetskopiera dina personliga filer , kan du kontakta din IT-support eller helpdesk eller Microsoft Support för att få hjälp med att återställa din enhet till den tidigare versionen av Windows 10 .(Window 10)

That’s it!

PS : Microsoft arbetar på en lösning och kommer att tillhandahålla en uppdatering i Windows 10 kommande release.



About the author

Jag är en erfaren Windows 10 och 11/10 expert, med erfarenhet av både webbläsare och smartphone-appar. Jag har varit mjukvaruingenjör i över 15 år och har arbetat med ett antal stora namnföretag, inklusive Microsoft, Google, Apple, Ubisoft med flera. Jag har också undervisat i Windows 10/11-utveckling på högskolenivå.



Related posts