Jump to articles...
About the Authors
Kate Gregory is a founding partner of Gregory Consulting Limited (www.gregcons.com), and is the MSDN Regional Director for Toronto, Canada. She is a well-known speaker and lecturer at colleges and Microsoft events on subjects such as .NET, Visual Studio, XML, UML, C++, Java, and the Internet. Kate is the author of numerous books for Que, including Special Edition Using Visual C++ .NET.
Nick Wienholt is a Windows and .NET consultant based in Sydney, Australia. He has worked on a variety of IT projects over the last decade and continues to stay involved in the developer community. Nick is the co-founder and president of the Sydney Deep .NET User group, writes technical articles for Pinnacle Publishing and the Microsoft Developer Network, and is a participant in many .NET-related newsgroups. Nick's most recent book is Maximizing .NET Performance.
Stephen Fraser has 15 years of IT experience working for a number of consulting companies ranging from startups to large consulting firms such as EDS and Andersen Consulting (Accenture). His IT experience covers all aspects of application and Web development and management, ranging from initial concept all the way through to deployment. Stephen is also the author of several books, including Managed C++ and .NET Development, Real World ASP.NET: Building a Content Management System, and the forthcoming Pro C++/CLI and .NET Version 2.0 Development.
By Nick Wienholt
- Using VC++ .NET - Article Published
04/18/2011
The Transactional File System (TxF), which allows access to an NTFS file system to be conducted in a transacted manner through extensions to the Windows SDK API. MFC 10, has been extended to support TxF and related technologies. This support allows existing MFC applications to be easily extended to support kernel transactions.
By Ovidiu Cucu
- Using VC++ .NET - Article Published
03/02/2011
Discover how to start and control a third party GUI application, particularly the Notepad text editor, from your own C++ applications.
By Nick Wienholt
- Using VC++ .NET - Article Published
02/23/2011
During the glory days of MFC and ATL in the 1990s and early 2000s, The Visual C++ class wizard was a highly-used and useful IDE tool that simplified life for developers. The re-introduction of the class wizard, after the absence of a decade, demonstrates commitment to the 'glory day's' ideal and adds simplicity to class management tasks inside the IDE.
By Nick Wienholt
- Using VC++ .NET - Article Published
12/21/2010
For every true C++ developer, the Standard C++ Library is the first choice for utility classes, collections and algorithms to streamline the development effort. Continuing on from the investment in core C++ programming improvements in Visual C++ 2008, Visual C++ 2010 introduces improvements in the Standard C++ Library related to C++ 0x, and this article focuses on advancements in Standard C++ collections and algorithms.
By Nick Wienholt
- Using VC++ .NET - Article Published
11/16/2010
In this age of cloud computing, massive parallel systems and complex security threats like identity theft and decentralized botnets, devoting resources to combat the seemingly age-old issue of integer overflow appears distinctly passC). Despite the fact that integer overflow is such a well know problem, particularly within C and C++ programming, the problem remains a real issue from both a defect and security standpoint, that's why the introduction of the SafeInt template class in Visual C++ 2010 to address overflows is a great addition.
By Nick Wienholt
- Using VC++ .NET - Article Published
10/25/2010
Application manifest files provide a declarative means for an application to detail its dependencies and runtime requirements. Each version of Windows and Visual C++ adds further options that can be specified in the application manifest file, and it is important for correct application deployment and execution that the Visual C++ developer keeps up to date with these advances.
By Nick Wienholt
- Using VC++ .NET - Article Published
09/28/2010
A number of factors are driving the requirement for applications to correctly support high DPI settings--increased monitor resolutions are making it more difficult for users to read text on the screen, compliance with disability access legislation is an increasingly important factor for corporations, and users are now expecting applications to behave well at higher DPI settings. MFC 10 and Visual C++ 2010 have built-in support for high DPI, making the development of a DPI-aware application quicker and more simple.
By Nick Wienholt
- Using VC++ .NET - Article Published
08/27/2010
The introduction of the iPad and other slates demonstrates that end users have a strong appetite for touch-enabled experiences. MFC 10 adds comprehensive support for touch functionality, allowing users with tablet PCs and digitizers to interact with applications in a simple, natural manner, including gestures and multi-touch.
By Nick Wienholt
- Using VC++ .NET - Article Published
08/09/2010
The Office 2007 suite of applications introduced the Ribbon UI element to combine and simplify application toolbars and menus into a single, consistent area for invoking task-specific application commands. Windows 7 ships with a Ribbon control, and Visual C++ developers have easy access to this built-in Ribbon functionality through MFC 10 enhancements.
By Nick Wienholt
- Using VC++ .NET - Article Published
06/29/2010
Shell Links are a Windows feature that has been present since the very first 32-bit Windows release in 1995, and are the technology that the ubiquitous Windows shortcuts are built upon. Windows 7 Jump List tasks also use Shell links, creating renewed interest in using Shell links as a technique for interacting with applications.
By Nick Wienholt
- Using VC++ .NET - Article Published
06/17/2010
The Windows 7 Taskbar is one of the most noticeable and useful features of the new operating system, and MFC 10 introduces a number of enhancements that make it easy to integrate the Taskbar with your application.
By Nick Wienholt
- Using VC++ .NET - Article Published
04/12/2010
Jump Lists provide a simple and convenient way for users to open documents and perform common tasks, and Windows 7 provides basic support for Jump Lists with no explicit application development. C++ developers can improve their applications by using the MFC class CJumpList to provide custom jump list items for easier application interaction.
By Nick Wienholt
- Using VC++ .NET - Article Published
03/22/2010
This C++ tutorial demonstrates how MFC 10 delivers on it's promise by delivering the boiler-plate functionality required to build a professional Windows C++ application with minimal effort while allowing .NET developers to customize aspects of MFC behavior.
By Nick Wienholt
- Using VC++ .NET - Article Published
02/26/2010
Windows Vista and 7 provide the ability to restart crashed or hung applications and recover your work. By building on the strength of the Document-View Architecture, Microsoft Foundation Class (MFC) 10 allows new and existing applications to easily take advantage of these Windows features.
By Nick Wienholt
- Using VC++ .NET - Article Published
01/26/2010
C++ Programming is having a revitalization of Microsoft Foundation Classes (MFC) which continues to deliver simple integration with powerful Windows features. In this article, we'll look at Preview and Thumbnail Support, and how these features can be easily implemented in an MFC application.
By Nick Wienholt
- Using VC++ .NET - Article Published
10/19/2009
Leveraging Windows Error Reporting (WER) to use Microsoft's existing infrastructure for providing end users with patches and workarounds, a critical aspect of the application life-cycle management.
By Nick Wienholt
- Using VC++ .NET - Article Published
09/14/2009
Even the best-written C++ applications can crash or hang-and end-users' perceptions of the application hinge on how gracefully the application works with the operating system to handle such problems. By registering your applications with Windows Application Recovery and Restart, they can recover gracefully after errors occur.
By Nick Wienholt
- Using VC++ .NET - Article Published
08/17/2009
Correctly managing the release of heap-allocated memory and other resources has been one of the great challenges of C and C++ development for decades. The new shared_ptr class, shipping with Visual Studio 2008 SP1 and Visual Studio 2010, makes dealing with resource management dramatically simpler.
By Nick Wienholt
- Using VC++ .NET - Article Published
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.
By Nick Wienholt
- Using VC++ .NET - Article Published
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.
By Nick Wienholt
- Using VC++ .NET - Article Published
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.
By Nick Wienholt
- Using VC++ .NET - Article Published
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.
By Nick Wienholt
- Using VC++ .NET - Article Published
02/02/2009
MSBuild is the build platform that Microsoft is using across all developer and related tools moving forward. Visual C++ is the last major compiler offering from Microsoft to move onto the MSBuild platform, with the Visual C++ 2010 release using MSBuild as its native project format. Explore the MSBuild basics from a C++ perspective, and see how it can improve your build process.
By Nick Wienholt
- Using VC++ .NET - Article Published
12/17/2008
C++/CLI has a number of advanced features that make developing and maintaining applications easier. Discover how these allow types to be moved between assemblies without breaking existing application, allow fast and efficient interoperability between native functions, and make it possible to create functions that take a variable number of parameters while still maintaining type safety.
By Nick Wienholt
- Using VC++ .NET - Article Published
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.
By Nick Wienholt
- Using VC++ .NET - Article Published
10/06/2008
Replacing the cumbersome and confusing Managed Extensions for C++ that shipped with Visual C++ 2002 and 2003, C++/CLI is a standardized set of C++ language extensions that allows developers to write managed code that executes on top of the .NET Framework.
By Nick Wienholt
- Using VC++ .NET - Article Published
09/08/2008
Despite the best documentation, stepping into the actual source code of third-party libraries can be the fastest way to diagnose a difficult bug or determine the state that a component needs to be in before a certain operation can be completed. With a little set-up magic, developers can step into libraries quickly and easily.
By Nick Wienholt
- Using VC++ .NET - Article Published
08/06/2008
Thread debugging can be one of the more difficult debugging exercises for a Visual C++ developer. The Visual Studio 2008 debugger contains a number of improvements that make thread debugging more productive, enabling code issues in multi-threaded applications to be identified and remedied faster.
By Nick Wienholt
- Using VC++ .NET - Article Published
07/08/2008
Effective use of the Visual C++ debugger is one of the easiest ways to increase developer productivity. Program database (PDB) files are one of the key elements in effectively debugging an application, and it is easy to set up Visual Studio to use debug symbols for binary files produced by other developers, including those at Microsoft.
By Nick Wienholt
- Using VC++ .NET - Article Published
06/10/2008
Code is run in a debugger for two main reasons: examining the branches of code that are being executed, and examining data values to determine why the code is behaving in a certain manner. Inspecting data values can be significantly improved by customizing the debug information. See how that can be done in the Visual C++ debugger.
By Nick Wienholt
- Using VC++ .NET - Article Published
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.
By Nick Wienholt
- Using VC++ .NET - Article Published
04/07/2008
Hot on the heels of the significant MFC updates that were delivered with the release of Visual Studio 2008, the Visual C++ 2008 Feature Pack significantly boosts the ability of MFC to deliver modern-looking user interfaces that will be familiar to Windows and Office users. Look at these new controls and see how MFC developers can significantly improve their application's look and feel.
By Nick Wienholt
- Using VC++ .NET - Article Published
03/04/2008
For large and complex applications, dealing with the amount of data collected can be difficult. See how the Visual Studio Team System (VSTS) Developer Edition Profiler can do an excellent job of finding performance problems by simply pointing it at an application and allowing it to collect data.
By Nick Wienholt
- Using VC++ .NET - Article Published
02/05/2008
Applications with great performance are a hallmark of C++ programming, and one of the best tools for achieving great application performance is a code profiler. Take a look at the Visual Studio Team System (VSTS) profiler, and see how it can be used to find code bottlenecks and improve performance.
By Nick Wienholt
- Using VC++ .NET - Article Published
01/09/2008
Learn how to rapidly develop applications and add-ins using ATL for Windows CE.
By Nick Wienholt
- Using VC++ .NET - Article Published
12/10/2007
Drill deeper into Mobile Development in C++ and go through the development and debugging of a Windows Mobile 6 application with a focus on MFC.
By Nick Wienholt
- Using VC++ .NET - Article Published
11/07/2007
Try a no-embedded-background-needed introduction into developing Windows Mobile applications in C++. With comprehensive support for smart device development in Visual C++ and great device emulation features in the Windows Mobile SDKs, mobile development is well within the reach of all Visual C++ developers.
By Nick Wienholt
- Using VC++ .NET - Article Published
10/02/2007
The release of Visual Studio 2008 brings support for using the Visual Studio Class Designer with Visual C++ projects. Look at the differences in how the Class Designer works with C++ compared to purely managed languages, and learn about the range of functionality available to C++ developers.
By Nick Wienholt
- Using VC++ .NET - Article Published
09/04/2007
Microsoft Foundation Classes continue to play an important role for C++ developers. Discover how to upgrade an existing application with MFC 9's full support for the Windows Vista look-and-feel.
By Nick Wienholt
- Using VC++ .NET - Article Published
08/02/2007
The conversion between common native types and the equivalent .NET Framework type is a common programming activity for interoperability development in C++. Visual C++ Orcas introduces a light-weight, template-based library for performing this conversion. This article will look at both the use of this library and how it can be extended to add new conversions.
By Nick Wienholt
- Using VC++ .NET - Article Published
07/16/2007
Take a quick look at the upcoming release of the new Visual C++ release slated for release in late 2008—Visual C++ Orcas. The Orcas release builds on the heritage of C++, offering great new features for achieving deep integrating with Windows Vista and better support for interoperating with managed code.
By Nick Wienholt
- Using VC++ .NET - Article Published
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.
By Nick Wienholt
- Using VC++ .NET - Article Published
05/11/2007
Windows Vista introduces a new security concept called User Access Control (UAC), where local administrators have two access tokens—one representing the privileges of a normal user and the other holding the elevated privileges of the local administrator account. Here, you will learn how to properly implement the UAC to provide a rich user experience.
By Nick Wienholt
- Using VC++ .NET - Article Published
04/06/2007
Windows Vista brings tablet-style development to the mainstream by incorporating ink functionality directly into the core operating system. The greater availability of operating system support for ink is complemented by new Vista drivers from digitizer OEMs that provide the same functionality as a full TabletPC device, greatly increasing the potential client-base for ink enabled applications. This article will look at how an existing application can work with new forms of input without a major re-design.
By Nick Wienholt
- Using VC++ .NET - Article Published
03/05/2007
Within the new threading and synchronization APIs that Microsoft added to the Windows SDK for Vista, condition variables dramatically simplify the semantics of lock acquisition and management.
By Nick Wienholt
- Using VC++ .NET - Article Published
02/12/2007
Windows Vista allows you to define, secure, and use custom namespaces to prevent malicious applications from denying access to kernel object functionality.
By Nick Wienholt
- Using VC++ .NET - Article Published
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.
By Nick Wienholt
- Using VC++ .NET - Article Published
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.
By Nick Wienholt
- Using VC++ .NET - Article Published
11/03/2006
Fusion is the code name for the .NET Framework sub-system responsible for locating and loading assemblies. It comes in handy for C++ developers who are working with the GAC.
By Nick Wienholt
- Using VC++ .NET - Article Published
10/04/2006
Find out what's become of the Windows Template Library (WTL) since Microsoft released it as an open-source project in 2004. Examine the recent WTL releases and see where WTL fits in the C++ programmer's toolkit.