I get this error when running your code:

GetModuleHandle:  (The specified procedure could not be found) at
Win32APIPrototype-test.pl line 9,
<DATA> line 164.

__END__

On 9/21/05, $Bill Luebkert <[EMAIL PROTECTED]> wrote:
> Nahum Cohen wrote:
> 
> > Hi,
> >
> >  I'm using Win32::API::Prototype to run GetModuleFileName().
> >  Does anyone knows why I get a GPF when running this code:
> 
> Why do I have to keep telling people the same thing - ALWAYS supply
> the smallest COMPLETE FAILING snippet that reproduces your problem.
> 
> This seems to work for me with no problems:
> 
> use strict;
> use warnings;
> use Win32::API::Prototype;
> 
> ApiLink 'kernel32.dll', 'HMODULE GetModuleHandle(LPCTSTR lpModuleName)' or
>   die "APILink GetModuleHandle: $! ($^E)";
> 
> my $lpModuleName = 'kernel32.dll';
> my $hModule = GetModuleHandle ($lpModuleName) or
>   die "GetModuleHandle: $! ($^E)";
> print "handle for kernel32 = '$hModule'\n";
> 
> ApiLink 'kernel32.dll',
>   'DWORD GetModuleFileName (HMODULE hModule, LPTSTR lpFilename, DWORD nSize)' 
> or
>   die "APILink GetModuleFileName: $! ($^E)";
> 
> my $nSize = 256;
> my $lpFilename = NewString ($nSize);
> my $ret = GetModuleFileName ($hModule, $lpFilename, $nSize);
> print "Module File Name: '", substr ($lpFilename, 0, $ret), "'\n";
> 
> ApiLink 'kernel32.dll',
>   'DWORD GetCurrentDirectory (DWORD nBufferLength, LPTSTR lpBuffer)' or
>   die "APILink GetCurrentDirectory: $! ($^E)";
> my $nBufferLength = 256;
> my $lpBuffer = NewString ($nBufferLength);
> $ret = GetCurrentDirectory ($nBufferLength, $lpBuffer);
> print "Current Directory = '", substr ($lpBuffer, 0, $ret), "'\n";
> 
> __END__
> 
> >  ApiLink( 'kernel32.dll', 'DWORD GetModuleFileName (HMODULE hModule,
> > LPTSTR lpFilename, DWORD nSize)' ) || die;
> >  $nSize = 256;
> >  $lpFilename = NewString ($nSize);
> >  GetModuleFileName (NULL, $lpFilename, $nSize);
> >  print "The module file name is: \"$lpFilename\"\n";
> >
> >  while this example (from Win32::API::Prototype documentation) works fine:
> >
> >  ApiLink( 'kernel32.dll', 'DWORD GetCurrentDirectory (DWORD
> > nBufferLength, LPTSTR lpBuffer)' ) || die;
> >  $nBufferLength = 256;
> >  $lpBuffer = NewString ($nBufferLength);
> >  GetCurrentDirectory ($nBufferLength, $lpBuffer );
> >  print "The current directory is: \"$lpBuffer\"\n";
> 
> 
> --
>   ,-/-  __      _  _         $Bill Luebkert    Mailto:[EMAIL PROTECTED]
>  (_/   /  )    // //       DBE Collectibles    Mailto:[EMAIL PROTECTED]
>   / ) /--<  o // //      Castle of Medieval Myth & Magic http://www.todbe.com/
> -/-' /___/_<_</_</_    http://dbecoll.tripod.com/ (My Perl/Lakers stuff)
>

_______________________________________________
Perl-Win32-Admin mailing list
Perl-Win32-Admin@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to