Форум программистов, компьютерный форум CyberForum.ru

системная информация - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ часовой пояс http://www.cyberforum.ru/cpp-beginners/thread349002.html
Здравствуйте! Не знаю в чем ошибка... Тест не проходить... Найдите пожалуйста что я не делаю правильно. Условие такое: Самолет взлетает в X (целое, 0<=X<=23) часов по местному времени в часовом поясе номер M (целое, 0<=M<=23). После полета в течение K (целое, 1<=K<=12) часов он приземляется в часовом поясе номер N (целое, 0<=N<=23). Определите местное время в пункте приземления. Считать, что...
C++ Подскажите литературу. Здраствуйте. Подскажите пожалуйста хорошую литературу по структурах и класах в Си, писаную для конкретных баранов и тех у кого опилки в башке, ато уже наизнанку выворачивает от злости, ничего не понятно. Приветствуется всё, книги, ссылки, и тд и тп. http://www.cyberforum.ru/cpp-beginners/thread348989.html
C++ Парсер
Возник вопрос как лучше написать парсер. Интересно просто услышать советы. Грамматика примерно такова. /* Grammar * * Expr : PrimaryCommand * PrimaryCommand : InsertCommand | SelectCommand | CreateCommand | DeleteCommand | AlterCommand | TruncateCommand | * UpdateCommand | DescCommand | ShowCommand | DropCommand | QuitCommand | HelpCommand * InsertCommand : insert Command Name...
Переименование типов в подключаемом модуле C++
Написал свой модуль для работы со связными списками, в которых хранится информация типа int, следовательно, в каждом объекте располагается переменная типа int и несколько методов для обработки. Для удобства переименовал int с помощью tipedef в data. Вопрос, можно ли в самой программе после подключения этого модуля переименовать другой требуемый тип в data, чтобы объекты подключаемого класса...
C++ Помогите с Шифром Цезаря http://www.cyberforum.ru/cpp-beginners/thread348971.html
Вообщем народ! Необходимо чтоб на вход поступала зашифрованная строка на латинице и далее выдавались все варианты перебора... Не могу понять как реализовать сдвиг:wall:, помогите... #include <iostream.h> #include <conio.h> int main(){ int shift=0; char alf={'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',...
C++ Освобождение памяти, занятой вектором У меня задача требует чтобы у вектора было в резерве не более 100 элементов. При постоянном росте вектора понятно как это обеспечить, а вот как быть при уменьшении количества элементов? Я не в курсе последних стандартов, подскажите есть ли сейчас способы гарантированного освобождения памяти, занятой вектором, и вообще какие способы существуют? подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
07.09.2011, 17:54     системная информация
Цитата Сообщение от androidos Посмотреть сообщение
Привет!
Собираюсь сделать программу, которая при нажатии кнопок считывает системные ресурсы! Такие как: порты, IP адрес, название проца, скорость и т.д. и печатает всё на форму.
IP

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <winsock2.h>
#include <stdio.h>
 
 
WORD    wVersionRequested;
WSADATA wsaData;
 
void main()
{
    char    hn[1024];
    struct hostent *adr;
    char *LocalIp = new char[15];
    wVersionRequested = MAKEWORD(1, 0);
    int err = WSAStartup(wVersionRequested, &wsaData);
    if(err == 0)
    {
        if(gethostname((char*)&hn, 1024))
        {
            err = WSAGetLastError();
            Beep(500,40);
        };
        adr = gethostbyname(hn);
        if(adr)
        {
            sprintf(LocalIp,"%d.%d.%d.%d",
                (unsigned char)adr->h_addr_list[0][0],
                (unsigned char)adr->h_addr_list[0][1],
                (unsigned char)adr->h_addr_list[0][2],
                (unsigned char)adr->h_addr_list[0][3]);
            printf("%s\r\n",LocalIp);
        }
    }
}
Системная память
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <windows.h>
#include <stdio.h>
#include <conio.h>
// чтобы получить результат в Kb, используем делитель.
#define DIV 1024
// #define DIV 1
char *divisor = "K";
// char *divisor = "";
// Ширина поля, в которой будут печаться цифры
// "%*ld" преобразует аргумент списка в int, и выравнивает вправо.
#define WIDTH 7
 
void main(int argc, char *argv[]){
  MEMORYSTATUS stat;
  GlobalMemoryStatus (&stat);
 
  printf ("The MemoryStatus structure is %ld bytes long.\n",
          stat.dwLength);
  printf ("It should be %d.\n", sizeof (stat));
  printf ("%ld percent of memory is in use.\n",
          stat.dwMemoryLoad);
  printf ("There are %*d total %sbytes of physical memory.\n",
          WIDTH, stat.dwTotalPhys/DIV, divisor);
  printf ("There are %*d free %sbytes of physical memory.\n",
          WIDTH, stat.dwAvailPhys/DIV, divisor);
  printf ("There are %*d total %sbytes of paging file.\n",
          WIDTH, stat.dwTotalPageFile/DIV, divisor);
  printf ("There are %*d free %sbytes of paging file.\n",
          WIDTH, stat.dwAvailPageFile/DIV, divisor);
  printf ("There are %*d total %sbytes of virtual memory.\n",
          WIDTH, stat.dwTotalVirtual/DIV, divisor);
  printf ("There are %*d free %sbytes of virtual memory.\n",
          WIDTH, stat.dwAvailVirtual/DIV, divisor);
  getch();
}
Добавлено через 2 минуты
Частота CPU к сожалению с asm
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <windows.h>
#include <stdio.h>
 
unsigned __int64 cpuspeed(void)
{
    unsigned __int64 start, stop;
    unsigned __int64 nCtr, nFreq, nCtrStop; 
    QueryPerformanceFrequency((LARGE_INTEGER *)&nFreq);
    _asm _emit 0x0F
    _asm _emit 0x31
    _asm mov DWORD PTR start, eax
    _asm mov DWORD PTR [start+4], edx
    QueryPerformanceCounter((LARGE_INTEGER *)&nCtrStop);
    nCtrStop += nFreq;
    do
    {
        QueryPerformanceCounter((LARGE_INTEGER *)&nCtr); 
    }
    while (nCtr < nCtrStop);
    _asm _emit 0x0F
    _asm _emit 0x31
    _asm mov DWORD PTR stop, eax
    _asm mov DWORD PTR [stop+4], edx
    return (stop-start);
}
int main(int argc, char* argv[])
{
    do
    {
        printf("Your CPU speed is %I64u Hz\nPress enter to recalculate or \"q\" to quit", cpuspeed());
    } 
    while (getchar() != 'q');
    return 0;
}
Добавлено через 1 минуту
Список процессов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// ProcView.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include "windows.h"
#include "iostream.h"
#include "tlhelp32.h"
 
int main(int argc, char* argv[])
{
    HANDLE hSnap;
    hSnap = CreateToolhelp32Snapshot(/*TH32CS_SNAPPROCESS*/TH32CS_SNAPALL, 0);
    if (hSnap == NULL) 
    {
        MessageBox(NULL,"Error Load ToolHelp",NULL,MB_OK);
    }
    PROCESSENTRY32 proc;
    if (Process32First(hSnap, &proc))
    {
        cout<<proc.szExeFile<<"\t"<<proc.th32ProcessID<<"\n";
        while (Process32Next(hSnap, &proc)) 
        {
            cout<<proc.szExeFile<<"\t"<<proc.th32ProcessID<<"\n";
        }
    }
    cin>>argc;
    return 0;
}
Добавлено через 8 минут
Как бонус - просмотр реестра CTreeView в MDI приложении.
 
Текущее время: 15:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru