Changes for version 0.25

  • All libwin32 modules now compile with Microsoft VC++, cygwin and MingW. Thanks to Rafael Kitover and Reini Urban for all the work!
  • libwin32 now requires Perl 5.6.0 or later.
  • All support for Perl 5.005 style wide character Unicode support has been removed. This code is incompatible with the way Perl 5.6 and later use Unicode (UTF8), and has been removed in Perl 5.8 (USING_WIDE is defined as constant 0).
  • Win32API::File
    • Added GetFileAttributes() function and corresponding constants. (Patches from Kenneth Olwing from 2004-11-12).
    • Applied cygwin patches from Rafael Kitover and Reini Urban. This includes the addition of the GetFileSize(), getFileSize() setFilePointer() and GetOverlappedResult() methods and the experimental new object oriented interface. All file position operations use either Math::BigInt objects or 8 byte integers (cygwin) for file offsets.
  • Win32API::Registry
    • Add DELETE/READ_CONTROL/WRITE_DAC/WRITE_OWNER/SYNCHRONIZE as KEY_*
  • Win32::Clipboard
    • GetBitmap() should now work correctly with 1 bit, 4 bit, 8 bit, 16 bit, 24 bit, and 32 bit colors
  • Win32::Console
    • Rename GRAY to LIGHTGRAY and add definitions for the "real" GRAY colors (James K. Lowden).
    • Add get_Win32_IPC_HANDLE() method so that Win32::IPC can wait on a console handle (Christopher J. Madsen)
    • Add SetIcon() method to change the icon of the window (Christopher J. Madsen)
    • Don't export the scalar variables to %main:: but into the callers namespace (Christopher J. Madsen)
  • Win32::IPC.
    • revised how WaitForMultiple handles non-Win32::IPC objects
  • Win32::Process
    • add get_Win32_IPC_HANDLE() method for Win32::IPC compatibility (Christopher J. Madsen)
    • add STILL_ACTIVE constant for GetExitCode() (suggested by Michael Ellery)
    • add GetCurrentProcessID() for cygwin (Reini Urban)
    • Win32::Process::Open() now records the process ID correctly for GetProcessID(). It also creates handle now that can be used with the Wait() method. (Christopher Allan)
    • make it work with the latest cygwin version remove USING_WIDE() codepaths (Jan Dubois)
  • Win32::Shortcut
    • The Save() function now calls Win32::GetLongPathName() on the filename to make sure to use a fully qualified pathname.
    • The Save() will store the new filename as the 'File' property unless the Shortcut object already has a 'File' property.
  • Win32::TieRegistry
    • Localize $@ in DESTORY method because it uses eval (by Eric Promislow)

Documentation

What's new in Win32::OLE
The

Modules

Low-level access to Win32 system API calls for files/dirs.
Perl interface to the Windows NT LanManager API account management functions.
Low-level access to Win32 system API calls from WINREG.H
Monitor events related to files and directories
Interaction with the Windows clipboard
Win32 Console and Character Mode Functions
Use Win32 event objects from Perl
Process Win32 Event Logs from Perl
manage file attributes in perl
manage FileSecurity Discretionary Access Control Lists in perl
Base class for Win32 synchronization objects
Access to WININET.DLL functions
Run sub-processes in a "job" environment
Use Win32 mutex objects from Perl
manage network groups and users in perl
manage network resources in perl
ODBC Extension for Win32
OLE Automation extensions
Extract constant definitions from TypeLib
OLE Automation Collection Objects
OLE National Language Support
Create and modify OLE VARIANT variables
accessing the Windows NT Performance Counter
Win32 Named Pipe
Create and manipulate processes.
accessing the Windows registry [obsolete, use Win32::TieRegistry]
Use Win32 semaphore objects from Perl
manage system services in perl
An extension to play with Windows sounds
Powerful and easy ways to manipulate a registry [on Win32 for now].

Provides

in APIFile/ExtUtils/Myconst2perl.pm
in APIRegistry/ExtUtils/Myconst2perl.pm
OLE
in OLE/lib/OLE.pm
in OLE/lib/OLE.pm
in OLE/lib/OLE.pm
in TieRegistry/Tie/Registry.pm
in OLE/lib/OLE.pm
in Win32.pm
in OLE/lib/Win32/OLE/Lite.pm
in OLE/lib/Win32/OLE/Lite.pm
in OLE/lib/Win32/OLE/TypeInfo.pm
in Shortcut/Shortcut.pm
in Sound/Sound.pm
in WinError/WinError.pm
in APIFile/File.pm
in APIRegistry/Registry.pm