5,317,180 members and growing! (21,474 online)
Email Password   helpLost your password?
Desktop Development » Shell and IE programming » General     Intermediate

WinDiff (or WinMerge), the way you want it!

By Shaun Harrington

A shortcut menu extension (and drag drop menu extension) that makes it eaiser to use WinDiff.
C, VC7, VC7.1, VC8.0, C++Windows, NT4, Win2K, WinXP, MFC, VS.NET2003, Visual Studio, Dev

Posted: 16 Sep 2004
Updated: 20 Jul 2006
Views: 88,247
Announcements
Want a new Job?



Search    
Advanced Search
Sitemap
19 votes for this Article.
Popularity: 5.54 Rating: 4.33 out of 5
3 votes, 15.8%
1
0 votes, 0.0%
2
0 votes, 0.0%
3
2 votes, 10.5%
4
14 votes, 73.7%
5

Sample Image - wdcmx100.jpg

Preface

It is sad that I have to do this, but here we go anyway... this is not an advertisement or endorsement for WinDiff... so don't get your panties all up in a bunch and start harping on what you like or don't like about WinDiff. This project can be easily tweaked to work with any program that takes two paths as command line arguments. I just picked WinDiff because my boss uses it, it is free, and it worked the way I needed it to.

Introduction

WDCMX is a derivative of CMDCMX, which I wrote way back in 1996. Everyone seems to like CMDCMX, so I figured I would share WDCMX too.

As a code example: WDCMX demonstrates an MFC based shell extension implementation. In addition, uses of GetShortFileName(), BrowseForFolder(), and GetOpenFileName() are included. A cool thing to check out is, how I use the BrowseForFolder callback to make the the tree control pre-select a directory.

As a utility: WDCMX allows you to select files (or folders) from within Explorer and pass them to WinDiff.

Using the Utility

Right-click on file and folder items from within Explorer, and select the 'WinDiff' menu item. The first item to compare is indicated by the item you right-clicked on. The second item is indicated by using the browse dialog presented to you after selecting the "WinDiff" menu item.

Using the Code

The current source archive provides a self-contained solution (WinDiffTool.sln) that includes four projects. From these four projects are built context menu handlers and dragdrop menu handlers that target WinDiff and WinMerge. Select either the Release or Debug targets, and build the solution. The deliverables are built into common "debug" and "release" directories off the base directory. You may want to change these outputs to the locations of the respective diff/merge tools for testing.

Look for GetShortFileName, BrowseForFolder, and GetOpenFileName in wdcmx_menu.cpp to see an example of how they are used.

History

  • Version 1.01

    Posted on July 18, 2006 - MFC is linked static... the MFC redistributables are no longer required.

  • Version 1.00 b

    Posted on September 28, 2004 - Includes the drag and drop component suggested by Jean-Francois Larvoire.

  • Version 1.00

    Posted on September 16, 2004.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Shaun Harrington


16yrs of GUI programming experience gained at: (most recent first) BlackBall, Veritas, Seagate Software, Arcada, Stac, Mountain, and Emerald Systems.

Languages/Scripting: C, C++, JAVA, BASIC, JAVASCRIPT, HTML, XML, PHP, and SQL

Tools: MS Visual Studio, MS Visual SourceSafe, CVS, PVCS, Bounds Checker, VMWare, ToDoList, InstallShield, and Office Applications

Libraries and API: RTL, STL, WIN32, MFC, ATL, .NET, ActiveX, DirectX, COM, DCOM, Shell Extensions, and Shell Namespaces

Strengths: Honest, communicative, keen eye for usability, good at estimating workload and completion dates, ready to take on grunt work, team player, experienced working with QA, localization, Tech Pubs, Sales, and Marketing teams.

Occupation: Web Developer
Location: United States United States

Other popular Shell and IE programming articles:

Article Top
Sign Up to vote for this article
You must Sign In to use this message board.
FAQ FAQ Noise ToleranceSearch Search Messages 
 Layout  Per page   
 Msgs 1 to 25 of 41 (Total in Forum: 41) (Refresh)FirstPrevNext
Subject  Author Date 
GeneralBrowseForFolder tip works great!memberholastefan18:34 25 Jul '06  
GeneralRe: BrowseForFolder tip works great!memberShaun Harrington1:12 26 Jul '06  
JokeWinPORNmemberJeremy L-T22:52 24 Jul '06  
GeneralRe: WinPORNmemberShaun Harrington4:14 25 Jul '06  
GeneralDragDrop implement for CPropertyPagemembercpp_prgmer2:02 21 Feb '06  
GeneralSend TomemberzPilott19:20 2 Sep '05  
GeneralRe: Send TosussAnonymous6:40 6 Sep '05  
GeneralRe: Send TomemberzPilott8:04 6 Sep '05  
Generalthanksmemberackka6:21 29 Sep '04  
GeneralRe: thanksmemberShaun Harrington7:30 29 Sep '04  
GeneralWindiff!memberTVman23:31 28 Sep '04  
GeneralRe: Windiff!memberShaun Harrington7:29 29 Sep '04  
GeneralDrag Drop Handler...memberShaun Harrington17:30 28 Sep '04  
GeneralRe: Drag Drop Handler...memberhiforce3:47 12 Nov '04  
GeneralRe: Drag Drop Handler...memberShaun Harrington4:49 15 Nov '04  
GeneralBeyond ComparesussAnonymous0:30 17 Sep '04  
GeneralRe: Beyond ComparememberShaun Harrington6:23 17 Sep '04  
GeneralRe: Beyond ComparesussAnonymous0:52 20 Sep '04  
GeneralRe: Beyond ComparememberShaun Harrington6:37 20 Sep '04  
GeneralRe: Beyond ComparememberShaun Harrington10:37 23 Sep '04  
GeneralRe: Beyond ComparesussAnonymous23:44 26 Sep '04  
GeneralRe: Beyond ComparememberShaun Harrington6:18 27 Sep '04  
GeneralWinMergesussAnonymous21:41 16 Sep '04  
GeneralRe: WinMergememberShaun Harrington6:13 17 Sep '04  
GeneralRe: WinMergememberShaun Harrington6:27 17 Sep '04  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 20 Jul 2006
Editor: Smitha Vijayan
Copyright 2004 by Shaun Harrington
Everything else Copyright © CodeProject, 1999-2008
Web10 | Advertise on the Code Project