|
|
| An Implementation of System Monitor |
|---|
| Code Project, Sep, 2007 |
System Watcher is a C# implementation of Google Desktop System Monitor, as an enhanced standalone tool to watch the PC performance, such as CPU usage, virtual/physical memory usage, physical disk read/write BPS, and network received/sent BPS. I use this example to demonstrate code in two aspects: first, how to collect the system data in your programming. Three simple methods involve retrieving WMI objects, Performance Counters, and Environment Variables. To display data in the graphic format, I customize my own light-weight controls, one for thick horizontal bars, and the other for line charts and thin vertical sticks. |
| Separator Combo/List Box (C#) |
|---|
| Code Project, May 2007 |
The Custom Combo Box and List Box Control with Separators in C#, SeparatorComboBox nad SeparatorListBox, with a demo provided. |
| Access Web Services asynchronously in .NET Design Patterns |
|---|
| Code Project, July, 2006 |
In the real world, client software usually communicate with web services asynchronously. To access a web service, you can generate a proxy class by using the WSDL tool in the .NET Framework. An asynchronous implementation mainly depends on the generated proxy class. The .NET Framework provides two asynchronous constructs in the proxy. One is the Begin/End design pattern from .NET 1.0, and the other is the event-driven model available in .NET 2.0. In this article, I’ll illustrate both implementations and discuss some interesting and undocumented issues. The sample code includes a simple web service, a client built in VS 2003 for .NET 1.1, and another client built in VS 2005 for .NET 2.0. |
A Silent Component Update for Internet Explorer
|
|---|
| Dr. Dobb's Journal, April, 2005 |
An Internet Explorer component can be a COM/ActiveX object. How can you provide bug fixes for your components seamlessly? Here's a silent update technique for IE components, including a demo called "CMP Media toolbar." As soon as silent updates occur in the browser, this toolbar not only updates itself, but incorporates a pop-up blocker for the IE browser. Actually, the basic mechanism is not limited to IE and can be extended to other components. |
Silent Application Update
|
|---|
| Dr. Dobb's Journal, November, 2004 |
Online self-updates are among the more useful features of today's software, In some cases, "silent" background updates are preferred. In such cases, applications monitor the most recent version of itself from the web server. If updates are available, the application downloads the new components and updates themselves. I presented a technique for updating standalone executables and created a sample program called sUpdate.exe to update itself, and its configuration and image files as well. The end result is that users find the updated application running the next time. |
|
|
|---|
| Code Project, July 2004 |
Several enhanced permutation algorithms are discussed, with non-ordered or repeated elements in iterative or recursive solution. |
|
|
|---|
| Code Project, June 2004 |
A reusable CComboBox derived combobox class with available separator insertion is presented and a demo is provided. |
|
|
|---|
| Windows Developer Magazine, February 2003 |
Here are two tools that can help in web programming. An MDI-based browser, MDIIE, makes it easier to view and compare multiple browser windows simultaneously. Also, an HTTP monitor called Load Spy will track web-page loading on the client side, from images to scripts. The main purpose of MDIIE is to demonstrate the browser event handling. Although MDIIE is adapted from a VC++ sample, the approach can similarly apply to VB programming. |
| Retrieving File Version Information |
|---|
| Windows Developer Magazine, September, 2002 |
As discovered some problems with a version-retrieval utility published previously in this magazine, I give a brief analysis on the Windows version structure. Based on the version API, I propose a reusable function to query a file for all its version information from different version numbers to the operation system designed. As an extension, I present a GUI-based utility VsInfo to let you retrieve ten pieces of version information for a specified file. |
| Multi-State Checkbox Tree Views |
|---|
| Windows Developer Magazine, May, 2002 |
The “tree view” is a familiar control that can show two states of a checkbox. Sometimes the bi-state checkbox may not satisfy your needs where three or more states are required. Zuoliu implements a multi-check-state tree view class and presents a practical example of a three-state checkbox tree view. |
| An Easy Way to Add Tool Tips to Any MFC Control (Tech Tip) |
|---|
| Windows Developer Magazine, May, 2002 |
A parent window may not intercept the WM_MOUSEMOVE message for a child control because the child window eats this message without routing it to the parent. If you want to add tool tips for each control in a child window, the helper class CTipHelper presented here will forward WM_MOUSEMOVE messages on to its parent. |
| Preventing Invisible MDI Child Windows after Sizing (Tech Tip) |
|---|
| Windows Developer Magazine, February, 2002 |
Minimizing child windows makes them doc to the bottom of the parent window to be recalled easily, but resizing the parent window can cause some child windows to be hidden. Zuoliu presents a solution to keep the child windows visible. |
|
|
|---|
| Windows Developer Magazine, November, 2001 |
This article exposes the architecture of a wireless port monitor from outer to inner with a top-down approach. It provides a clearer picture of how the WLSMON monitor works between the spooler and wireless printers in Windows NT and Windows 2000 systems. WLSMON is a wireless print monitor prototype. By modifying a few function placeholders, you can customize it for your own wireless implementation. |
|
|
|---|
| Windows Developer's Journal, April, 2001 |
MFC supports the tooltip control, after a fashion. But by the time you implement tooltip notification handlers for your own custom windows and then try to add support for third-party controls (which may offer their own tooltip notifications), you’ll find yourself writing a lot of repetitive code. This article attempts to remedy the situation with a generic tooltip control that can be used for MFC and third-party controls as well. |
| A Multi-Page, Single-Document UI for MFC |
|---|
| Windows Developer's Journal, November, 2000 |
Excel is part of Microsoft’s move back to SDI (Single Document Interface). However, Excel still lets you open more than one file in more than one child window, so it’s really sort of an amalgam. This article provides a framework you can use to build Excel-style, multiple-page, single document user interfaces in MFC. |
| Enumerating/Calling Control Panel Applets |
|---|
| Windows Developer's Journal, May, 2000 |
Sometimes your application needs functionality that a control panel applet provides. For example, if your program needs to let the user set the current date/time, you could either tell them to manually use the control panel, or write your own dialog that duplicates that work. This article provides a third alternative: calling a control panel applet directly from your own application. |
| A Reusable Class for Setting the Default Printer (MFC Tech Tip) |
|---|
| Windows Developer's Journal, February, 2000 |
A class that handles all the registry fiddling required to set the default printer under both Win16 and Win32. |
| A Print Monitor Setup Utility |
|---|
| Windows Developer's Journal, January, 2000 |
If you start writing a print monitor, you’ll quickly get tired of the steps required to install and uninstall it. Here’s some reusable code to automate the task. |
| Managing Window Workspaces in MDI |
|---|
| Windows Developer's Journal, September, 1999 |
When your user interface can contain lots of MDI windows, users will likely want to be able to save and load window configurations. Here’s code you can use to add window workspace management to your MFC application. |
| Changing Printer Ports in the Registry (Tech Tip) |
|---|
| Windows Developer's Journal, August, 1999 |
This corollary to a previous tip shows how to modify the printer port in the registry and then have the change appear in the “Ports” dialog within the Printers applet without restarting NT. |
| Changing the Default Printer Port on NT 4.0 (Tech Tip) |
|---|
| Windows Developer's Journal, December, 1998 |
The Printers control panel applet doesn’t completely update the registry at the time you change the port of your default printer. This tip describes the problem and how to work around it. |