5) GlobalMemoryStatus p>
Функція GlobalMemoryStatus повертає інформацію про
використовуваної системою пам'яті. p>
VOID
GlobalMemoryStatus ( p>
LPMEMORYSTATUS
lpBuffer// покажчик на структуру MEMORYSTATUS p>
); p>
typedef struct
_MEMORYSTATUS ( P>
DWORD dwLength;// довжина структури в байтах p>
DWORD dwMemoryLoad;// завантаження пам'яті у відсотках p>
SIZE_T dwTotalPhys;// максимальну кількість
фізичної пам'яті в байтах p>
SIZE_T dwAvailPhys;// вільне кількість фізичної
пам'яті в байтах p>
SIZE_T dwTotalPageFile;// макс. кол. пам'яті для
програм в байтах p>
SIZE_T dwAvailPageFile;// вільне кол. пам'яті для
програм в байтах p>
SIZE_T dwTotalVirtual;// максимальну кількість
віртуальної пам'яті в байтах p>
SIZE_T dwAvailVirtual;// вільне кількість
віртуальної пам'яті в байтах p>
) MEMORYSTATUS, * LPMEMORYSTATUS; p>
повертає значення: p>
Ця функція не повертає параметрів p>
Приклад: p>
// The MemoryStatus
structure is 32 bytes long. p>
// It should be 32. p>
// 78 percent of
memory is in use. p>
// There are 65076
total Kbytes of physical memory. p>
// There are 13756
free Kbytes of physical memory. p>
// There are 150960
total Kbytes of paging file. p>
// There are 87816
free Kbytes of paging file. p>
// There are 1fff80
total Kbytes of virtual memory. p>
// There are 1fe770
free Kbytes of virtual memory. p>
# define DIV 1024 p>
# define WIDTH 7 p>
char * divisor =
"K"; p>
MEMORYSTATUS stat; p>
GlobalMemoryStatus
(& stat); p>
printf ( "The
MemoryStatus structure is% ld bytes long.n ", p>
stat.dwLength); p>
printf ( "It
should be% d.n ", sizeof (stat )); p>
printf ( "% ld
percent of memory is in use.n ", p>
stat.dwMemoryLoad); p>
printf ( "There
are% * ld total% sbytes of physical memory.n ", p>
WIDTH,
stat.dwTotalPhys/DIV, divisor); p>
printf ( "There
are% * ld free% sbytes of physical memory.n ", p>
WIDTH,
stat.dwAvailPhys/DIV, divisor); p>
printf ( "There
are% * ld total% sbytes of paging file.n ", p>
WIDTH,
stat.dwTotalPageFile/DIV, divisor); p>
printf ( "There
are% * ld free% sbytes of paging file.n ", p>
WIDTH,
stat.dwAvailPageFile/DIV, divisor); p>
printf ( "There
are% * lx total% sbytes of virtual memory.n ", p>
WIDTH,
stat.dwTotalVirtual/DIV, divisor); p>
printf ( "There
are% * lx free% sbytes of virtual memory.n ", p>
WIDTH,
stat.dwAvailVirtual/DIV, divisor); p>
6) GetComputerName,
GetUserNameA p>
Функція GetComputerName повертає NetBIOS ім'я локального комп'ютера. p>
BOOL GetComputerName ( p>
LPTSTR lpBuffer,//
ім'я локального комп'ютера (довжина буфера рівна MAX_COMPUTERNAME_LENGTH + 1)
[out] p>
LPDWORD lpnSize// розмір буфера (краще поставити MAX_COMPUTERNAME_LENGTH + 1)
[out/in] p>
); p>
Функція GetUserName повертає ім'я поточного узера. p>
BOOL GetUserName ( p>
LPTSTR lpBuffer,// ім'я користувача (довжина буфера рівна
UNLEN + 1) [out] p>
LPDWORD nSize// розмір буфера (краще поставити UNLEN
+ 1) [out/in] p>
); p>
повертаються значення: p>
Якщо функції викликані правильно, то вони повертають не
нульове значення (TRUE). p>
Якщо функції викликані не правильно, то вони повертають
0 (FALSE). P>
Приклад: p>
char
ComputerName [MAX_COMPUTERNAME_LENGTH + 1]; p>
unsigned long
len_ComputerName = MAX_COMPUTERNAME_LENGTH + 1; p>
char UserName [UNLEN
+ 1]; p>
unsigned long
len_UserName = UNLEN + 1; p>
BOOL comp =
GetComputerName ( p>
ComputerName, p>
& len_ComputerName p>
); p>
if (comp! = 0) (
cout << "Computer Name is" <
else cout <<
"Computer Name is NOT FOUND!" <
comp = GetUserNameA
( p>
UserName, p>
& len_UserName p>
); p>
if (comp! = 0) (
cout << "User Name is" <
else cout <<
"User Name is NOT FOUND!" <
7)
GetSystemDirectory, GetTempPath, GetWindowsDirectory, GetCurrentDirectory p>
Функція GetSystemDirectory повертає
шлях до системної директорії. p>
UINT
GetSystemDirectory ( p>
LPTSTR lpBuffer,//
буфер для системної директорії [out] p>
UINT uSize// розмір буфера [in] p>
); p>
повертає значення: p>
Ця функція повертає розмір буфера для системної
директорії не включаючи нульового p>
значення в кінці, якщо вона викликана правильно. p>
Якщо функція викликана не правильно, то вона повертає
0. P>
Функція GetTempPath повертає шлях до директорії,
відведеної для тимчасових файлів. p>
DWORD GetTempPath ( p>
DWORD
nBufferLength,// розмір буфера [in] p>
LPTSTR lpBuffer// буфер для тимчасової директорії
[out] p>
); p>
повертає значення: p>
Ця функція повертає розмір буфера для системної
директорії не включаючи нульового p>
значення в кінці, якщо вона викликана правильно. p>
Якщо функція викликана не правильно, то вона повертає
0. P>
Функція GetWindowsDirectory повертає шлях до Windows
директорії. p>
UINT
GetWindowsDirectory ( p>
LPTSTR lpBuffer,//
буфер для Windows директорії [out] p>
UINT uSize// розмір буфера [in] p>
); p>
повертає значення: p>
Ця функція повертає розмір буфера для системної
директорії не включаючи нульового p>
значення в кінці, якщо вона викликана правильно. p>
Якщо функція викликана не правильно, то вона повертає
0. P>
Функція GetCurrentDirectory повертає шлях до поточної
директорії. p>
DWORD
GetCurrentDirectory ( p>
DWORD
nBufferLength,// розмір буфера [in] p>
LPTSTR lpBuffer// буфер для поточної директорії [out] p>
); p>
повертає значення: p>
Ця функція повертає розмір буфера для системної
директорії не включаючи нульового p>
значення в кінці, якщо вона викликана правильно. p>
Якщо функція викликана не правильно, то вона повертає
0. P>
Приклад: p>
char path [100]; p>
GetSystemDirectory (
path, 100); p>
cout <<
"System Directory is" <
GetTempPath (100,
path); p>
cout <<
"Temp path is" <
GetWindowsDirectory (
path, 100); p>
cout <<
"Windows directory is" <
GetCurrentDirectory (
100, path); p>
cout <<
"Current directory is" <
Список літератури h2>
Для підготовки даної роботи були використані
матеріали з сайту http://www.realcoding.net/
p>