Ĺadny brzuch
Jak w Borlandzie C++ (ewentualnie w Delphi) pobrac i wyswietlic na Labelu np. software (system operacyjny, nazwa użytkownika, IP gdy jest w internecie) oraz hardware(procek, karta graficzna i muz., pamiec, dysk, plyta glowna)
dobrze jesli podalibyscie link bo jesli chcielibyscie napisac wszystko w topicu troche by sie wam zeszlo :P
Użytkownik Voodoo edytował ten post 25 październik 2005, 17:36
To jest na OS, pochodzi z mojego engine:
SYSTEM_INFO SysInf; OSVERSIONINFOEX OsVer; ZeroMemory( &SysInf, sizeof( SYSTEM_INFO ) ); ZeroMemory( &OsVer, sizeof( OSVERSIONINFOEX ) ); OsVer.dwOSVersionInfoSize = sizeof( OSVERSIONINFOEX ); GetSystemInfo( &SysInf ); bool OsEx = GetVersionEx( (OSVERSIONINFO*)&OsVer ); if( !OsEx ) { OsVer.dwOSVersionInfoSize = sizeof( OSVERSIONINFO ); if(!GetVersionEx( (OSVERSIONINFO*)&OsVer )) return false; } this->WindowsType = "Microsoft Windows "; this->WinNT = false; switch( OsVer.dwPlatformId ) { case VER_PLATFORM_WIN32_NT : this->WinNT = true; switch( OsVer.dwMajorVersion ) { case 5 : switch( OsVer.dwMinorVersion ) { case 0 : this->WindowsType += "2000"; break; case 1 : this->WindowsType += "XP"; break; case 2 : this->WindowsType += "2003"; break; } break; case 4 : this->WindowsType += "NT"; break; default: this->WindowsType += "Unknown NT"; break; } if ( OsVer.wProductType == VER_NT_WORKSTATION ) { if( OsVer.dwMajorVersion == 4 ) this->WindowsType += " Workstation 4.0"; else if( OsVer.wSuiteMask & VER_SUITE_PERSONAL ) this->WindowsType += " Home Edition"; else this->WindowsType += " Professional"; } if( OsVer.wServicePackMajor > 0 ) { /*char buf[25]; if( OsVer.wServicePackMinor > 0 ) sprintf( buf, " SP%d(%d)", OsVer.wServicePackMajor, OsVer.wServicePackMinor ); else sprintf( buf, " SP%d", OsVer.wServicePackMajor ); this->WindowsType += buf;*/ this->WindowsType += " SP" + IToStr( OsVer.wServicePackMajor ); if( OsVer.wServicePackMinor > 0 ) this->WindowsType += "(" + IToStr( OsVer.wServicePackMinor ) + ")"; } break; case VER_PLATFORM_WIN32_WINDOWS : switch( OsVer.dwMajorVersion ) { case 4 : switch( OsVer.dwMinorVersion ) { case 0 : this->WindowsType += "95"; if( OsVer.szCSDVersion[1] == 'C' && OsVer.szCSDVersion[2] == 'B' ) this->WindowsType += " OSR2"; break; case 10 : this->WindowsType += "98"; if( OsVer.szCSDVersion[1] == 'A' ) this->WindowsType += " SE"; break; case 90 : this->WindowsType += "Millenium"; break; default: this->WindowsType += "Unknown"; break; } break; } break; case VER_PLATFORM_WIN32s : this->WindowsType += "WIN32"; } Log->Log( ClassName, std::string( "OS: " ) + WindowsType, LOG_REPORT );
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
dobrze jesli podalibyscie link bo jesli chcielibyscie napisac wszystko w topicu troche by sie wam zeszlo :P
Użytkownik Voodoo edytował ten post 25 październik 2005, 17:36
To jest na OS, pochodzi z mojego engine:
SYSTEM_INFO SysInf; OSVERSIONINFOEX OsVer; ZeroMemory( &SysInf, sizeof( SYSTEM_INFO ) ); ZeroMemory( &OsVer, sizeof( OSVERSIONINFOEX ) ); OsVer.dwOSVersionInfoSize = sizeof( OSVERSIONINFOEX ); GetSystemInfo( &SysInf ); bool OsEx = GetVersionEx( (OSVERSIONINFO*)&OsVer ); if( !OsEx ) { OsVer.dwOSVersionInfoSize = sizeof( OSVERSIONINFO ); if(!GetVersionEx( (OSVERSIONINFO*)&OsVer )) return false; } this->WindowsType = "Microsoft Windows "; this->WinNT = false; switch( OsVer.dwPlatformId ) { case VER_PLATFORM_WIN32_NT : this->WinNT = true; switch( OsVer.dwMajorVersion ) { case 5 : switch( OsVer.dwMinorVersion ) { case 0 : this->WindowsType += "2000"; break; case 1 : this->WindowsType += "XP"; break; case 2 : this->WindowsType += "2003"; break; } break; case 4 : this->WindowsType += "NT"; break; default: this->WindowsType += "Unknown NT"; break; } if ( OsVer.wProductType == VER_NT_WORKSTATION ) { if( OsVer.dwMajorVersion == 4 ) this->WindowsType += " Workstation 4.0"; else if( OsVer.wSuiteMask & VER_SUITE_PERSONAL ) this->WindowsType += " Home Edition"; else this->WindowsType += " Professional"; } if( OsVer.wServicePackMajor > 0 ) { /*char buf[25]; if( OsVer.wServicePackMinor > 0 ) sprintf( buf, " SP%d(%d)", OsVer.wServicePackMajor, OsVer.wServicePackMinor ); else sprintf( buf, " SP%d", OsVer.wServicePackMajor ); this->WindowsType += buf;*/ this->WindowsType += " SP" + IToStr( OsVer.wServicePackMajor ); if( OsVer.wServicePackMinor > 0 ) this->WindowsType += "(" + IToStr( OsVer.wServicePackMinor ) + ")"; } break; case VER_PLATFORM_WIN32_WINDOWS : switch( OsVer.dwMajorVersion ) { case 4 : switch( OsVer.dwMinorVersion ) { case 0 : this->WindowsType += "95"; if( OsVer.szCSDVersion[1] == 'C' && OsVer.szCSDVersion[2] == 'B' ) this->WindowsType += " OSR2"; break; case 10 : this->WindowsType += "98"; if( OsVer.szCSDVersion[1] == 'A' ) this->WindowsType += " SE"; break; case 90 : this->WindowsType += "Millenium"; break; default: this->WindowsType += "Unknown"; break; } break; } break; case VER_PLATFORM_WIN32s : this->WindowsType += "WIN32"; } Log->Log( ClassName, std::string( "OS: " ) + WindowsType, LOG_REPORT );