I have a small .NET app that I would like to convert to win32 native c++.
Basically every 20 minutes it checks to see if a browser is currently open and if it is sends a ssl POST back to my server with the most recently seen url. A url is returned -- that url should be then opened via the browser that the last url was from. The timer expires for the day after 4 times. Then it is resumed the next day. These values are currently stored in the registry but feel free to put them in a flat file somewhere. For now the ssl is a self-signed certificate so you will need to set the appropriate ignore flags.
The last url grabbing feature is currently supported for the following browsers: {chrome, safari, ie, firefox} -- both firefox and chrome need access to a sqlite database to see what the last visited url was. (fyi)
Upon install a unique id (32 alphanumeric characters) is assigned to the computer and stored inside a registry key. This key is sent along with EVERY request as an http header 'IDENTITY'. The operating system version and browser name and browser version should also be sent as the USER-AGENT header. Also, please set a SOFTWARE_CLIENT header to differentiate this particular software from others -- it may be set to anything you wish.
Also, upon install a copy of the program should be copied to the LocalAppData folder and the registry key for auto-start should be set.
All errors should be POSTed to an appropriate url for logging.
All data sent as parameters in the POST request need to be base64 encoded.
This software should not have a dialog and should not be present in alt-tab as it is a background process.
There needs to be an updater component as well. The updater should be downloaded from the site upon install and be put in the auto-start registry. Upon boot the updater will check for newer versions and if exists -- download the latest, kill the old process, and then re-start the new one.
I will provide the old .NET code if you wish for this and will provide the appropriate server and urls to send the POSTs/GETs to. I wish for you to develop on your own server but we can test on one of our existing servers to ensure that the end product meets all of our goals.
This software needs to work on all versions of windows from xp/2k --> win7.