March 8th, 2016

If what you’re doing is undocumented, it’s not guaranteed to keep working, and your promise not to complain doesn’t really hold water

A customer (via their customer liaison) wanted to know how their application can control another application’s common dialogs.

They have code that works on Windows XP that extracts the common dialog history from an undocumented registry key, then edits the history in order to inject themselves into it. It all works great. But on Windows 7, the structure of this registry key changed, and they cannot figure out how to reimplement the feature. Can you tell us where Windows 7 stores this information, and how to decode it, and how to re-encode the desired replacement data? Thanks!

The feature you desire is not supported. Mucking about in undocumented registry keys is not supported. The implementation can change at any time, and as your customer noticed, it did.

The customer liaison replied,

Yes, I was afraid that this was the case. But maybe somebody can tell us how to do it anyway. I have already told the customer that what they are doing is unsupported and can change at any time. I can provide a strong warning that this is something they should not be doing.

I replied, “The strong warning didn’t help last time, when they complained that their trick stopped working in Windows 7. There’s no indication that they won’t complain again when they test on Windows 8 and found that the keys changed again.”

The customer liaison conceded, “Good point.”

Topics
Code

Author

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

0 comments

Discussion are closed.