Veröffentlicht 20. Juni 200223 j Hallo, mein Problem ist es heraus zu bekommen welches Betreibssystem gerade verwendet wird. So was wie eine kleine Funktion als Beispiel wäre toll. Benutze MS Visual Studio6.0 :confused:
20. Juni 200223 j Original geschrieben von Babybaer Benutze MS Visual Studio6.0 Eben drum bist Du hier falsch. Husch, husch, ins richtige Forum...
20. Juni 200223 j Zum Thema: GetVersionEx liefert diese Daten zur Laufzeit. http://msdn.microsoft.com/library/en-us/sysinfo/sysinfo_49iw.asp
20. Juni 200223 j So muß man das abfragen: OSVERSIONINFOEX osvi; static PlatformID; osvi.dwOSVersionInfoSize=sizeof(osvi); GetVersionEx ((OSVERSIONINFO*)&osvi); switch (PlatformID=osvi.dwPlatformId&3) { case VER_PLATFORM_WIN32s: TRACE("Win31"); break; case VER_PLATFORM_WIN32_WINDOWS: TRACE("Win95/98");break; case VER_PLATFORM_WIN32_NT: TRACE("2000/NT");break; default: TRACE("Keine Ahnung"); }
20. Juni 200223 j Oder vielleicht ist es je nach Version noch detaillierter, wenn man die Registry ausliest. Ich weiß allerdings nicht sicher, ob der Key wirklich bei jeder Version auch an der selben Stelle steht - ich gehe einfach mal davon aus. Ansonsten kann man mit Hilfe der Vorgängerfunktion ja den Pfad umlenken. HKEY hKey; unsigned long type,size=100; LPCTSTR path={"Software\\Microsoft\\Windows\\CurrentVersion"}; unsigned char WinVersion[101]; long check; check = RegOpenKeyEx(HKEY_LOCAL_MACHINE,path,0,KEY_QUERY_VALUE,&hKey); if (check==ERROR_SUCCESS) { RegQueryValueEx(hKey,"Productname", NULL,&type,WinVersion,&size); RegCloseKey(hKey); } else MessageBox("Key konnte nicht geöffnet werden!");
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.