Windows File Dialog magic (needs updating to new Windows).
C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Release
icons
LICENSE.txt
README.txt
manifest.xml
openwide.c
openwide.h
openwide.ppj
openwide.rc
openwide_proto.h
openwidedll.c
openwidedll.h
openwidedll.ppj
openwidedll.rc
openwidedll_proto.h
openwidedllres.h
openwideres.h
owDLLInc.h
owDLLUtil.c
owSharedUtil.c
owSharedUtil.h
owUtil.c
owUtil.h
psDlg.c

README.txt

Openwide is written in C using the Win32 API, so no Microsoft class
libraries.  I use C because there are some good free C compiler/IDEs and I
haven't found the C++ ones as easy to use.

To compile it, you'll probably want to use the PellesC free IDE.
Some fiddling with the project files (.PPJ) may be required.  These are
essentially Makefiles, in any case.

I used the Win32 API SetWindowsHookEx to set up a WH_CBT hook which watches for
opening windows.  When a window opens I check the title and window styles in
order to determine whether it is an Open/Save dialog box.  If it is (or rather,
if my program THINKS it is), then I subclass the window procedure.

In my subclassed window proc. I set a timer for a short duration, then pass
control back to the original dialog proc. This allows the dialog to initialize
itself, as I discovered that setting things immediately did not work.  I then
send the dialog appropriate messages to set up things the way we want them.

This is the briefest possible introduction to the workings of the program!