Solution:
Make a batch file with this:
ping 192.168.0.1 -n 1 | find /i "bytes=" || goto Fail
goto Online
:Fail
netsh wlan connect ssid=WirelessName name=WirelessName
:Online
with the highlighted portions edited for yourself.
Then add a task in task manager to run this Daily with a 5 minute repeat every 24 hours.
It pings your wireless router, and if it gets now response it executes the stuff under ":Fail" and reconnects your wireless connection. (192.168.0.1) should be replaced by its address. Type it (or common variations 192.168.2.1, 192.168.10.1) into your web browser adress bar to verify.
WirelessName should be replaced by the SSID (Network name) and the name of the profile for it (Usually the same, sometimes will have a number after it i.e. WirelessName1, dlink1, learn2edityourSSID3 etc)
This should work on Windows 7, and Vista as is, slightly changed MAYBE?
I made half of this post pretty
condescending newbie friendly, maybe I'll finish the job later.