С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

win API:найти информацию о логических дисках. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ищу простую и документированную библиотеку для рисования простых(2D, линейных) графиков http://www.cyberforum.ru/cpp-beginners/thread565069.html
Собственно весь вопрос в название темы. Ищу простую и документированную библиотеку для рисования простых(2D, линейных) графиков, желательно чтобы можно было без лишних проблем подключить к проекту в...
C++ Вычисление сумм С++ для заданного натурального n рассчитать сумму S=cos1-cos2+cos3-...+(-1)^n+1cosn заранее спасибо http://www.cyberforum.ru/cpp-beginners/thread565057.html
C++ Утечка памяти (Expression: _CrtIsValidHeapPointer(pUserData))
Добрый вечер всем. Столкнулся с такой проблемой. Запускаю программу, открываеться пустая консоль, увеличиваеться употребление оперативной памяти для программы и викидает такую ошибку: Вот код...
Дано целое число в диапазоне 10–40 C++
Дано целое число в диапазоне 10–40, определяющее количество учебных заданий по некоторой теме. Вывести строку-описание указанного количества заданий, обеспечив правильное согласование числа со...
C++ Соединение строки с числом http://www.cyberforum.ru/cpp-beginners/thread565030.html
Есть строка char* a = "str". Как можно соединить ее с числом, чтобы получилось str1, str2 ... strN? Т.е. все это проходит в цикле. Пробовал strcat и strcpy, но не получается.
C++ Заполнение и сохранение массива структур не работает... Я хочу сделать справочник кулинарных рецептов, (в него входит: название рецепта, ингредиенты(это у меня и вызывает затруднение) и приготовление). Все было бы хорошо, НО ингредиентов может быть... подробнее

Показать сообщение отдельно
BRcr
4010 / 2299 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
04.05.2012, 10:07
А кто поиск использовать будет? Или похожие темы внизу странички?
Вот, например, выдрал из первой попавшейся похожей темы:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
//Функция(параметры диска) 
void show_disk (char *str, HANDLE hWnd)
{
      //функции 
      BOOL  fResult1,fResult2;
      
      //переменные(параметры диска) 
      DWORD dwSectPerClust,
            dwBytesPerSect,
            dwFreeClusters,
            dwTotalClusters;
      
      //массивы для хронения имени диска 
      char  *pszDrive  = NULL, szDrive[4];
      
      P_GDFSE pGetDiskFreeSpaceEx = NULL;
 
      //переменные(параметры диска)
      unsigned __int64 i64FreeBytesToCaller,
                       i64TotalBytes,
                       i64FreeBytes;
    
      //переменные для вывода результата в ListBox
    hList1 = GetDlgItem (hWnd, IDC_LIST1);
    hList2 = GetDlgItem (hWnd, IDC_LIST2);
    hList3 = GetDlgItem (hWnd, IDC_LIST3);
    hList4 = GetDlgItem (hWnd, IDC_LIST4);
    hList5 = GetDlgItem (hWnd, IDC_LIST5);
    hList6 = GetDlgItem (hWnd, IDC_LIST6);
    hList7 = GetDlgItem (hWnd, IDC_LIST7);
    
    //проверка на правильность имени диска
    pszDrive = str;
      if (pszDrive[1] == ':')
      {
         szDrive[0] = pszDrive[0];
         szDrive[1] = ':';
         szDrive[2] = '\\';
         szDrive[3] = '\0';
         pszDrive = szDrive;
      }
    //объявление расширенной функции GetDiskFreeSpaceEx
    pGetDiskFreeSpaceEx = (P_GDFSE)GetProcAddress (
                               GetModuleHandle ("kernel32.dll"),
                                                "GetDiskFreeSpaceExA");
    //параметры диска(функция GetDiskFreeSpaceEx)
    fResult1 = pGetDiskFreeSpaceEx (pszDrive,//имя диска 
                             (PULARGE_INTEGER)&i64FreeBytesToCaller,
                             (PULARGE_INTEGER)&i64TotalBytes,//Всего байт
                             (PULARGE_INTEGER)&i64FreeBytes);//Всего свободно байт 
    //Всего свободно байт  
    sprintf(szListText,"%I64u",i64FreeBytes);
    ListIndex = SendMessage (hList5, LB_DELETESTRING, 0, (long)szListText);
    ListIndex = SendMessage (hList5, LB_ADDSTRING, 0, (long)szListText);
    SendMessage (hList5, WM_SETREDRAW, TRUE, 0);
    
    //Всего байт
    sprintf(szListText,"%I64u",i64TotalBytes);
    ListIndex = SendMessage (hList6, LB_DELETESTRING, 0, (long)szListText);
    ListIndex = SendMessage (hList6, LB_ADDSTRING, 0, (long)szListText);
    SendMessage (hList6, WM_SETREDRAW, TRUE, 0);
    
    //Свободно в %
    sprintf(szListText,"%I64u",((i64FreeBytes*100)/i64TotalBytes));
    ListIndex = SendMessage (hList7, LB_DELETESTRING, 0, (long)szListText);
    ListIndex = SendMessage (hList7, LB_ADDSTRING, 0, (long)szListText);
    SendMessage (hList7, WM_SETREDRAW, TRUE, 0);
    
    //параметры диска(функция GetDiskFreeSpace)
    fResult2 = GetDiskFreeSpace (pszDrive,//имя диска  
                                     &dwSectPerClust,//Секторов на кластер
                                     &dwBytesPerSect,//Байт на сектор 
                                     &dwFreeClusters,//Число своб. кластеров
                                     &dwTotalClusters);//Всего кластеров
    //Секторов на кластер
    sprintf(szListText,"%u",dwSectPerClust);
    ListIndex = SendMessage (hList1, LB_DELETESTRING, 0, (long)szListText);
    ListIndex = SendMessage (hList1, LB_ADDSTRING, 0, (long)szListText);
    SendMessage (hList1, WM_SETREDRAW, TRUE, 0);
    
    //Байт на сектор
    sprintf(szListText,"%u",dwBytesPerSect);
    ListIndex = SendMessage (hList2, LB_DELETESTRING, 0, (long)szListText);
    ListIndex = SendMessage (hList2, LB_ADDSTRING, 0, (long)szListText);
    SendMessage (hList2, WM_SETREDRAW, TRUE, 0);
    
    //Число своб. кластеров
    sprintf(szListText,"%u",dwFreeClusters);
    ListIndex = SendMessage (hList3, LB_DELETESTRING, 0, (long)szListText);
    ListIndex = SendMessage (hList3, LB_ADDSTRING, 0, (long)szListText);
    SendMessage (hList3, WM_SETREDRAW, TRUE, 0);
    
    //Всего кластеров
    sprintf(szListText,"%u",dwTotalClusters);
    ListIndex = SendMessage (hList4, LB_DELETESTRING, 0, (long)szListText);
    ListIndex = SendMessage (hList4, LB_ADDSTRING, 0, (long)szListText);
    SendMessage (hList4, WM_SETREDRAW, TRUE, 0);
      
 
  }
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.