Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / VB

VB.NET wrappers for much of the Windows API

0.00/5 (No votes)
7 May 2012CPOL1 min read 14.5K   500  
Includes most API functions except for graphical ones.

Introduction

This might not be classified as an article as it is simply a collection of Windows API wrappers written in VB.NET.   It was originally part of shrink-wrapped security software deployed on XP and Vista.  Some minor updates might be required on Windows 7 (int -> long, etc.), however, the code has been proven to work.  

Background  

Nearly every Windows API is included in this library with the exception of graphical functions.  Some of the code was originally sourced from various sites on the internet, however, nearly every line of code was rewritten to fix memory leaks or other bugs.

Using the code  

The major libraries included are: 

- ACLs 

- Active Directory 

- File IO 

- Kernel 

- Net (User and groups) 

- User profiles 

- Windows services 

- Shell 

- Time and date 

- User (Windows, desktop, screensaver) 

- Windows (child windows, parent, positioning) 

- WTS (terminal services, desktop switching) 

Points of Interest  

A few interesting things in the ACL that can be used to lock users out of folders or files or registry.

The Kernel is interesting in its process management and impersonation.  SIDs for Administrator and even system can be employed.  A few helper functions are in there that should be descriptive.  The file IO might shed some light on the underpinnings of .NET's streams. 

History   

Understanding that level of low-level Windows API was beyond my initial undertaking and desire.  However, due to the rather rigorous requirements of applications beyond initial scope the library grew to include much of Windows.  Some of the functions are undocumented by Microsoft although part of their core system.
 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)