This is the first official release of my .NET Windows API pack – a class library that is intended to make it easier to work with several native Windows APIs from managed .NET code. There are over 50 Windows APIs defined in this library and roughly 30 managed methods that use these APIs to provide functionality that is not available in the .NET Framework today. Many more will be included in the next version but hopefully this first version will still be useful to a lot of people.
See this previous post for details of what is included in this library, but note that there have been some slight changes – the main change is that the RenewIPAddress and ReleaseIPAddress methods have not been included. They will be in the next version but I didn’t want to include them as they were not working 100% correctly and didn’t want to delay this first release just for the sake of those 2 methods.
I have included the XML file that provides intellisense descriptions for each of the methods and parameters so you should be able to understand how to use each of the methods just from that but I will be adding some proper documentation here shortly.
All you need to do to use this library is download the ZIP file from the download link below and extract both the DLL and XML files to the same folder, then add a reference from your project to the DLL file (go to the Project menu in Visual Studio and then select Add Reference). Now you can access the various classes and methods in my library by using the Cjwdev.WindowsAPI namespace. For example, to get a list of all visible program windows that are open on the computer you could use: Cjwdev.WindowsAPI.NativeWindow.GetTopLevelWindows or if you wanted to extract all icons from a DLL/ICO file you could use: Cjwdev.WindowsAPI.NativeIcon.GetAllIcons or to remove a windows service: Cjwdev.WindowsAPI.NativeService.DeleteService
Here is the download link:
EDIT: See this post for info and download link for new version.
Please let me know if you have any suggestions for APIs that you would like to see managed version of included in the next version or if you have any feedback on the current version. Either leave a comment here or send me an email at firstname.lastname@example.org