Changing the properties of a DLL

Here's the situation.  We're using a 3rd party software product which is no longer being supported.

In a certain part of the application, the user is asked to choose between two radio buttons.   However, we don't want the users to make this choice:  we always want them to choose the 1st of the two radio buttons.

Now we know the DLL file this screen is contained within.  What we'd like to do is somehow access this DLL (we know it's written in VB 6.0) and set the properties of the one radio button to be NOT visible.  

We have ZERO access to any source code, and the company that bought our vendor no longer supports this product and is asking some astronomical amount of money to fix this issue.  

Any hints, tips or suggestions are greatly appreciated.  
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

You could use code like this to find the handle to that radio button:

And then you use something like this to hide it:

Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_HIDE = 0

'hide button
Call ShowWindow(radioWindowHandle, SW_HIDE)

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Anthony PerkinsCommented:
Please maintain your open questions:

1 10/06/2003 250 Lotus Notes agent to download entire doc...  Open Lotus Notes
2 09/29/2003 333 Forwarding emails is slow  Open Lotus Notes
3 09/12/2003 250 Network Neighborhood information...  Open Windows NT Networking
4 08/20/2003 404 Parse an XML file and split it into smal...  Open XML

EschbacherGAuthor Commented:

Those questions are still open because they haven't been satisfactorily answered.  But thanks for the unfriendly reminder.

As to my current question, I have found a tool that might, and i'm wondering if anyone had similar experiences with it.

It's called PE-Explorer.  It's a disassembler for portable-executable files, and it allows you to edit some of the resources.  On DLL's related to AOL instant messenger, I was able to see and edit various popup screens.  Not as much luck with my DLLs.


We initially looked into something along your suggestions.  What we had was a program running in the background that would periodically grab handles to windows, and by comparing the window title, we could tell if the users were where they belonged.  (If they selected the wrong radio button, it would bring them to another window).

However, our management described this as being too much of a "kludge", and in our production environment, it was decided that having programs watching programs added to elements of instability.  

Does anyone else have experience with editing resources?  I've tried a few programs (Resource Hacker) as well as just looking at the Hex code, but couldn't find anything good.

Thanks for any assistance!
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

Anthony PerkinsCommented:
>>Those questions are still open because they haven't been satisfactorily answered.<<
The chances that someone will answer a question that is nearly 3 months old is exaclty 0.
Questions that have gone more than 21 days without feedback are considered technically abandoned.

>>But thanks for the unfriendly reminder.<<
I am sorry you feel that way.  Feel free to post a message in Community Support, if you believe my comments are inappropriate.  If not please, please go ahead and maintain those questions.

"Reading Data from Local or External Library Resources"
Anthony PerkinsCommented:
Thank you for maintaining your open questions, but I believe you may have overlooked these two:

1 08/20/2003 404 Parse an XML file and split it into smal...  Open XML
2 09/12/2003 250 Network Neighborhood information...  Open Windows NT Networking

Anthony PerkinsCommented:
And now we are just down to this question and this other one:

I appreciate the effort keeping up with your open questions.
EschbacherG, an EE Moderator will delete this for you.
Moderator, my recommended disposition is:

    DELETE this question (refund points).
    *** AzraSound's link shows how to read, but not change a resource.
    *** No PAQworthy answer here.

Dan Rollins -- EE database cleanup volunteer
To be honest, I never understood the logic behind accessing/changing resources since the issue was with hiding a radio button.
EschbacherGAuthor Commented:
My original hope was that there was a way to view and change the resources within a DLL, allowing us to disable the radio button in question.   While Azra's recommendation looks good, it would require an external program peeking into to disable it.    We currently have a temporary fix like that:  we have a program that constantly monitors for a Window title that is the title that appears if the user clicked on the wrong radio button.  The problem is the client thinks of this as a real kludge, and was looking for a cleaner way.  

In the end, we opted for a very simple solution:  a big email out to our user population reminding them to never click it.   We are also upgrading our software to a newer version, and the vender has taken our recommendation and implemented it.  

(FYI:  The real this is a big problem is that the software is used to reconcile point-of-sale transactions, involving  large checks that get mailed in to a large city government.  By choosing the wrong radio button, it changes the way the money is reconciled, messes up the nightly batch job and the generated reports).  

Thanks again for your assistance guys.  
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.