Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi Leute ich will aus der Registry die Bios Version auslesen (mit Hilfe der WinAPI) und habe bereits folgenden Quellcode:

#include <iostream.h>

#include <windows.h>

#include <windowsx.h>

#include <windef.h>

int main (void)

{

HKEY hkey;

DWORD dwData = 256;

unsigned char cDaten[256];

RegOpenKeyEx(HKEY_LOCAL_MACHINE, "HARDWARE\DESCRIPTION\System", 0, KEY_ALL_ACCESS, &hkey);

RegQueryValueEx(HKEY_LOCAL_MACHINE, "SystemBiosVersion",0,0,cDaten,&dwData);

cout << "Die Bios Version ist:" <<cDaten;

getchar();

}

aber es funktioniert einfach nicht... kann mir da jemand nen Tip geben?

ich bin unwissend ich gebs zu... wie mache ich das?

Hmm...

Mit welchem OS arbeitest Du denn ? Kann Deinen Schlüssel unter meinem W2k nicht finden !

Desweiteren sollte man Reg-Schlüssel wieder schliessen RegCloseKey.

RegOpenKeyEx(HKEY_LOCAL_MACHINE, "HARDWARE\DESCRIPTION\System", 0, KEY_ALL_ACCESS, &hkey);

Kann mich ja täuschen, aber muss man da nicht "\\" schreiben ???

ich arbeite mit WinXP

danke ;-) werds gleich mal testen

ok.. also einen fehler hab ich noch... SystemBiosVersion ist ein REG_MULTI_SZ aber mit meinem unsigned char cDaten[256] kann ich nur ein REG_SZ auslesen also array von chars und nicht ein array von arrays von chars... also kann mir jemand da nen tipp geben?

Es ist nicht wirklich ein Array von Strings, die MSDN Library ist an dieser Stelle etwas ungenau. Wenn ein REG_MULTI_SZ mehrere Strings enthält, dann liefert RegQueryValueEx alle hintereinander im Puffer, getrennt durch Nullzeichen. Der letzte String ist mit zwei Nullzeichen terminiert.

ja aber wie lese ich es dann aus?

also es funktioniert bei mir nicht richtig... ihr könnt es ja gerne nochmal testen.. hier ist der voll ständige quellcode:

/*H.Guessfeldt test2.cpp April 2002*/

#include <iostream.h>

#include <windows.h>

#include <windowsx.h>

#include <windef.h>

int main (void)

{

HKEY hkey;

DWORD dwData = 256;

unsigned char cDaten[256];

RegOpenKeyEx(HKEY_LOCAL_MACHINE, "HARDWARE\\DESCRIPTION\\System", 0, KEY_ALL_ACCESS, &hkey);

RegQueryValueEx(hkey, "SystemBiosVersion",0,0,cDaten,&dwData);

for( char *pMulti = (char*) cDaten; *pMulti != '\0'; pMulti += strlen( pMulti )+ 1 )

{

cout << "Die Bios Version ist:" << pMulti << endl;

}

getchar();

}

bei mir wird nur ne asci zeichen kette ausgegeben... wird bei dir die richtige bios version ausgeben?

Habe das auch mal ausprobiert!

Bei mir wird die richtige Biosversion ausgegeben:

Award Modular BIOS v4.51PG

Weiß allerdings auch nicht, warum er es bei mir zeigt und bei Euch nur ne ASCI-Zeichenkette ausgibt. In meiner Registry steht auch nur ne Zeichenkette, die anscheint von Programm übersetzt werden kann.

also leute erstmal euch allen danke, der Quellcode (der letzte) ist richtig... es lag an den Sicherheitseinstellungen das es bei mir nicht richtig lief. Hab es noch mal als Admin getest und es lief korrekt ;-)

also wer es braucht, bedient euch :-)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.