Automated Password Reset in Clarify Classic Client: an experiment

I’ve shown in the past how we do Password Resets in our web applications.


I was playing around with something today, so I’m just throwing it out here.


Big caveat: I’m not a native Windows forms programmer. Not in the least. What I’m doing is probably stupid, unsupported, and dangerous to your health. But what the hell. No guts, no glory.



But what about the Clarify Classic Client?


How can we do automated password resets in the Clarify Client? In the baseline app, you can’t.


When your login fails in the Clarify Client, you’re presented with this:



OK, great. It failed. And I forgot my password. So what now?

Can we make it suck less?


Well, what if we gave the user some more info?


For example, on the login form, give them a place to go if they forgot their password, like so:



And we could so something similar in the login failed message box:




Password Reset web page


The URL could take them to a password reset web page, like so:


How did I do this?


I opened the Clarify resource DLL (clres80.dll from the Clarify Client directory) using ResEdit (you can also use Visual Studio), and edited the embedded resources.


I added a groupbox and a static text element to the Login dialog (dialog number 132), and edited the Login failed string (string number 2039). Saved the DLL. Start Clarify.


Pretty simple, really.



I wanted that URL to be a hyperlink that users could click on. A static text element doesn’t allow for hyperlinks. I tried adding a MFC Link control (which is essentially a hyperlink) using Visual Studio, but this just caused Clarify to immediately crash on startup. My guess is it’s something to do with that DLL or resource not being setup for use with MFC. Again, this is where my inexperience with Windows C++ forms programming comes into play. In case it matters, I’ve tried with Clarify Client version 11.5 and 12.5 (both 32-bit) and I’m running Windows 7 64-bit and VS 2010.

Your thoughts/comments/suggestions?


Anyone out there tried anything like this before? Gotten things to work? Have better suggestions? Advice on adding a MFC Link control? Feel free to tell me this is totally a bad idea. I can take it.


As I said, I was just experimenting a bit here. Some experiments turn out better than others.