Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
The Perl Win32 API Import Facility
Perl C++ C XS Assembly Makefile Perl6
Pull request Compare This branch is 22 commits ahead of cosimo:master.
Failed to load latest commit information.
Callback dont install Win32::API::Test & simplify warning suppression
api-test regen API_test, Impt doesn't leak now, rtrns obj, M::I creates ::M, c…
patches Added patch to detect fork capabilities and DoTheRightThing
samples General perltidy applied to everything
t dont install Win32::API::Test & simplify warning suppression
.gitignore conditional load of File::Basename & unused Exporter removal
API.h version 0.80_02
API.pm version 0.82
API.xs version 0.80_02
API_test.dll regen API_test, Impt doesn't leak now, rtrns obj, M::I creates ::M, c…
API_test64.dll version v0.76_03
Call.c version 0.78, fix #94906, 0-ext instead of sign-ext for small int types
Callback.pm version 0.82
Changes version 0.82
IATPatch.pod pod fixes
MANIFEST version 0.82
MANIFEST.SKIP do not add MYMETA into dist
META.yml Update github repo location to point to latest changes
Makefile.PL Update github repo location to point to latest changes
README Documented latest changes for 0.66
Struct.pm version 0.81
TODO dont install Win32::API::Test & simplify warning suppression
TYPEMAP version 0.71
Type.pm version 0.81
W32ATest.pm dont install Win32::API::Test & simplify warning suppression
call_asm_x64_gnu.s version 0.76_01
call_asm_x64_msvc.asm version 0.76_01
call_asm_x86_gnu.s 32 bit GCC builds now use the assembler and real asm code
call_asm_x86_msvc.asm further optimizations in incoming arg loop, TARG usage, no memcpy
call_i686.c bug fixes, optimizing, WIN32_API_DEBUG GCC, alloca/memcpy replced MSV…
call_i686.h 32 bit GCC builds now use the assembler and real asm code
call_x86_64.h remove holes in switch for jumptables, assorted optimization cleanups
ppport.h version 0.71
typemap56 version 0.75

README

Win32::API - Perl Win32 API Import Facility
===========================================

Current maintainer: Cosimo Streppone <cosimo@cpan.org>
Original author:    Aldo Calpini <dada@perl.it>

With this module you can import and call arbitrary functions
from Win32's Dynamic Link Libraries (DLL), without having
to write an XS extension.

Note, however, that this module can't really do everything:
parameters input and output is limited to simpler cases.
In particular, when you play hard with pointers and arrays
and memory locations, there are some things that you just
can't do.

The current version of Win32::API is available at:

  http://search.cpan.org/dist/Win32-API/

Here it is a short example of how you can use this module.
It just gets the PID of the current process, eg. same as Perl's
internal $$:

  use Win32::API;
  Win32::API->Import("kernel32", "int GetCurrentProcessId()");
  $PID = GetCurrentProcessId();

Full documentation is available in POD format inside API.pm.

The possibilities are nearly infinite (but not all are good :-).
Enjoy it.
Something went wrong with that request. Please try again.