Click here to Skip to main content
Click here to Skip to main content

Tagged as

VB.NET wrappers for much of the Windows API

, 7 May 2012 CPOL
Rate this:
Please Sign up or sign in to vote.
Includes most API functions except for graphical ones.


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.  


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. 


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.


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


About the Author
United States United States
No Biography provided

Comments and Discussions

QuestionUsing the code Pinmemberledtech324-Nov-12 10:56 
I tried to open with VS 2008 and had to change the sln file from 11 to version 10 before I could view the code.
Don't guess there is an Idiots guide on using the API's is there ?
I'm trying to figure out how to get the security info on a running service.
I was thinking that I need to use QueryServiceObjectSecurity along with what ever else I needed to add.[^]
AnswerRe: Using the code Pinmemberandrewbb@gmail.com16-Oct-13 9:19 
GeneralRe: Using the code Pinmemberledtech316-Oct-13 11:02 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.150301.1 | Last Updated 7 May 2012
Article Copyright 2012 by
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid