The Wayback Machine - https://web.archive.org/web/20090716165125/http://www.codeguru.com:80/cpp/misc/misc/

CodeGuru
Earthweb Search
Login Forums Wireless Jars Gamelan Developer.com
CodeGuru Navigation
RSS Feeds

RSSAll

RSSVC++/C++

RSS.NET/C#

RSSVB

See more EarthWeb Network feeds

follow us on Twitter

Member Sign In
User ID:
Password:
Remember Me:
Forgot Password?
Not a member?
Click here for more information and to register.

jobs.internet.com

internet.commerce
Partners & Affiliates
















Home >> Visual C++ / C++ >> Miscellaneous >> Miscellaneous


Miscellaneous

Application Control



C++ Lambda Function - Making Coding Easier
Rating:
Nick Wienholt - 04/10/2009
Visual C++ 2010 with many of the new C++ 0x language features including Lambdas. Discover how lambda functions make C++ code easier to read and maintain, and explore the various techniques for writing them ships.

General Solution for a Transparent Control
Rating:
galexding - 10/24/2008
Discover a very simple, integrated method to make a control, such as static, button, sliderctrl, and progress control transparent in a dialog box.

Project Estimation Geometry
Rating: none
Paul Kimmel - 09/10/2007
Learn how to estimate projects (the tangible and intangibles) effectively in the real world to ensure success.

BizTalk 2004 Adapter Alternatives for Handling Web Services
Rating: none
Jeffrey Juday - 02/01/2006
Combine BizTalk 2004 with the .NET Framework to overcome some of BizTalk's limitations in handling Web services.

Simple Single Instance Windows (not yet reviewed)
Rating: none
egawtry - 10/31/2005
Control the number of windows instances for your app.

Customer Best Practices: Coding and Testing Phase
Rating:
April Tallett - 09/23/2005
Read the first in a series of best practices for improving project success with solid customer involvement.

BizTalk 2004 Business Rules Explained
Rating: none
Jeffrey Juday - 06/21/2005
Give power users more control over areas of your BizTalk Orchestration. With Business Rules, you can wrap your .NET classes and XML document elements in easy-to-understand language.

Platform/Part Architecture
Rating: none
amado - 06/17/2005
Have you ever wanted to make changes to your system without having to update or recompile the code? Have you ever needed to pause a function, discontinue its usage, or even condition its access?

Outsourcing, a Mega-Trend that Forces Changes onto Every IT Organization
Rating:
Klaus Salchner - 04/25/2005
Take a closer look at which IT functions are and are not outsourced. Also, take a closer look at how to manage an outsourcing relationship successfully.

Evolutionary Computing Framework
Rating:
Clearcode - 08/05/2004
Shows the principles of evolutionary computing in a set framework.

Flexing for a Rich Client in Your Web Apps
Rating:
Bradley Jones - 05/26/2004
Rich clients are the next hot battleground, and the battle is starting to heat up! Macromedia Flex provides a new, slick way to build sharp looking rich web clients with lots of bells and whistles.

CKeystrokeEngine'—Sending Keystrokes to a Selected Window
Rating:
Mustafa Demirhan - 07/03/2003
Send keystrokes to the active window or to a selected window.

Forcing Only One Instance of an Application to Run at a Time in Visual C++
Rating:
Simon Soosai - 01/14/2003
Another suggestion for forcing only one instance of an application to run at a time.

Stopping the Second Instance of Your Application
Rating:
Saeed - 08/26/2002
If you ever need to have only one instance of an application active, you might be interested in using this class. This class enables you to stop running a second instance of an application.


Assembly Language



Function Calls, Part 1 (the Basics)
Rating:
kirants - 01/11/2008
Begin a journey into the inner workings of how function calls work on x86 platforms,

[Updated] Thunking in Win32
Rating:
einaros - 01/10/2007
Learn about an approach to creating thunks/trampolines to non-static member functions in 32-bit VC++.

Interfacing VC++, Java, and Assembly
Rating: none
Zeeshan - 12/12/2002
Call Assembly language with the help of VC++ and Java by using JNI (Java Native Interface).


CD-ROM



How To Open and Close CD/DVD Drives Via Software
Rating:
Travis Thompson & Shane Metzler - 05/02/2002
Programmatically open or close the CD/DVD drive tray!


Compiler and Pre-Compiler



C++ CLR Compilation
Rating: none
Nick Wienholt - 11/11/2008
The Visual C++ compiler has a number of switches that control the generation of native and managed instructions within an executable image. Choosing the correct setting is an important consideration for application performance, deployment, and execution, as well as having implications about which development toolkits can be used.

Tip: Macros to Generate Compile Time Messages
Rating: none
JerReilly - 02/04/2008
These macros let you generate clickable messages (like error messages) in your Visual Studio compiler output.

Breaking Changes in Visual C++ 2005
Rating:
Bradley Jones - 03/30/2005
There are a number of changes in Visual C++ 2005 that can break your existing programs. The Visual C++ product team has identified some of the changes most likely to impact you.

Maximum Munch Principle
Rating: none
Zeeshan - 08/12/2003
Because of the Maximum Munch Tokenization Principle, or simply Maximum Munch Principle, C++ implementations have to consider as many characters as possible when tokenizing a listing during compilation. Because of this principle, there are times when you will need to use white space between operators to avoid errors.


Console Apps



Pause Before Exiting a Console Application
Rating: none
Marc Gregoire - 02/18/2009
Learn a way to elegantly add support for pausing your console application right before exiting.

[Updated] Template Metaprogramming and Puzzle 15 Optimal Solution
Rating:
Aliaksei Sanko - 11/05/2008
Read about a sample demonstrating how to accelerate finding an optimal Puzzle 15 solution using C++ Template Metaprogramming. It presents an implementation of the IDA* search algorithm.

A First Look at Batch Files
Rating: none
Bradley Jones - 07/11/2007
Flashback to the 80s—Batch files ruled! Even though the 80s are gone, you still can play around with and use batch files!

[Updated] Cygwin: Free C++ for Windows
Rating:
Daniel Earwicker - 09/08/2004
Windows users who want to learn C++ often ask if there is a free C++ compiler. Linux users don't have this problem because they have the GNU tools. But, in fact, the exact same tools are available free from Cygwin, and if you learn to use them, your skills will be extremely portable. Learn to install and use the tools, compile a simple program, and write a simple makefile.


CryptoAPI



Windows Cryptography API: Next Generation (CNG)
Rating: none
Nick Wienholt - 06/04/2007
For long-term Visual C++ developers, the CryptoAPI will be a familiar part of your programming toolkit. If you're developing Windows Vista applications, though, you should be applying the new Windows Cryptography API: Next Generation.

Product Keys Based on Elliptic Curve Cryptography
Rating:
Jeffrey Walton - 12/12/2006
Protect software with product keys based on Elliptic Curve Cryptography.

Crypto++® Holds the Key to Encrypting Your C++ Application Data
Rating:
Victor Volkman - 05/15/2006
The need to encrypt sensitive information is more important than ever. Luckily, the C++ class library Crypto++ enables you to encrypt your application data regularly and painlessly.

Portable Cryptography API for Triple DES
Rating:
Martyn Brown - 09/22/2004
Learn about a C++/C implementation of CBC DES/DES3.

How to Encrypt/Decrypt a String
Rating:
Ing. Georg Hasenohrl - 05/13/2003
A frequent challenge is to encrypt and decrypt a string or password. This article contains a C and C++ project that will do this job.


File I/O



Getting Past the 2 Gb File Limit
Rating:
Richard Newcombe - 01/22/2007
Take a closer look at the 2 Gb limit that we are plagued with in different languages, and how to get around them.

Three Powerful Yet Untapped Features of NTFS
Rating:
Pinky98 - 06/21/2005
The NTFS windows file system has introduced several features that improve the performance, stability, and reliability of file storage. Of these, three features lend themselves to advanced methods of information storage and collation. Few applications have, however, made extensive use of these features. This article introduces these features and identifies some of the potential uses each one exhibits.

Managed Extensions: Using the .NET OLE DB Classes to Read Text Files
Rating:
Tom Archer - MSFT - 09/28/2004
Tom Archer illustrates how to use the .NET OLE DB classes to read text files.


File and Directory Naming



How to Change the Attributes of a Directory Through Visual C++
Rating:
Najam - 08/22/2006
This should be an easy task, but it's hard to find out how to perform the designated process.

Storing Relative File Names
Rating: none
Jiri Kral - 11/01/2002
An easy way to store the CDocument archive relative file names.


Flicker Free Drawing



Flicker-Free Drawing Using Bounds Accumulation
Rating:
Sjaak Priester - 08/15/2003
Use the versatile QBufferDC class for double-buffered drawing to the screen.


Fonts



How to Use a Font Without Installing It
Rating:
Wong Shao Voon - 04/14/2009
How to use a font without installing it first on user systems.

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.

Changing Windows NT Font's Size
Rating: none
Arnon Mathias - 03/14/2002
See how to programmatically change from small fonts to large fonts and vice versa on Windows NT.


Graphics



Introduction to DirectWrite
Rating:
Marc Gregoire - 05/26/2009
DirectWrite is a new API to render text on Windows 7 / Vista. It makes it easy to render paragraphs of text that can contain different formatting, coloring, fonts etc. It supports horizontal and vertical alignments, even vertical centering of a paragraph with multiple lines which was not possible with the old text API, etc. This article will give an introduction to the new DirectWrite API.

Using the Windows Vista/Windows 7 Built-In Buffered Animation API
Rating: none
Marc Gregoire - 02/06/2009
The Buffered Animation API makes it easy to make animations without flickering. Learn how to use this Buffered Animation API.

Graphics Class Design : Shape
Rating: none
Bjarne Stroustrup - 02/05/2009
Class Shape can provide you with the ability to represent things appearing in a Window. Learn about this class from an industry legend.

Using Windows Vista Built-In Double Buffering
Rating: none
Marc Gregoire - 12/01/2008
Learn how to fixing flickering issues when drawing graphics by using double buffering.

Working with Device Contexts in MFC
Rating:
Marius Bancila - 10/08/2008
Acquire the core information that will allow you to do (at least) simple painting operations in MFC.

EAN13 Barcode Class
Rating:
Robert Tari - 06/13/2006
Learn about a lightweight class that prints EAN13 barcodes and displays captions.

Mould Text in Any Shape
Rating:
Sjaak Priester - 02/07/2006
Sometimes, putting text in a rectangular block may just be a little too straight. With the C++ class QEnvelopeText, you can mould a piece of body type in any shape.

[Updated] Polygon Clipping
Rating:
Sjaak Priester - 08/04/2005
It's one of those humble tasks computers have done for ages, but the hunt for the perfect clipping algorithm is still open.

[Updated] The Mists of Avalon
Rating:
Guido Stercken-Sorrenti - 07/25/2005
Learn about "Avalon," the exciting new presentation subsystem of the upcoming Windows platforms. After an introduction to declarative drawing and XAML, you'll use XAMLPad to get a first taste of Avalon programming.

An MFC OpenGL Polygon Tessellation Demo
Rating:
fpaynter - 02/16/2005
Discover a MSVC++ V6 MFC SDI project that demonstrates how to access the OpenGL polygon tesselation functions in an MFC C++ application.

Managed C++: Rubber-Banding and Cropping Images
Rating: none
Tom Archer - MSFT - 12/01/2004
Learn how .NET enables you to easily allow your users to create a cropping area of an image with the mouse and then create a new image consisting of only that cropped area.

2D '& 3D Surface Contour Map
Rating: none
Hyun-Seok Min - 12/09/2003
Making a plain 2D contour map. (The article and demo project were updated.)


Interfacing to other languages



The Kazakh Language and OS400
Rating: none
Radmir Turmukhambetov - 03/28/2008
Learn how to encode Kazakh language characters in OS400.

A Glance at the Virtual Machine Monitor
Rating: none
Ashkbiz Danehkar - 10/12/2006
Learn about virtualization's technique world.

Understanding Hibernate ORM for Java/J2EE
Rating:
Saritha S.V - 07/12/2005
Hibernate is the most popular and most complete open source object/relational mapping solution for Java environments. Learn Hibernate by using a simple Java application.

Modeling of Software Defects Dynamics
Rating: none
ilkaev - 07/05/2005
Learn about a model that describes software code defects dynamics as the result of the interactions between test and development teams.

Open Source Defined
Rating: none
Jim Minatel - 03/10/2004
Do you want to get involved in the heated conversations around the water cooler? At the very least, you need to understand the term Open Source and what it means to the software industry. Here is where you start.

Embedding Perl In a Visual C++ App (Console and GUI)
Rating: none
Matt Long - 01/18/2002
This article show how to create a console application that embeds a perl interpreter.


Internet Explorer



[Updated] Customize an IE Context Menu to Add CodeGuru Favorites
Rating:
kirants - 07/15/2008
Learn how to customize the internet explorer context menu to add Codeguru Favorites items.

Invoke Hidden Commands in Your Web Browser
Rating:
eagleboost - 09/15/2004
Demonstrate an innovative way to invoke hidden commands to show modal dialogs such as the "Add To Favorite" dialog or "Import/Export Wizard" dialog in your Web browser-based application.


Keyboard



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.


Log and Trace Files



Method Call Interception (MCI) in C++ (not yet reviewed)
Rating: none
Raghupathy Srinivasan - 12/21/2005
Implementing MCI in C++ using compiler / platform specific features.

TRACER -- Reusable Class to Make Traces to Log File and External Trace Window
Rating: none
Rajeev Sadasivan - 12/06/2002
Review this re-usable class that can output trace to a window, logging file, or both. It works on a conditional compilation just like other traces to avoid code generation in release builds. Function entry and exit can also be done very easily.


MAPI



Accessing the Address Book Data Using MAPI
Rating:
muthuis - 10/28/2004
Learn the different ways of accessing the address book data using Extended MAPI. It explains how to work with both smaller and larger address books in a Global Address List of an organization.


MFC Help



Visual C++ 2008 Feature Pack: MFC Enhancements
Rating:
Nick Wienholt - 05/12/2008
The Visual C++ 2008 Feature Pack incorporates C++ language changes that move C++ closer to the upcoming C++0x standard. The new language elements build on the powerful features of the C++ language, and include support for regular expressions, function objects, and a number of new STL containers as well as many other new features. Review some of the new language features, and see how they can be incorporated into C++ applications.

MFC 8: I'm Not Dead Yet
Rating:
Victor Volkman - 07/11/2005
To prove that the Microsoft Foundation Class library is not dying, Microsoft has made some changes. Explore what is new and changed in MFC 8, coming with Visual C++ 2005.

Implementing ToolTip Style Context Sensitive Help in CFormView based Applications
Rating: none
Yawar Jawaad Maajed - 10/01/2002
Implementing ToolTip Style Context Sensitive Help in CFormView based Applications


MSN



MessagerSpy++ for MSN Messenger/Windows Messager
Rating:
Zhefu Zhang - 01/14/2003
Capture the original RTF contents and emoticons data out of MSN Instant Messenger in the fly using dual Windows Hook, plus Chat Document Management support and Sending '& Modifying Chat Text to MSN Messenger.


Math



Compile Time Data Structure Using Template Meta Programming
Rating: none
Zeeshan - 12/24/2008
Learn about the link list as an example of a compile-time data structure and implement it with template meta-programming.

Template Meta Programming and Number Theory, Part 2
Rating: none
Zeeshan - 09/11/2007
Learn to use the C++ language construct such as "Template template parameters" to introduce the abstraction layers not only to improve the quality of code but also to make it more reusable.

Template Meta Programming and Number Theory
Rating: none
Zeeshan Amjad - 08/10/2007
Learn how to implement some basic number theory functions with the help of C++ template meta programming.

Product Keys Based on the Advanced Encryption Standard (AES)
Rating:
Jeffrey Walton - 11/28/2006
Protect Software with Product Keys based on the Advanced Encryption Standard (AES).

[Updated] Deriving Projection Matrices
Rating:
Joe Farrell - 10/23/2006
Walk through the mathematical derivation of orthographic and perspective projection matrices used in 3D graphics.

The Basics Of Binary
Rating:
Pinky98 - 06/14/2005
Learn about the basics of how binary data is stored and manipulated. It is intended for readers who are fairly new to numerical systems. The concepts of storing integers, real numbers, and characters are discussed.

Logic-Grid: An Elegant Alternative to Your If-Else Nightmare!
Rating:
Narendra Venkataraman - 04/19/2005
Deeply nested if-else and giant switch statements are a common sight in any complex logic implementation. Maintaining such a messy chunk of code is really a nightmare. Learn a very effective technique that I call logic-grid technique to implement rule engines and finite state machines (FSM).

Calculator
Rating:
Roger Lindstrvm - 06/21/2002
This article give you the necessary code to create a text-based calculator. The calculator can handle variables, complex numbers, and draw functions.

Numerical Analysis - Binomial Theorem Demo
Rating: none
Vinayak - 01/31/2002
Code to explain the working of Binomial Theorem.


Memory



[Updated] Fast, Efficient Allocator for Small Blocks of Memory
Rating:
znrobinson - 02/21/2008
Learn about an approach to allocate small blocks of memory quickly and efficiently.

Intelligent Memory Buffer Class on Non-MFC(SDK) Platforms
Rating:
krkim - 11/27/2007
Check out this stand-alone, intelligent "increasing buffer" class. It's useful for a Win32 SDK project without using MFC.

Application-Level Memory Management for Memory-Constrained Devices
Rating:
Raveendran Vadakkoot and Neeraj S. Sharma - 10/30/2007
Discover a faster and better dynamic memory allocation technique for real-time systems.

[Updated] Copy Constructors and Assignment Operators
Rating:
kasajian - 08/31/2007
Copying constructors and assignment operators is easy—once you learn the rules, and you can learn those rules right here.

Enhance Your Dynamic Memory Allocation with an Undocumented MFC Class
Rating:
lano1106 - 02/14/2006
Learn to employ a small utility class that allows you to modify how objects for a given class are dynamically allocated.

Detecting Memory Leaks in C
Rating: none
cup - 02/10/2003
A simple technique for detecting memory leaks in C without modifying your code excessively.


Message Box Handling



Creating an Extended Message and Input Box
Rating:
Marcus Gesing - 06/09/2003
Extend your message and input boxes with many useful attributes by using this generic and lean class! (The article and demo file were updated.)

Customized Class for MessageBox
Rating: none
Vikram Kashyap - 01/17/2002
Have you ever tried place a customized icon in a messagebox? This class helps you to do so.


Microsoft Office / Outlook



Microsoft Word Automation Class
Rating:
Val Golovlev - 12/06/2007
Discover a class to start Microsoft Word and access Word functions from a C++ application by using OLE and IDispatch interfaces. Two classes are provided: the Word automation class CWordAutomation and the wrapper class CEzWordAutomation.

Developing SharePoint Server 2007 Publishing Sites the Smart and Structured Way
Rating: none
Andrew Connell - 09/18/2007
SharePoint MVP and Wrox author Andrew Connell shows a little-known approach to publishing content sites using Microsoft Office SharePoint Server 2007.

Running Timed Jobs within SharePoint
Rating: none
Gustavo Velez - 08/14/2007
Discover the uses, configuration and program potential of Timed Jobs within Microsoft Windows SharePoint Services (WSS).

Publishing with Authoring Connector
Rating: none
Packt Publishing - 09/20/2005
Learn to integrate Web publishing with working with your Word documents.

Visual Studio Tools for the Microsoft Office System
Rating: none
Kate Gregory - 12/15/2003
Take your .NET development one step farther with Microsoft Office System projects.

Importing contacts from Outlook
Rating: none
Deepesh Dhapola - 02/20/2003
Import contacts and other information from any contacts folder in Outlook to your application. (The article was updated.)

Building an Office 2000 COM Addin with VC++/ATL
Rating:
Amit Dey - 06/03/2002
Learn how to program an Outlook 2000/2K+/COM addin using a pure ATL COM object. Start out by writing a basic functional COM addin. You'll then learn how to add standard UI elements such as toolbars and menu items, how to respond to their events, and how to add your own property sheet.

OLE Automation with MS Word
Rating: none
Anish C.V. - 02/15/2002
How to split a MS-Word file based on Bookmarks.


Microsoft Shell (MSH)



Navigating Objects within the Microsoft Shell (MSH)
Rating: none
Jason Nadal - 12/26/2003
The new Microsoft Shell, MSH, gives easy unfettered access to your resources from the command line. Learn how to navigate through your objects through the creation of providers in C#.


Miscellaneous



New Jargon from Microsoft
12/18/2003
One thing that is true about the computer industry  there will always be new jargon to toss around! Here are a few terms ranging from Avalon to XAML.

Coming Soon to Windows: The Microsoft Shell (MSH)
12/09/2003
An initial glance at a new command line interface coming to Microsoft Windows  the Microsoft Shell (MSH). See the syntax usage as well as how to create basic commandlets.

Implementing the 'Java Listener Method' in MFC
Rating: none
Joseph R. Thomas - 10/17/2003
Learn how to implement the 'Java type' listener method in MFC. See how you can take advantage of this method and how you can use it in your code.

Messagemod, a Winamp 3.x Plugin
Rating:
Lars Werner - 06/26/2003
Adds the windowsmessage support to Winamp 3.x with a WAC plugin.

Reading Data from an MSI Database
Rating: none
Harinath Mallepally - 04/21/2003
Read data from an .msi file.

CIniFile - Class for Reading and Writing .INI Files
Rating:
Adam Clauss - 03/05/2003
Very easy-to-use class to handle reading and writing .INI files. (The demo project and source code were updated.)

Adding Barcode 3 of 9 to Your Applications
Rating:
David Hillard - 01/22/2003
Print bar codes. Print any size and virtually any density 3 of 9 barcode from within your own code.

What's Coming from Microsoft in 2003?
Rating:
Bradley Jones - 01/07/2003
What's up with Microsoft? Here are a few items that may be out in 2003.

Template Classes for Digital Signal Analysis
Rating: none
Alexander Beletsky - 01/02/2003
Well-known transformations such as Fourier, Walsh, and Haaras are very useful in digital signal processing. This article briefly describes a collection of template classes that can be used in digital signal analysis.

Obtaining Icon Positions
Rating:
Jeroen-bart Engelen - 12/16/2002
Save and restore icon positions on the desktop.

Creating a Watch Dog Application
Rating: none
Tali Gat-Falik - 11/27/2002
This code implements a watch dog (a simple program that has to keep another program alive). It can check to see whether an application is running or if it has hung. It can also check how long the application has been running and restart it if necessary.

On-The-Fly UI (User Interface) Language Changing
Rating: none
Omoshima - 08/14/2002
[Updated] Here is a description of one implementation of on-the-fly user interface language switching. It allows very easy translation of software by using an INI File interface

Fractal Detection: Short Course
Rating: none
Dmitri Pavlenkov - 07/24/2002
Following up on his "Understanding Fractal Detection", Dmitri provides a more organized approach to understanding fractals.

Understanding Fractal Detection
Rating: none
Dmitri Pavlenkov - 07/23/2002
Fractal detection can be used to speed complex input processing, like video, audio, and natural language text. This article introduces an efficient and comprehensible technique of fractal detection, while demystifying fractals per se.

WlxGetOption Documentation
Rating: none
Jiøí Kutálek - 06/25/2002
Learn about the usage of GINA WlxGetOption function and defines in/out parameters (especially for smartcard logon).

Antivirus Defense
Rating: none
Vinoj Kumar - 06/07/2002
Per the author, this utility will protect your PC from external viral attacksby protecting the operating system files in such a way that external intruders such as viruses cannot harm the operating system files in any way.

Adding Copy Protection
Rating: none
Vinoj Kumar - 05/28/2002
A scheme for programmatically adding and using copy protection to disks you distribute.

Add A Favorites Function to Your Menu
Rating: none
Joe Socoloski III - 03/15/2002
Do you want your program to read the users' Favorites/Bookmarks? Here is a simple way to add a "Read my Favorites" function to your program.

Embeddable and Extensible Basic Interpreter
Rating: none
Michael Kramar - 03/11/2002
One of the ways to ultimately extend application's capabilities is to add scripting language to it.

Magnifying Glass
Rating:
Alex F - 01/29/2002
[Updated] Magnifying Glass is application that adds icon to system tray. Magnification is activated by clicking of this item. After this program shows magnifying glass in any place of the screen when left mouse button is pressed.

Hosting VBScript in your own Application
Rating: none
Perry Bruins - 01/11/2002
Ever needed to let your customer extend the functionality of your application? Why not use the scripting technology also used by Internet Explorer! This article describes the use of the ActiveX scripting engine within your application.

A fast lexical analyzer with IDE
Rating: none
Alexander Berthold - 01/09/2002
A library containing an lexical analyzer, including an IDE for developing rule sets.


Multi-Lingual Support



A Personal Virtual Keyboard for (nearly) Every Keyboard
Rating: none
David Kelvin - 06/01/2009
Generate multiple (on-screen)Virtual Keyboards to include into your portable application via a DLL, so that your users can take theirlanguage/keyboard with them on their travels, even if the PC they use does not have their home keyboard installed.

Internationalize and Localize Your C/C++ Code with ICU
Rating:
Victor Volkman - 02/10/2006
The International Component for Unicode (ICU) library can save you from being hopelessly mired in numerous character encodings as your C/C++ application matures into internationalization and localization.

[Updated] The Basics of UTF-8
Rating:
Marius Bancila - 09/12/2005
Learn about UTF-8 encoding of UNICODE characters.


Open FAQ



[Updated] Hottest Forum Q&A on CodeGuru for the week of March 7, 2004
Rating:
Sonu Kapoor - 03/26/2004
Lots of hot topics are covered in the Discussion Forums on CodeGuru. If you missed the forums this week, you missed some interesting ways to solve a problem.

[Updated] Hottest Forum Q&A on CodeGuru - week of March 1st, 2004
Rating:
Sonu Kapoor - 03/25/2004
Lots of hot topics are covered in the Discussion Forums on CodeGuru.

Hottest Forum Q&A on CodeGuru from the week of March 14th, 2004
Rating: none
Sonu Kapoor - 03/22/2004
Lots of hot topics are covered in the Discussion Forums on CodeGuru. If you missed the forums this week, you missed some interesting ways to solve a problem.


Plug-ins / Add-ins



Create MySQL 5.1 Storage Engine Plugins Under Win32
Rating: none
Ludwig Ertl - 11/15/2007
A MySQL Storage engine requires functions that MySQL provides. Therefore, you normally need to link it into mysqld-core under Windows because mysqld.exe doesn't export all required functions (because it's an .exe, not a .dll). So, you're unable to import the required functions in our Plugin. Learn a possible way to circumvent this limitation by using the .map files that are provided with MySQL.

DynObj: C++ Cross-Platform Plugin Objects
Rating:
arst - 10/16/2007
Learn about a framework for loading and using binary C++ plugin libraries. It is cross-compiler and cross-platform.

Introduction to PDL
Rating:
isemenov - 09/17/2007
PDL (Portable Dynamic Loader) is a light, simple, and portable library designed especially for creating and using dynamically loaded class objects.

[Updated] Multi Platform Plugin Development Made Easy!
Rating:
Andreas Loeffler - 05/26/2004
Learn how to develop and use multi platform plugins easily using the Simple Plugin Layer (SPL) Library.

Macros for C++, in C++
Rating:
Kate Gregory - 04/30/2004
Learn how to write macros for C++ in Visual Studio.

Plug-in Architecture Framework for Beginners
Rating: none
Paul Qualls - 06/13/2002
How can you make a plug-in architecture model work for you? Check out this article for the answer.


Screen Savers



MFC App to Screen Saver: the Easy Way
Rating: none
Jim Dill - 07/09/2007
Make a few small changes in your MFC app and it can serve as a screen saver.


Stack



Function Calls, Part 4 (What Exactly Is "this"?)
Rating:
kirants - 02/14/2008
Learn about a dissasembly view of function calls, and decipher the __thiscall calling convention.

Function Calls, Part 3 (Frame Pointer and Local Variables)
Rating:
kirants - 02/05/2008
Explore a dissasembly view of function calls, including organization of the stack for local variables and the concept of stack frames and frame pointers.

Function Calls, Part 2 (Stack and Calling Conventions)
Rating:
kirants - 01/23/2008
Read a dissasembly view of function calls, explaining organization of the stack and the behavior in the context of different calling conventions.

Playing with the Stack
Rating: none
Chavdar Dimitrov - 11/14/2002
Learn about the stack and how to extract function calling information from the stack in a compiler-independent way.


System



Visual Modeling of Complex Reactive Systems
Rating: none
JeromeWiz - 05/28/2009
Check out this commercial-grade cross-platform Harel UML StateChart open-source application framework named StateWizard for concurrent, distributed, and real-time reactive system development with simplicity, efficiency, and scalability.

[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.

Customize Places Bar in Common File Dialog
Rating:
Marius Bancila - 03/13/2007
Learn how to tweak the Registry to have an application-specific custom places bar of the file dialog.

WinAPI Hooking
Rating: none
Andriy Oriekhov - 06/08/2006
Learn to intercept WinAPI calls.

Mouse Progress Control
Rating:
Lars Werner - 04/03/2006
Learn about a progress bar control that follows the mouse cursor by using a system-wide hook.

System Call Optimization with the SYSENTER Instruction
Rating:
John Gulbrandsen - 10/08/2004
Windows NT calls system services by using an "int 2e" software interrupt. The "int 2e" instruction uses both an interrupt gate and a code segment descriptor to find the interrupt service routine (KiSystemService) which services the "int 2e" software interrupt. Since the CPU will have to load one interrupt gate and one segment descriptor from memory in order to know what interrupt service routine to call, significant overhead is involved in making an "int 2e" system call. The SYSENTER instruction drastically reduces this overhead.

Error Handling Strategies
Rating:
Alexander Fedorenko - 11/22/2002
Error handling is one of the important tasks of writing software. To effectively handle errors, you need to formalize a unique approach for each project.

GUI-Based RunAs
Rating: none
Zhefu Zhang - 07/01/2002
To launch a program under another user context, Win2k provides a command line tool called RunAs. This article shows you a utility for saving typing that also uses a more friendly user interface.

CIH and Klez Viruses Scanner
Rating: none
Vinoj Kumar - 06/04/2002
This utility program will scan for the deadly viruses called CIH and Klez.


System Tray



System Tray Icons
Rating: none
Prateek Kaul - 12/13/2002
How to create and show icons in the system tray for any application.


Task Scheduler



OP-ED: Monday Morning Quarterbacking Is Alive and Well
Rating:
Paul Kimmel - 12/21/2007
A Monday morning quarterback is a person who, after the event, offers advice or criticism concerning decisions made by others; or, one who second guesses. Too many Monday morning quarterbacks on Sunday evening can screw up your Focus IQ. Learn what "Focus IQ" is, why you want the score as high as possible, and how to get it there.

Handling Uncertainty In Project Planning
Rating: none
ilkaev - 04/28/2005
Learn to deal with large and cumbersome projects, their planning, assessment, and optimization.


Templatized Classes



[Updated] Polymorphism and Template-Based Designs
Rating:
Akshay Saidulu - 04/22/2008
Learn how to use templates as an alternative design choice for designing polymorphic-based applications in C++.

[Updated] Tree Container Library
Rating:
Mitchel Haas - 04/04/2006
The TCL consists of four template container classes, similar to those found in the STL.


Threads/Processes



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.

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.

Per Thread Singleton
Rating:
Wong Shao Voon - 05/05/2009
How to write per thread singleton instance to avoid thread contention.

A Multidevice ASIO Output Plugin for WinAMP
Rating: none
Domagoj Saric - 02/19/2009
Explore a C++ replacement of the official ASIO SDK that supports multiple ASIO devices put to the test in a tiny WinAMP output DLL.

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.

Deadlock: the Problem and a Solution
Rating:
Anthony Williams - 09/18/2008
Deadlocks can certainly put a damper on your day. Learn the ways to circumvent a deadlock in your systems.

[Updated] Simple Thread: Part II
Rating:
Arjay - 11/06/2007
Learn how to share data between threads in a thread-safe manner.

Simple Thread: Part I
Rating:
Arjay - 08/23/2007
Learn about methods to start, pause, resume, and stop a thread by using _beginthreadex in an MFC dialog application. The sample shows how to update a MFC control as well as how to properly shut down a thread.

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.

Why Too Many Threads Hurts Performance, and What to do About It
Rating:
Arch Robison - 04/06/2007
Learn why threading, which is the current method of choice for extracting performance from multi-core chips, isn't always the best choice for good performance.

[Updated] Function Static Variables in Multi-Threaded Environments
Rating:
einaros - 12/05/2006
Read a quick review of the dangers surrounding static variables in multi-threaded and potentially multi-core/CPU environments.

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.

Win32 Thread Synchronization, Part 2: Helper Classes
Rating:
Arjay - 05/24/2005
Learn about thread synchronization helper classes and their implementation, and sample projects.

Win32 Thread Synchronization, Part I: Overview
Rating:
Arjay - 05/20/2005
Learn about processes, threads, and a couple of thread synchronization techniques.

Running Code Before and After Main
Rating:
Jac Goudsmit - 04/13/2004
There is a partially documented feature in the Microsoft C/C++ runtime libraries that allows you to run code before the main function (main, WinMain or DllMain) is called, and after it returns.

Developing Fast Thread-Safe Code
Rating:
Jais T Mathew - 08/22/2003
A type of synchronization object for threads'—critical sections'—only works for threads within the same process. Learn more about critical sections and operating system behavior.

Speeding Up Internet Browsing
Rating: none
Bill Nolde - 05/22/2003
This program watches for DNS requests, lists them, and allows you to save them to block certain sites.

Sequential to Parallel Code Transitioning Using Macros
Rating:
Peter Nikolaev Koniarov - 01/14/2003
Multiprocessor computers are very common nowadays, but the programs that make use of their advantages are quite few. This situation is mainly due to the difficulties accompanying multi-threaded design. There are ways, however, to increase parallelism at low cost. In this article I'm going to describe a method for easy transitioning from sequential single-threaded to parallel multi-threaded code using macros.

Multithreading: The Construction of Abortable, Lengthy Operations
Rating: none
Clemens Schmidt - 05/15/2002
Discover how to use multithreading to construct abortable lengthy operations in an MFC environment.

Class CMaleLogger - Logging System
Rating: none
Arlen Albert Keshabian - 03/19/2002
The CMaleLogger class provides easy-to-use, powerful, extra low CPU consuming and thread-safe logging system to multithreaded and single-threaded programs.


Timers



QPerformanceTimer
Rating:
Sjaak Priester - 08/16/2005
"Profile" a block of C++ code with just one include file and two variable definitions.


Tools



Is RFID Still Important?
Rating: none
Bradley Jones - 08/26/2008
A short interview with Microsoft on RFID technology.

[Updated] Resources Explorer
Rating:
Georges Dumond - 09/07/2006
Learn about a search files with resources to explore it. The selected resource can be extracted. This tool is a sample of using Splitter, List, Tree, and resource display.

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.

Time Management Tips for Developers
Rating:
Alexander Fedorenko - 09/09/2005
Learn about a few time management principles that can make our lives more successful and improve software and Web development.

TILO - An Automated Unit-Testing Tool for C & C++
Rating:
Octavian-Paul ROTARU - 09/02/2005
TILO is a program/tool designed to help developers create and run unit tests. Unit tests will have to be coded, not written, and will be executed automatically by the tool.

Your Free Search Engine: Microsoft Indexing Server
Rating: none
Klaus Salchner - 05/18/2005
Learn how to set up Microsoft's powerful indexing and searching engine, Microsoft Indexing Server, to search its index from within your Web or file-based applications.

Visual Studio 2005 Beta 2 Won't be the End of March!
Bradley L. Jones - 04/14/2005
With the official announced date past, do we know when Visual Studio 2005 Beta 2 will release?

SharePoint Ghosted and Unghosted Pages
Rating: none
Maurice Prather - 04/06/2005
Learn about the difference between the two types of pages, and how to change between them.

Application's Version Updating from a FTP Resource
Rating: none
Andrej Hristoliubov - 02/15/2005
Use the IOUpdate.dll library to automatically update your application from the Internet.

Microsoft CRM Integration: Siebel E-Mail Attachments Import - C# and MS Transact SQL Example (not yet reviewed)
Rating: none
Boris Makushkin - 01/10/2005
For those who need to migrate data from Siebel or another CRM to the Microsoft CRM, this article is for you. Discover how to use SQL to move the data.

Editorial: CTIA Mobile Development
Rating: none
Bradley Jones - 11/08/2004
An expansion on the information I presented in the 11/2/2004 CodeGuru eNewsletter editorial on mobile development for cell phones.

Update Tables in WISE Using VBScript
Rating: none
OsnatHassner - 08/12/2004
Learn how change a Property value (in the Property table) in Wise using a VBScript.

Microsoft MapPoint Location Server "Attention-focuses" Mobile Devices
Rating:
JLurie - 07/02/2004
Learn about MapPoint Location Server (MLS), which is software that will make your cell phone locatable!

Simplified Development Tools—The Microsoft Express Products
Rating:
Bradley Jones - 06/29/2004
Microsoft expands Visual Studio and SQL Server to the non-programmers, hobbyists, and students with simplified, low-cost to no-cost versions.

Developing Nokia Series 60 Applications
Rating:
Posted by CodeGuru - 06/25/2004
Learn the essentials of building, deploying and running a Nokia Series 60 project using C++ on the Symbian OS.

VSStub
Rating: none
Per Nilsson - 05/03/2004
Provides a basic implementation of the Developer Studio Object Model.

CORBA IDL to WSDL Compiler
Rating: none
H Song - 02/25/2002
This CORBA idl to wsdl compiler is based on the OMNIORB (GNU).


UML



A Round-Trip UML Dynamic Modeling Tool
Rating:
JeromeWiz - 06/22/2006
Learn about a round-trip UML dynamic modeling tool with code line calculator and code/memory size analyzer.

Acronym Anarchy
Rating:
Bradley Jones - 08/25/2004
Acronyms are getting out of control. Do you have what it takes to be an Acronym Guru?

Using an UML Class Diagram to Model DAML+OIL Ontology
Rating: none
Sujoy Paul - 01/28/2003
Unified Modeling Language (UML) can be expressed in modeling ontologies for knowledge representation. This article explains in detail the growing usage of UML in modeling languages such as DAML+OIL for the semantic web in a series of steps.


Version Info



[Updated] Notes from Microsoft PDC 2008
Rating:
Bradley Jones - 10/28/2008
A few tidbits from PDC 2008. Azure, Silverlight, WPF, Windows 7, and much more!

Two Cool Things in C++00X: Object Initialization and Move Semantics
Rating: none
Victor Volkman - 10/31/2007
C++0X is coming and with it are new object initialization features and better control over struct/class member alignment.

Peeking Further into C++00X
Rating:
Victor Volkman - 10/01/2007
A smorgasbord of new C++ features is coming in C++00X: constant-expression functions, predeclared identifiers, and simpler runtime type information tools are just a few of them on the way. Based on the newest report N2336 released in July 2007.

What's New in C++00X?
Rating:
Victor Volkman - 08/27/2007
Frustrated by what C++ can do for you? Find out about how the new C++00X language standard will help you: TR1, delegating constructors, template aliasing, and strongly typed enums await! Based on the newest report N2336 released in July 2007.

For Developers, Microsoft Has More in Store than Ever Before, Part 2
Rating:
Patrick Gallucci - 10/10/2005
Microsoft announced so many new tools and technologies at its Professional Developers Conference (PDC) 2005 that our "man on the scene" needed a second article to cover it all. Find out what else Redmond has planned for .NET developers.

For Developers, Microsoft Has More in Store than Ever Before
Rating:
Patrick Gallucci - 10/05/2005
Get a recap of Microsoft's Professional Developers Conference (PDC) 2005 from a developer who's been there and done that—and got the DVD. Find out Redmond has planned for .NET developers.


Video



VIDEO: Using Stored Procedures in Entity Framework
05/13/2009
By Dan Rigsby -
Working with Custom Stored Procedures in Entity Framework.

Trick: How to Capture Video Screen Shots
Rating:
Heng Wah Chiew - 03/01/2004
An article describing a trick to capture video screen shots.


Windows Messaging



[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.

[Updated] Easy Unicode
Rating:
Lior Peretz - 08/02/2005
Learn how to integrate Unicode support in a non-Unicode application without a lot of code modifications.

[Updated] Windows Message Broadcaster
Rating:
Ali Rafiee - 04/07/2005
Use this class to broadcast a message to multiple windows, or different views without having to have their handles.