DevicePath Information
Rating: none
Mufti Mohammed - 03/25/2009
Discover how to retrieve device path and device instance id for storage devices attached to the system.Raw Input Device informations
Rating: none
Mufti Mohammed - 03/17/2009
Discover how to retrieve information on your computer's devices including the mouse, keyboard, and other peripherals attached to the system.
Determining Whether a DLL or EXE Is a Managed Component
Rating: 




kirants - 07/25/2007
Learn how to check whether or not a component is a .NET managed component. Also, learn to get other information, such as dependent assemblies, from the metadata using Microsoft APIs and related COM interfaces.
Hooking a DirectX/COM Interface
Rating: none
Martin Mueller - 05/19/2006
Learn how to hook a DirectX/COM Interface. The DirectInput interface was used as an example of how to hook an interface function.
Creating and Switching to Different Desktops
Rating: 




Michael Fatzi - 11/10/2003
Switch to and create different desktops in a Windows system.
OS Independent Windows System Shut Down Class
Rating: none
Jais T Mathew - 08/14/2003
This class is a light wrapper around the Windows system shut down stuff. By using this class you can shut down, restart, or log off either forcefully or normally without worrying about what type of OS it is.
Activation Timer -- a Simple Task Scheduler
Rating: none
Dmitry Khudorozhkov - 07/03/2003
Handling multiple periodic jobs is a common problem in Windows programming. Discover a simple yet powerful set of classes that greatly reduces effort (and headache) required to accomplish this task. (The article, demo project, and source code were updated.)
Shutting Down a Remote Machine on a Local Network
Rating: 




Rustam Hovhannisyan - 04/09/2003
Discover this simple way to shut down a remote Windows machine by using the InitiateSystemShutdown API function.
Detecting Multiple Instances of an Application in VC++
Rating: 




Sandeep Bassi - 03/26/2003
Detecting multiple instances of an application in VC++.
Recursive, Upgradable Read/Write Lock for Windows
Rating: 




Ivan Krivyakov - 02/18/2003
Read/write lock is a synchronization mechanism that can be used to efficiently protect a shared resource in an environment with multiple readers and writers. Unlike traditional mutex, read/write lock allows readers to access the resource concurrently.
API Hooking Revealed
Rating: 




Ivo Ivanov - 12/13/2002
How to implement an extensible framework for hooking Win32 API functions.
Adding Your Logo to Winlogon's Dialog
Rating: none
Chat Pokpirom - 12/02/2002
GINA (Graphical Identification and Authentication) is a DLL component that is loaded by the Winlogon executable. This replaceable DLL performs all identification and authentication user interactions. You can use this DLL to add your logo to winlogon's dialog.
Reading/Writing Disk Sectors (Absolute Disk Read/Write)
Rating: 




Sreejith S. - 11/06/2002
Tells how to read / write disk sectors, how to do absolute disk read/write from VC++. The demo project reads specified number of floppy disk sectors from a specified sector and store it to a specified file.
Forensic Inspection of Hard Disks
Rating: none
Vinoj Kumar - 08/20/2002
Understand forensic analysis of hard disks using Visual C++, MFC, and systems programming.
A Service API
Rating: none
MSD - 08/07/2002
Check out this Service API that consists of a set of functions and a couple of callback functions that must be supported. Together, these functions allow an application to run independent of any logged-on user.
Undeleting in Windows 95/98/Me/NT/2000/XP
Rating: 




Vinoj Kumar - 06/10/2002
Undeleting files is often necessary. This is true even if you have accidentally deleted files from the Recycle Bin or if the files or folders have been purposely tampered with.
Editing Large Disks in Windows 95/98/ME/NT/2000/XP
Rating: none
Vinoj Kumar - 05/24/2002
See how to edit disk information from your programs.
Hooking Keyboard messages from Internet Explorer
Rating: none
Robert Nagy - 08/02/2001
This article demonstrates an example using hooks.
HOOK - A HowTo for setting system wide hooks
Rating: none
Volker Bartheld - 05/29/2001
This article features a HowTo to write, set and make use of system wide hooks.
Using WMI to Extract Management Information
Rating: 




Rinat Sadikov - 05/21/2001
7 This is a WMI client that can connect to WMI management servers and perform several activities.
Determine if an Application is Console or GUI
Rating: none
Naveen - 04/03/1999
Determine if an Application is Console or GUI
Detecting the Windows version running on your machine
Rating: none
Rob Fullington - 03/01/1999
Detecting the Windows version running on your machine
NT Services
Using a Service Under Windows
Rating: 




Elmue - 07/24/2003
See how to programmatically create, start, stop, and delete a service under Windows NT/2000/XP.WinNT/2000 Service Controller
Rating: none
Senthil Murugan - 10/15/2002
Use this dialog-based application to control the services in WinNT/2000.
Managing Windows Services from a Remote System
Rating: 




Sathya Narayana Panduranga - 08/16/2002
Build a simple command line utility for managing Windows services from a remote system.
Creating a Windows NT/Windows 2000 Service
Rating: 




Anish C.V. - 08/15/2002
Learn how to create create a Windows NT/ Windows 2000 service by following these simple steps.
CSysService
Rating: none
Jay Wheeler - 01/30/2001
A wrapper class for Win32. API service functions
SpeedySCM: Terminating Services, Quickly Starting Multiple Services
Rating: none
Wessel Troost - 01/22/2000
SpeedySCM: Terminating Services, Quickly Starting Multiple Services
Printing from a Service
Rating: none
Fabio Angelini - 07/30/1999
Registry hack to allow printing from a Windows NT service
WindowsNT Simple Service Manager (2)
Rating: none
Cristian Sardaukar Amarie - 07/27/1999
WindowsNT Simple Service Manager (2)
NT Service Manager
Rating: none
Sardaukar - 06/19/1999
NT Service Manager
Custom AppWizard to Create MFC Based Windows NT Services
Rating: none
Rehan Nadeem - 02/14/1999
Custom AppWizard to Create MFC Based Windows NT Services
Windows NT Service Manager
Rating: none
Rehan Nadeem - 02/12/1999
Application (including source!) to help manage Windows NT Services
NT Service App Wizard
Rating: 




Joerg Koenig - 02/05/1999
NT Service App Wizard
A Class For Building An NT Service
Rating: 




Joerg Koenig - 02/03/1999
A Class For Building An NT Service
Performance Statistics
Performance Monitor - Get System Counter Values (CPU, Memory, etc.)
Rating: 




Mike Ryan - 07/30/2000
Great Windows 2000 resource meter applicationNT Performance Monitor Customizable COM Alerter
Rating: none
Carlos Alvarez - 07/28/1999
NT Performance Monitor Customizable COM Alerter
Performance Statistics Class
Rating: none
Krzysztof Kuczek - 04/03/1999
Performance Statistics Class
Processes / Modules
State Management : Native Parallel Programming for Visual C++
Rating: none
Nick Wienholt - 06/02/2009
Visual C++ 2010 includes a number of new features for preventing data inconsistencies due to simultaneous updates of memory locations - a key challenge in parallel development.Three Ways To Inject Your Code Into Another Process
Rating: 




Robert Kuster - 08/04/2003
How to inject code into another processes address space, and then execute it in the context of this process.
Inter Process Communication via WM_COPYDATA
Rating: none
Dinesh Ahuja - 03/27/2003
Learn various techniques supported by Interprocess Communication (IPC). IPC is a mechanism by which the various processes share data among themselves.
Detecting Windows NT/2K process execution
Rating: 




Ivo Ivanov - 03/22/2002
The Win32 API provides a set of great libraries (PSAPI and ToolHelp [1]) that allow you to enumerate processes currently running in the system. Although these APIs are extremely powerful they don't permit you to get notifications when a new process starts or ends up. This article provides an efficient and robust technique based on a documented interface for achieving this goal
IPCTrace - An inter-process tracer
Rating: none
Frank Melber - 03/19/2002
An inter-process tracer.
Detecting Whether Another Instance of Application Already Exists
Rating: 




Alexey Busygin - 12/03/2001
Detecting whether another instance of application already exists. Shows how to avoid having multiple copies of a program running.
Single interface for enumerating processes and modules under NT and Win9x/2K.
Rating: none
Ivo Ivanov - 10/04/2001
Single interface for enumerating processes and modules under NT and Win9x/2K.
Simple Process Viewer
Rating: none
Vineet Nandurkar - 02/09/2001
Console application process viewer that displays the information about the processes that are currently executing in the memory
Taskbar Modfication to Kill Windows NT/2000 Processes
Rating: none
Richard Eperjesi - 02/08/2001
Tray application that enables you to terminate any kind of running process in Windows NT/2000
Programmatically Launching Windows NT Applications
Rating: none
Michel Yossef David - 01/24/2001
Two utilities for launching NT application synchronously or asynchronously
Examine Information on Windows NT System Level Primitives
Rating: 




Zoltan Csizmadia - 11/14/2000
Two low level utilities to examine Windows NT information such as processes, threads, windows, modules and objects.
WBEM Class Wrapper for Local and Remote Process Creation
Rating: none
Brandon Clark - 08/06/2000
Wraps the Microsoft Windows 2000 implementation of the industry standard WBEM
Getting the Module (exe) Filename from an HWND
Rating: none
Mike Ryan - 07/30/2000
Very useful class that also includes the ability to filter out specific module names and types
Process '& Module Enumeration Class
Rating: none
JaeKi Lee - 02/09/2000
Process '& Module Enumeration Class
Registry
[Updated] An AES Encrypting Registry Class
Rating: 




Jeffrey Walton - 11/28/2006
The CAESEncRegKey class addresses the occasional problem of securely saving data to the Registry. This article presents Yet Another Registry Class that encrypts data using AES.Fun with the Registry Using VC++
Rating: none
Mahipal Reddy Goli - 09/22/2003
Change hidden system settings with a GUI instead of going directly through the Registry.
Storing an Array of Properties in the Windows Registry
Rating: none
Alex Rest - 07/09/2003
MFC and Win API don't have functions that store arrays in the Windows Registry. This article describes the class based on MFC CArray class that solves this problem.
CRegConfig -- a Class to Easily Keep Your Data in the Registry
Rating: 




Alexander Hritonenkov - 03/21/2003
Read and write data in the Registry.
Another Registry Class
Rating: none
Shane Martin - 10/01/2002
Very useful class that also includes the ability to filter out specific module names and types
Windows Registry and Internet Explorer
Rating: none
Vishal Khapre - 04/25/2002
A quick loko at the Internet Explorer System Registry settings.
Exporting the Registry Through the Program
Rating: none
Thanigai Murugan K. - 02/08/2002
This tool helps developers to export the registry information.
Run At Startup Programmatically
Rating: 




Mohammad A. Salah - 12/31/2001
You can use this code to let your program run automatically at system startup, it shows you also how to use some of API registry functions.
CRegistry : Serialize Data In/Out of the Registry
Rating: none
Amir Israeli - 09/11/2000
Very sophisticated class for serializing your date to the Registry
Template based Registry class with serialization
Rating: none
Frank Melber - 01/05/2000
Template based Registry class with serialization
CRegBinding - An alternative Registry Class
Rating: none
Jorg Dentler - 02/05/1999
A registry class that gives you the ability to easily persist member variables of any C++ class
A Class For Handling The Registry
Rating: none
Joerg Koenig - 02/03/1999
A Class For Handling The Registry
Registry manipulation class with exception handling
Rating: none
John Joelle Cruz - 01/22/1999
Registry manipulation class with exception handling
Serializing CStringList in the registry
Rating: none
Mario Contestabile - 08/06/1998
Serializing CStringList in the registry
CRegKey Registry Class
Rating: none
Richard Hollis - 08/06/1998
CRegKey Registry Class
Resource Detection/Management
Getting free resource under Windows 95
Rating: none
Sergey Karyshev - 02/08/1999
Getting free resource under Windows 95
Security
Injective Code Inside an Import Table
Rating: 




Ashkbiz Danehkar - 07/13/2006
Learn to inject your code into an Import Table of a Portable Executable file format. This is called the API redirection technique.
Inject Your Code to a Portable Executable File
Rating: 




Ashkbiz Danehkar - 03/02/2006
Learn the five steps needed to inject your code in a portable executable (EXE, DLL, OCX,...) file without recompiling the source code.
Securing NT Objects
Rating: 




Srikanth Srinivasan - 08/04/2005
Learn to implement discretionary access control on securable NT objects.
Managed C++: Retrieving User's Windows Security Information
Rating: 




Tom Archer - MSFT - 01/19/2005
Learn how to retrieve a current user's basic security information, such as the fully qualified user name (with domain or workgroup), whether the user is authenticated, and the authentication type.
Keystroke Logger and More, Part 3
Rating: 




Zhefu Zhang - 09/11/2003
Hook into Internet Explorer.
Keystroke Logger and More, Part 2
Rating: none
Zhefu Zhang - 08/05/2003
The second article in the "Keystroke Logger and more" series. Learn about the principle of MSN Messenger Hooking in version 5 of MSN and before.
Keystroke Logger and More...
Rating: 




Zhefu Zhang - 07/11/2003
Learn about keystroke logging and related technical topics. The concepts covered include "Interception of Meaningful Strokes Only" (includes password fields), MSN Messenger chat, IE form, Windows Login screen, and the mechanisms of Log detection.
Implementing Simple Role-Based Security in Managed C++
Rating: none
Kate Gregory - 10/18/2002
With .NET, there's no excuse for skimping on security. When you build .NET applications, you get a lot of security code without writing it yourself. Kate presents the code you need to implement role based security using Managed C++.
Converting SIDs Between Strings and Binary
Rating: none
Brian Friesen - 12/17/2001
Anyone who has ever used advanced security in Windows NT has probably run across SIDs before. SID is an acronym for Security IDentifier. All the Win32 API that work with SIDs use a binary representation. This article shows how to convert between string and binary representations of SIDs.
HOWTO: Obtain the plain text session key using CryptoAPI
Rating: none
Raphael Amorim - 12/17/2001
Obtaining session keys as plain text.
Protecting Windows NT Machines
Rating: none
Vishal Khapre - 02/13/2001
Illustrates how to modify the registry to effectively "lock down" an NT machine so that users have only the access to system functions that you allow - great for machines where public access is allowed
Logon.exe v1.2 for Windows NT
Rating: none
Sergey Andyk - 07/13/1999
Logon.exe v1.2 for Windows NT
Services
SFL 2.0 Service Framework Library for Native Windows Service Applications, Part 3: SFL Architecture
Rating: none
Igor Vartanov - 03/12/2008
Find out what is under the SFL's hood.SFL 2.0: Service Framework Library for Native Windows Service Applications, Part II
Rating: 




Igor Vartanov - 11/26/2007
Learn more about this very useful library.
[Updated] SFL 2.0: Service Framework Library for Native Windows Service Applications, Part 1
Rating: 




Igor Vartanov - 11/12/2007
Writing Windows services never was an easy thing, but this article makes it far simpler for you to do.
Framework for Writing Services and Multithreaded Applications, Part 1
Rating: 




Martyn Brown - 01/11/2007
Learn about a framework for rapid development of NT services. Also includes tools for stack tracing, performance testing, generic logging/debugging, memory leak testing, and thread pooling.
Writing a Service Program
Rating: 




Jonathan Ng - 08/06/2003
Services are processes that can be auto started when the system boots, and can be left running while the system is on. Learn how to write your own services.
Starting a Service in Windows XP
Rating: none
Harinath Mallepally - 04/14/2003
Start a Windows XP service from a VC++ program.
Shared Memory
Cross-Platform IPC Event Manager for Interaction with Service Providers
Rating: none
JeromeWiz - 05/13/2009
Event-driven programming or event-based programming is a programming paradigm in which the flow of the program is determined by events - i.e., sensor outputs or user actions (mouse clicks, key presses) or messages from other programs or threads.
Event-driven applications usually are organized as in state machine modes due to complicated event interaction. An IPC event queue manager is required to support event-based programming.Simple Single Instance Windows (not yet reviewed)
Rating: none
egawtry - 10/31/2005
Control the number of windows instances for your app.
CSharedMemory, A Small Class to Share Data Via File Mapping
Rating: none
Michael Schikora - 10/18/2001
With this class, only a few lines are needed to communicate with other processes.
Named Pipe Wrapper for Win32 Platforms
Rating: none
Clemens Fischer - 08/02/2001
Using pipes is not too complicated on WindowsNT platforms, but on Win9X it4s not that easy because named pipes are not supported.
Memory Allocation for High-Dimensional Data Structures
Rating: none
Yuantu Huang - 07/18/2000
Memory Allocation for High-Dimensional Data Structures
Shared Memory Inter Process Communication (IPC)
Rating: 




Peter Hendrix - 02/03/2000
Shared Memory Inter Process Communication (IPC)
System
Special runas Utility for Windows NT and Windows 2000
Rating: 




Jeszs de la Vega - 05/08/2003
Build a local and remote "runas" utility for Windows NT and Windows 2000.MFC-Independent class for the easy determination of system information
Rating: none
Paul Wendt - 05/08/2003
This class hierarchy lets you get system information via easy-to-use C++ classes on any WIN32 machine. (The demo project was updated.)
ASPI Tape Snoop
Rating: none
Till Toenshoff - 05/08/2002
This Project provides a primitive wrapper class for accessing a SCSI tape via ASPI, "CASPIDriver".
EnTeHandle
Rating: none
Fred Forester - 01/30/2000
EnTeHandle
Detecting the windows version running on your machine
Rating: none
Naveen K Kohli - 02/08/1999
Detecting the windows version running on your machine
Compound File Stream and Storage Manipulation
Rating: none
Glenn Swonk - 11/20/1998
Compound File Stream and Storage Manipulation
Determining Cluster Size
Rating: none
Daniel Hirsch - 09/12/1998
Determining Cluster Size
GetDriveType Enhancement
Rating: none
Joseph M. Newcomer - 08/06/1998
GetDriveType Enhancement
Determine COMCTL32 version
Rating: none
Roger Onslow - 08/06/1998
Determine COMCTL32 version
System Information
[Updated] Determine Windows Version and Edition
Rating: 




Marius Bancila - 05/15/2009
Learn about a comprehensive method of getting the Windows version and differentiate among the various editions.Handling OS Shut Down in Windows Vista
Rating: 




Nick Wienholt - 12/06/2006
The way Vista closes applications during operating system shut down has changed from prior Windows versions' approaches. Learn how to provide your users with appropriate notification from the Vista shut down screen.
SMBIOS Demystified
Rating: 




kirants - 08/01/2006
Discover a basic SMBIOS parser that demonstrates querying for SMBIOS info using WMI and then parsing the data to extract necessary information.
DOS Info Block: A Definitive Guide
Rating: 




Najam - 10/21/2005
Tons of information about DOS registers and their functions.
Make GDI+ Less Finicky About Fonts
Rating: 




Sjaak Priester - 09/23/2005
Windows GDI+ understands only half of the fonts out there. Use the QGraphicsText class to work with the other half.
Enumerate WFP Files
Rating: 




Ajay Vijayvargiya - 02/02/2005
Windows systems launched after Windows2000 include a WFP feature (Windows File Protection). This article glimpses over it and shows how to enumerate the list of all protected files.
MFC Class "System Information"
Rating: 




Alexey Kazakovsky - 12/23/2002
Get various items of system information, such as the OS version (for example, Windows 2000 Terminal Server or Windows XP Home Edition), the CPU type, the amount of physical memory and memory usage, the version of IE, the version of ADO, the network interface (NIC) list with the IP addresses, and much more.
Task Manager
Task Manager Extension
Rating: 




Zoltan Csizmadia - 04/04/2001
Not only incredibly useful utility for managing processes, but great tool for learning about the Task Manager
Taskbar
Hiding/Showing the Windows TaskBar
Rating: none
Ashutosh R. Bhatikar - 02/01/2001
Technique for hiding and showing the Windows taskbar
Threading
Simple Parallel Development with the Asynchronous Agents Library
Rating: none
Nick Wienholt - 07/13/2009
By adopting a messaging based approach to task parallelism, the Asynchronous Agents Library provides a simple model for concurrent programming that avoids the complexity of memory locks.
Parallel Lint
Rating: none
Andrey Karpov - 06/15/2009
Understand the new direction in development of static code analyzers - verification of parallel programs. The article reviews several static analyzers which can claim to be called "Parallel Lint".
Native Parallel Programming for Visual C++ with the Parallel Processing Library
Rating: none
Nick Wienholt - 05/11/2009
Visual C++ 10.0's new Parallel Pattern Library supplies methods to execute multiple processing tasks, across available processing resources, eliminating the headache of manually allocating task execution.
Tip: Lock Leveling
Rating: none
Wong Shao Voon - 03/18/2009
Use Lock Leveling to Prevent Multi-threading Deadlocks
Parallel Programming in Visual C++ 2010 CTP
Rating: none
Marc Gregoire - 10/31/2008
The CTP build of Visual C++ 2010 includes a new library to help you write native parallel code.
Handling Multiple Processors in Your Code Using RapidMind
Rating: none
Ejaz Anwer - 07/31/2007
Multicore processors bring new challenges. See a solution for gaining the ability to scale to the increasing number and types of processor cores.
[Updated] A Simple Thread Pooling Approach
Rating: 




Raghupathy Srinivasan - 01/26/2007
Learn about a simple mechanism to achieve thread pooling by using Windows messages.
Simplified One-Time Initialization in Windows Vista
Rating: 




Nick Wienholt - 01/05/2007
With the rapid increase in parallel computing, correct threading, and synchronization are vitally important to programmers building scalable, high-performance solutions. Explore the new one-time object initialization APIs in Vista from a C++ programmer's perspective.
Easy Multithreading in ATL Windows Applications
Rating: 




Konstantin --- - 08/25/2006
Add one header file to your *.vcproj, insert a few lines of code into your class header, and you'll never again worry about the asynchronous routines in your ATL GUI application.
Multi-Threaded Message Processor
Rating: none
Sathya Narayana Panduranga - 02/23/2006
Learn about a framework for concurrent message processing for disconnected, multi-threaded applications.
[Updated] Walking the Callstack
Rating: 




Jochen Kalmbach - 08/05/2005
Learn about a documented and most portable way to walk a
callstack for any thread (current, other, and remote). It has an abstraction
layer, so the calling app does not need to know the internals.
[Updated] The K.I.S.S. Approach to I/O Completion Ports
Rating: 




Robert Simpson - 10/18/2004
I/O completion ports are the holy grail of performance. This article provides an extremely lightweight and open framework for easily implementing IOCP's in your application(s).
Windows Thread Pooling
Rating: 




PlugwareSolutionsLtd - 04/28/2004
Thread pooling describes a technique by which threads of execution are managed and to which work is distributed. Additional semantics such as concurrency control may also be defined. Thread pooling is a nice way to:
Manage complexity
Make your applications scale
Introduce new code while minimizing risk
Working with CRITICAL_SECTION
Rating: 




Dr. Sai - 04/29/2003
An insight into the inner workings of CRITICAL_SECTION and thread priorities.
Template Thread Library
Rating: none
Emad Barsoum - 02/27/2003
Review demonstrations of two non-MFC thread classes.
Idle Loop Processing
Rating: none
Ahmed Ceder - 09/23/2002
Multi-threading contains overhead that is not always needed. This article focuses on a simple idle processing technique using the PeekMessage and PumpMessage functions.
Creating an Object-Oriented Wrapper to Windows Threads
Rating: 




Sathya Narayana Panduranga - 04/10/2001
Great for creating a simple threading class without the inherit complexities of the CWinThread class
Timers
QPerformanceTimer
Rating: 




Sjaak Priester - 08/16/2005
"Profile" a block of C++ code with just one include file and two variable definitions.An Accurate Timer Class
Rating: none
Marcel Meuwissen - 04/15/2003
Create a timer that takes into consideration the fact that routines such as sleep() take time!
CWndTimer, a Windows Timer Class
Rating: none
George Anescu - 03/25/2003
Discover how to implement Windows timers. This class can be used in both WIN32 or MFC applications.
Creating a High-Precision, High-Resolution, and Highly Reliable Timer, Utilising Minimal CPU Resources
Rating: 




Eugene Manko - 10/04/2002
Learn to create a solution that allows for highly reliable timers to be implemented on Windows-based platforms.
CWaitableTimer
Rating: 




Jay Wheeler - 11/14/2000
64-bit waitable timer class with 100 nSec resolution
VxD
Spy Windows 95/98 File I/O
Rating: none
Vinoj Kumar - 12/07/1999
VxD to monitor File I/O in Windows 95/98
