Thanks for any help.use warnings; use Win32::API; use Win32::API::Struct; use Data::Dumper; use strict; Win32::API::Struct->typedef(MEMORYSTATUSEX { DWORD dwLength; DWORD dwMemoryLoad; DWORDLONG ullTotalPhys; DWORDLONG ullAvailPhys; DWORDLONG ullTotalPageFile; DWORDLONG ullAvailPageFile; DWORDLONG ullTotalVirtual; DWORDLONG ullAvailVirtual; DWORDLONG ullAvailExtendedVirtual; }); Win32::API->Import( 'kernel32', 'VOID GlobalMemoryStatusEx(LPMEMORYSTATUSEX lpBuffer); + my $stat = Win32::API::Struct->new('MEMORYSTATUSEX', lpBuffer); GlobalMemoryStatusEx($stat); my $dwLength = FormatBytes( $stat->{dwLength} ); print "Size of memory status structure: $dwLength\n"; $dwTotalPhys = FormatBytes( $stat->{ullTotalPhys} ); print "Total Available physical memory --> ullTotalPhys\n\n"; printf "Memory in use: %ld%%\n", $stat->{dwMemoryLoad}; my $dwTotalPhys = FormatBytes( $stat->{dwTotalPhys} ); print "Total physical memory --> $dwTotalPhys\n"; my $dwAvailPhys = FormatBytes( $stat->{ullAvailPhys} ); print "Free physical memory ---> ullAvailPhys \n"; my $dwTotalVirtual = FormatBytes( $stat->{ullTotalVirtual} ); print "Total virtual memory ---> $ullTotalVirtual \n"; my $dwAvailVirtual = FormatBytes( $stat->{ullAvailVirtual} ); print "Free virtual memory ----> $ullAvailVirtual\n"; my $dwTotalPageFile = FormatBytes( $stat->{ullTotalPageFile} ); print "Total paging file ------> $ullTotalPageFile\n"; my $dwAvailPageFile = FormatBytes( $stat->{ullAvailPageFile} ); print "Free paging file -------> $ullAvailPageFile\n\n";
In reply to How do I code GlobalMemoryStatusEx in perl by azaragoza
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |