Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 4111 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 ..
Ähnliche Inhalte
Visual Studio
gelöst VBScript und WMI (Win32-NetworkAdapterConfiguration) (3)

Frage von MaxMoritz6 zum Thema Visual Studio ...

Webbrowser
T-Online-Login-Fenster öffnet unter Edge-Fenster (3)

Frage von achklein zum Thema Webbrowser ...

Windows Server
RemoteApp Fenster kommt nicht in den Vordergrund (1)

Frage von thomasreischer zum Thema Windows Server ...

Microsoft Office
gelöst Fenster in Office 2013 skalieren? (1)

Frage von Geforce zum Thema Microsoft Office ...

Neue Wissensbeiträge
LAN, WAN, Wireless

Schwachstelle im WPA2 Protokoll veröffentlicht

(3)

Information von colinardo zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte