Статья: Работа с некоторыми Win API функциями (информация о системе)

Статья: Работа с некоторыми Win API функциями (информация о системе)




👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































В этой статьеи будет рассмотрены некоторые Win API функции:
Функция GetLogicalDrives возвращает число-битовую маску в которой храняться все
Если функция вызвана правильно, то она возвращает число-битовую маску в которой
храняться все доступные диски ( если 0 бит равен 1, то диск "A:" присутствует, и т.д. )
Если функция вызвана не правильно, то она возвращает 0.
dd[0] = char(65+i); dd[1] = ':'; dd[2] = '\'; dd[3] = 0;
cout << "Available disk drives : " << dd << endl;
Функция GetDriveType возвращаеттипдиска (removable, fixed, CD-ROM,
UINT GetDriveType(LPCTSTR lpRootPathName);
[in] Указатель на не нулевую стоку в которой хранится имя
главной директории на диске. Обратный слэш должен присутствовать!
Если lpRootPathName равно NULL, то функция использует текущую директорию.
Функция возвращает тип диска. Могут быть следующие значения:
DRIVE_NO_ROOT_DIR Не правильный путь.
DRIVE_REMOTE Удалённыйили network диск.
if( d == DRIVE_UNKNOWN ) cout << " UNKNOWN" << endl;
if( d == DRIVE_NO_ROOT_DIR ) cout << " DRIVE NO ROOT DIR" << endl;
if( d == DRIVE_REMOVABLE ) cout << " REMOVABLE" << endl;
if( d == DRIVE_FIXED ) cout << " FIXED" << endl;
if( d == DRIVE_REMOTE ) cout << " REMOTE" << endl;
if( d == DRIVE_CDROM ) cout << " CDROM" << endl;
if( d == DRIVE_RAMDISK ) cout << " RAMDISK" << endl;
Функция GetVolumeInformation возвращает информацию о файловой системе и
LPCTSTR lpRootPathName, // имя диска(директории) [in]
LPTSTR lpVolumeNameBuffer, // названиедиска [out]
DWORD nVolumeNameSize, // длина буфера названия диска [in]
LPDWORD lpVolumeSerialNumber, // сериальный номер диска [out]
LPDWORD lpMaximumComponentLength, // максимальная длина фыйла [out]
LPDWORD lpFileSystemFlags, // опции файловой системы [out]
LPTSTR lpFileSystemNameBuffer, // имя файловой системы [out]
DWORD nFileSystemNameSize // длина буфера имени файл. сист. [in]
Если функция вызвана правильно, то она возвращает не нулевое значение(TRUE).
Если функция вызвана не правильно, то она возвращает 0(FALSE).
BOOL GetVolumeInformationFlag = GetVolumeInformationA(
cout << " Volume Name is " << VolumeNameBuffer << endl;
cout << " Volume Serial Number is " << VolumeSerialNumber << endl;
cout << " File System is " << FileSystemNameBuffer << endl;
else cout << " Not Present (GetVolumeInformation)" << endl;
Функция GetDiskFreeSpaceEx выдаёт информацию о доступном месте на диске.
LPCTSTR lpDirectoryName, // имя диска(директории) [in]
PULARGE_INTEGER lpFreeBytesAvailable, // доступно для использования(байт) [out]
PULARGE_INTEGER lpTotalNumberOfBytes, // максимальный объём( в байтах ) [out]
PULARGE_INTEGER lpTotalNumberOfFreeBytes // свободно на диске( в байтах ) [out]
Если функция вызвана правильно, то она возвращает не нулевое значение(TRUE).
Если функция вызвана не правильно, то она возвращает 0(FALSE).
BOOL GetDiskFreeSpaceFlag = GetDiskFreeSpaceEx(
(PULARGE_INTEGER)&FreeBytesAvailable, // bytes available to caller
(PULARGE_INTEGER)&TotalNumberOfBytes, // bytes on disk
(PULARGE_INTEGER)&TotalNumberOfFreeBytes // free bytes on disk
cout << " Total Number Of Free Bytes = " << (unsigned long)TotalNumberOfFreeBytes
<< "( " << double(unsigned long(TotalNumberOfFreeBytes))/1024/1000
cout << " Total Number Of Bytes = " << (unsigned long)TotalNumberOfBytes
<< "( " << double(unsigned long(TotalNumberOfBytes))/1024/1000
else cout << " Not Present (GetDiskFreeSpace)" << endl;
Функция GlobalMemoryStatus возвращает информацию о используемой системой памяти.
LPMEMORYSTATUS lpBuffer // указательнаструктуру MEMORYSTATUS
DWORD dwLength; // длинаструктурывбайтах
DWORD dwMemoryLoad; // загрузка памяти в процентах
SIZE_T dwTotalPhys; // максимальное количество физической памяти в байтах
SIZE_T dwAvailPhys; // свободное количество физической памяти в байтах
SIZE_T dwTotalPageFile; // макс. кол. памяти для программ в байтах
SIZE_T dwAvailPageFile; // свободное кол. памяти для программ в байтах
SIZE_T dwTotalVirtual; // максимальное количество виртуальной памяти в байтах
SIZE_T dwAvailVirtual; // свободное количество виртуальной памяти в байтах
Эта функция не возвращает параметров
// The MemoryStatus structure is 32 bytes long.
// There are 65076 total Kbytes of physical memory.
// There are 13756 free Kbytes of physical memory.
// There are 150960 total Kbytes of paging file.
// There are 87816 free Kbytes of paging file.
// There are 1fff80 total Kbytes of virtual memory.
// There are 1fe770 free Kbytes of virtual memory.
printf ("The MemoryStatus structure is %ld bytes long.n",
printf ("It should be %d.n", sizeof (stat));
printf ("%ld percent of memory is in use.n",
printf ("There are %*ld total %sbytes of physical memory.n",
WIDTH, stat.dwTotalPhys/DIV, divisor);
printf ("There are %*ld free %sbytes of physical memory.n",
WIDTH, stat.dwAvailPhys/DIV, divisor);
printf ("There are %*ld total %sbytes of paging file.n",
WIDTH, stat.dwTotalPageFile/DIV, divisor);
printf ("There are %*ld free %sbytes of paging file.n",
WIDTH, stat.dwAvailPageFile/DIV, divisor);
printf ("There are %*lx total %sbytes of virtual memory.n",
WIDTH, stat.dwTotalVirtual/DIV, divisor);
printf ("There are %*lx free %sbytes of virtual memory.n",
WIDTH, stat.dwAvailVirtual/DIV, divisor);
Функция GetComputerName возвращает NetBIOS имялокальногокомпьютера.
LPTSTR lpBuffer, // имялокальногокомпьютера( длинабуфераравна MAX_COMPUTERNAME_LENGTH + 1 ) [out]
LPDWORD lpnSize // размербуфера ( лучшепоставить MAX_COMPUTERNAME_LENGTH + 1 ) [out/in]
Функция GetUserName возвращает имя текущего узера.
LPTSTR lpBuffer, // имя юзера( длина буфера равна UNLEN + 1 ) [out]
LPDWORD nSize // размер буфера ( лучше поставить UNLEN + 1 ) [out/in]
Если функции вызваны правильно, то они возвращают не нулевое значение(TRUE).
Если функции вызваны не правильно, то они возвращают 0(FALSE).
char ComputerName[MAX_COMPUTERNAME_LENGTH + 1];
unsigned long len_ComputerName = MAX_COMPUTERNAME_LENGTH + 1;
unsigned long len_UserName = UNLEN + 1;
if( comp != 0 ) { cout << "Computer Name is " << ComputerName << endl; }
else cout << "Computer Name is NOT FOUND !!! " << endl;
if( comp != 0 ) { cout << "User Name is " << UserName << endl; }
else cout << "User Name is NOT FOUND !!! " << endl;
7) GetSystemDirectory, GetTempPath, GetWindowsDirectory, GetCurrentDirectory
Функция GetSystemDirectory возвращаетпутьксистемнойдиректории.
LPTSTR lpBuffer, // буфердлясистемнойдиректории [out]
Эта функция возвращает размер буфера для системной директории не включая нулевого
значения в конце, если она вызвана правильно.
Если функция вызвана не правильно, то она возвращает 0.
Функция GetTempPath возвращает путь к директории, отведённой для временных файлов.
DWORD nBufferLength, // размербуфера [in]
LPTSTR lpBuffer // буфер для временной директории [out]
Эта функция возвращает размер буфера для системной директории не включая нулевого
значения в конце, если она вызвана правильно.
Если функция вызвана не правильно, то она возвращает 0.
Функция GetWindowsDirectory возвращает путь к Windows директории.
LPTSTR lpBuffer, // буфердля Windows директории [out]
Эта функция возвращает размер буфера для системной директории не включая нулевого
значения в конце, если она вызвана правильно.
Если функция вызвана не правильно, то она возвращает 0.
Функция GetCurrentDirectory возвращает путь к текущей директории.
DWORD nBufferLength, // размербуфера [in]
LPTSTR lpBuffer // буфер для текущей директории [out]
Эта функция возвращает размер буфера для системной директории не включая нулевого
значения в конце, если она вызвана правильно.
Если функция вызвана не правильно, то она возвращает 0.
cout << "System Directory is " << path << endl;
cout << "Temp path is " << path << endl;
cout << "Windows directory is " << path << endl;
cout << "Current directory is " << path << endl;

Название: Работа с некоторыми Win API функциями (информация о системе)
Раздел: Рефераты по информатике, программированию
Тип: статья
Добавлен 23:52:04 04 марта 2007 Похожие работы
Просмотров: 76
Комментариев: 16
Оценило: 3 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Если Вам нужна помощь с учебными работами, ну или будет нужна в будущем (курсовая, дипломная, отчет по практике, контрольная, РГР, решение задач, онлайн-помощь на экзамене или "любая другая" учебная работа...) - обращайтесь: https://clck.ru/P8YFs - (просто скопируйте этот адрес и вставьте в браузер) Сделаем все качественно и в самые короткие сроки + бесплатные доработки до самой сдачи/защиты! Предоставим все необходимые гарантии.
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Статья: Работа с некоторыми Win API функциями (информация о системе)
Об устойчивости нелинейных систем.
Реферат: Відповідальність аудитора за здійснені дії і виконання процедури за дотримання нормативно-правової
Эссе Мой Опыт Участия В Неформальной Экономике
Реферат На Тему Земляника (Полуниця)
Эссе По Обществознанию По Культуре
Контрольная работа: Психология поведения человека в чрезвычайных ситуациях
Реферат: Основные организационные и экономические проблемы библиотечного дела в России на современном этапе
Доклад по теме Методологические подходы к построению и объяснению истории психологии: перспективы содержательного синтеза.
Реферат: Федоскинская миниатюра. Скачать бесплатно и без регистрации
Экосистема Природных Лесных Ресурсов Реферат
Современная научная картина мира
Реферат: Организация и порядок использования в бою мотопехотной (пехотной, танковой) (бригады армий вероятного противника). Скачать бесплатно и без регистрации
Дипломная работа по теме Проектирование электроснабжения оборудования блока ПГУ предприятия 'Вологодская ТЭЦ'
Сөз Мәдениеті Эссе Әдеби Тілдің
Настоящие Трудности Сочинение 15.3
Курсовая работа: Характеристика товарных отношений как элементарной специфической формы
Реферат: Особенности интеграции иммигрантов из бывшего СССР
Реферат: Земли оздоровительного назначения в Республике Беларусь
Реферат: Biracial Children Essay Research Paper In the
Реферат: Байкало-Ленский заповедник
Изложение: Достоевский: Идиот
Доклад: Иоганн Себастьян Бах
Реферат: Функции заработной платы и их проявление в условиях рыночной экономики

Report Page