registry - usb gerät auslesen.
-
hallo liebe community , ich denke das ist kein all zu großer problem aber ich komm nicht dahinter.
ret = RegOpenKeyEx( HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Services\\USBSTOR\\Enum",0, KEY_QUERY_VALUE, &hKey ); if( ret != ERROR_SUCCESS ) { RegCloseKey( hKey ); return; } ret = RegQueryValueEx( hKey,(LPCWSTR)device , NULL, NULL,(LPBYTE)szProductType, &dwBufLen); if( (ret != ERROR_SUCCESS) ) { RegCloseKey( hKey ); return; }device ist ein char[2] !
es hängt definitiv an (LPCWSTR)devicewas bedeuter das L vorm string? muss das doch irgendwie auf das char-array device anwenden können
-
Dein Cast ist für die Füsse.
Es gibt nun m al Unicdoe Strings (wchar_t) und MBCS strings (char). L vor einer String Konstante macht aus einem char[] einen wchar[]!
Lies mal ein Buch über c/C++ Basics
Du hast vermutlich ein Unicode Prohejt und einen char[] mit device. Deine RegOpenKeyEx will aber einen wchar_t[]. Du hastgeglaubt, dass man mit einem brutalen cast das lösen kann. Dem ist aber nicht so.
Lösungen:
- Benutze entweder TCHAR oder wandle den String mit ATL CA2W um.
- Stelle Dein Projekt auf MBCS um und verwende überall char[] und ""
- Stelle Deine Projekt auf Unicode um und verwende überall wchar_t[] und L""
-
mein projekt ist auf MultibyteCharSet eingestellt....
welcher cast würde gehen?
-
Martin Richter schrieb:
Dein Cast ist für die Füsse.
Es gibt nun m al Unicdoe Strings (wchar_t) und MBCS strings (char). L vor einer String Konstante macht aus einem char[] einen wchar[]!
Lies mal ein Buch über c/C++ Basics
Du hast vermutlich ein Unicode Prohejt und einen char[] mit device. Deine RegOpenKeyEx will aber einen wchar_t[]. Du hastgeglaubt, dass man mit einem brutalen cast das lösen kann. Dem ist aber nicht so.
Lösungen:
- Benutze entweder TCHAR oder wandle den String mit ATL CA2W um.
- Stelle Dein Projekt auf MBCS um und verwende überall char[] und ""
- Stelle Deine Projekt auf Unicode um und verwende überall wchar_t[] und L""was ist ATL CA2W. Mein projekt ist auf MBCS gestellt gewesen...
ich benutze eigentlich überall char[] !
wie wäre die lösung im code...entschuldige meine dummen fragen, aber ich bin noch in der ausbildung

-
Es ist gar kein cast nötig...
Was hast Du denn jetzt noch für Probleme?Anmerkung: Wenn Du noch in der Ausblidung bist, dann sollte es Dir noch Gewohnheit sein, Tutorials und Anleitungen zu lesen

BTW: Ich habe Dir alle Erklärungen gegeben die notwendig sind. Den rest findest Du durch sichen im Netz un diesen Foren. Dieses Thema wurde auch schon mehr als 1000mal diskutiert und erfragt.