Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Win32-Fenster wird nicht angezeigt

Frage Entwicklung C und C++

Mitglied: Hacker

Hacker (Level 1) - Jetzt verbinden

16.03.2010 um 18:48 Uhr, 4077 Aufrufe, 3 Kommentare

CreateWindowEx liefert NULL-Handle?

Hallo,
Ich habe folgendes Problem: Jedes mal, wenn ich die CreateWindowExA(...) Funktion aufrufe, bekomme ich in meinem Projekt ein NULL-Handle. Ich hab schon versucht, ein bereits funktionierendes Fenster aus einem anderen Projekt (aus einem Programmierbuch) einzufügen, und obwohl es in dem dort einwandfrei funktioniert hat, passiert da genau das selbe, deswegen schließe ich einen Fehler der WNDCLASSEXA-Füllung mal aus. Da ich auch kein Fehlercode habe (RegisterWinClassExA liefert wie normal 0) weis ich auch nicht, wo das Problem sein könnte.

Hier der Code: (von meiner Funktion)
01.
void CreateForm(void) 
02.
03.
// Fenster erstellen 
04.
 
05.
WNDCLASSEXA menueclass; 
06.
const char szclassname[] = "SIMyMenueClass"; 
07.
 
08.
menueclass.cbSize = sizeof(WNDCLASSEXA); 
09.
 
10.
menueclass.style = CS_HREDRAW | CS_VREDRAW | CS_NOCLOSE; 
11.
 
12.
menueclass.lpfnWndProc = WindowProc; 
13.
 
14.
menueclass.cbWndExtra = 0; 
15.
menueclass.cbClsExtra = 0; 
16.
 
17.
menueclass.hInstance = hInstance; 
18.
 
19.
menueclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); 
20.
menueclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION); 
21.
menueclass.hCursor = LoadCursor(NULL, IDC_ARROW); 
22.
 
23.
menueclass.hbrBackground = (HBRUSH) COLOR_BACKGROUND+1; 
24.
 
25.
menueclass.lpszMenuName = NULL; 
26.
 
27.
menueclass.lpszClassName = szclassname; 
28.
 
29.
if(!RegisterClassExA(&menueclass)) 
30.
	ExitProcess(0);          // Ist nur temporär 
31.
 
32.
hWnd = CreateWindowExA(WS_EX_TOOLWINDOW | WS_EX_TOPMOST, 
33.
	szclassname, "Menü", WS_OVERLAPPED | WS_VISIBLE, 
34.
	CW_USEDEFAULT, CW_USEDEFAULT, 270, 205, 
35.
        NULL, LoadMenuA(NULL, "myMenu"), hInstance, NULL); 
36.
 
37.
        // Hier kommt immer NULL raus!!! 
38.
 
39.
	// Steuerelemente platzieren ... 
40.
}
Falls es wichtig ist: Ich habe Windows Vista SP 1 und verwende Visual C++ Express Edition 2008

Ich hoffe, jemand kann mir helfen!!!

PS: Wie stelle ich eingendlich mein Projekt um, das das UNICODE - Flag nicht gesetzt wird?
Mitglied: StefanKittel
16.03.2010 um 20:12 Uhr
Hallo,
was liefert denn GetLastError() zurück?
Stefan

PS:
CString GetLastErrorAsString(DWORD _errorID)
{
char GetLastErrorText[1024];
CString tempS;

FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, _errorID, MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN), GetLastErrorText, 1024, NULL );

tempS = GetLastErrorText;
tempS.Trim("\r\n\t ");

return tempS;
}
Bitte warten ..
Mitglied: lowbyte1
16.03.2010 um 22:06 Uhr
Hi


Unicode kanst du unter Project ... Properties ... Configuration Properties ... C/C++ ... General.
Dan kannst du unter dem eintrag "Use UNICODE Response Files" den Value auf no setzen .

Denke das ist auch das Problem. Habe aber dein Quellcode nicht angeschaut.!! Stress





Nachtrag:

Schau mal da !
01.
hWnd = CreateWindowExA(WS_EX_TOOLWINDOW | WS_EX_TOPMOST ,szclassname, "Menü", WS_OVERLAPPED | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 270, 205, NULL, LoadMenuA(NULL, "myMenu"), hInstance, NULL);  
02.
 bei "Menü" und "myMenu"
Sollte doch UNICODE tauglich gemacht werden wen ich mich nicht ire !


lowbyte
Bitte warten ..
Mitglied: Hacker
17.03.2010 um 16:00 Uhr
GetLastError liefert bei mir: "Der Vorgang wurde erfolgreich beendet."

Aber wenn sogar eine lauffähige Fensterfunktion 0 zurückkriegt, muss doch da irgendetwas nicht stimmen!

Ich nehme aber nicht an, das die Funktion irgendwie falsch ist, sonst würde ja eigendlich von Winows ein Fehler geliefert werden!
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (32)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...