WinCopies Windows API Code Pack

What is the WinCopies Windows API Code Pack?

Originally designed by Microsoft for the release of Windows 7, the Windows API Code Pack was intended to be an extension of the .Net Framework for the new Shell APIs introduced by this version of Windows.
So, this version did not implement some other useful Windows APIs, that are not implemented in the .Net Framework either.
Then, Microsoft discontinued to update this code pack and shut down the server that provided access to it.

But some programmers decided to bring it back to life. This version of the Windows API Code Pack is a fork of a fork1, and is designed to be compatible with the current .Net technologies.

What are the APIs that are available in this fork?

Here is a list of the main available APIs:
  • Core package:
    • Application Restart and Recovery
    • Dialogs
    • A property system that can be used for multiple APIs
  • Shell package:
    • Shell features: retrieve the icon or thumbnail for a given file, enumerate through Shell objects, virtual folders and libraries management, ...
  • Sensors package:
    • Sensors management
  • PortableDevices package:
    • Portable devices management

Why public native types?

Unlike the most of native reimplementations, the native types are publicly implemented in this fork for multiple reasons:
  • These types are implemented in a same package that works as package dependency for managed implementations packages.
  • They are public anyway because they are accessible using Win32 and COM interop.
  • An implementation like this allow the user to re-impelement managed types in a different way than the default one, in order to fit all of its goals.

Browsing the code

All the code of this project is available at its repository: https://github.com/pierresprim/Windows-API-Code-Pack
1This fork is based on this one, itself based on the original by Microsoft.