About two weeks ago I introduced the Unchecky program. In this period of time, Unchecky was translated to 8 languages, the Unchecky website was translated to 3 languages, Unchecky was reviewed by numerous well-known websites, and I’ve received lots of positive feedback.
But Unchecky has one important limitation, which was raised right after Unchecky was released – It can’t handle the web. While most programs present their offers in the installation process, some are showing a checkbox in the browser, before downloading. And obviously, this checkbox is checked by default.
Why Unchecky can handle native application, but not the web?
There are a number of reasons why handling a checkbox in a browser is more troublesome than handling a checkbox in a native application:
- There is more than one browser. At the minimum, Internet Explorer, Firefox, and Chrome have to be supported before claiming that Unchecky indeed supports the web.
- I have no experience in writing browser add-ons. Actually, I bet handling an HTML page is much easier than handling a native Windows dialog. But the thing is I don’t have any experience with browser add-ons, and that’s why I’m writing this post.
In spite of the mentioned above, I decided to try and implement a Browser Helper Object (BHO) for Internet Explorer. After lots of poking in the dark, I came up with a POC implementation which is able to uncheck a checkbox, but is not something ready for a release. I’m not sure how correct it is, and there’s no way to check the offer if the user really wants to as the BHO uses a timer. The code can be found in the unchecky-bho GitHub repository.
Are you familiar with BHO and/or ATL? It will be great if you could review my code, and implement a confirmation message box. I believe it should be fairly easy for someone familiar with the API.
Do you have experience with writing add-ons for Firefox and/or Chrome? I’ll happily accept an implementation of the above for Firefox and Chrome browsers. Please contact me if you’re willing to contribute.