this is usually a mismatch between Wifi chipset and router chipset.
this mismatch can be an incompatibility or it can be due to the fact that they have different capabilities.
things that help
1) change the security method to something old and simple WEP
2) all laptops use Power Saving. Do everything you can to force this NOT to happen. see Power Scheme, and some bios options.
3) and the ADVANCED setting for the properties of the Wifi. There will be about 50 of them and some are to do with altering speeds. These are often like multi choice settings which you can force one way or another to prevent the card being so flexible. If you know about any of these features and know you dont need some of the more flexible settings then try adjusting them(as a last resort only)
4) make sure the laptop is powered as that will prevent battery power saving features
5) inside the router each wifi device is given an IP. to prevent switching problems its HIGHLY DESIRABLE for each device to ALWAYS have that ONE IP value ALL THE TIME.
you do this by looking at the connected stations list(your devices) and usually this table has a box that says something like ALWAYS USE THIS IP. TICK THEM ALL.
The table is sometimes elsewhere, and cna be incorporated into the MAC Address Filter table. That is another security feature preventing others connecting to your wifi.
What this does is, when windows turns off the wifi, it has to turn it on again later. because you are continuously tripping up it re-allocates the device a new IP. this takes ages, causes a mismatch in security credentials and can give either
a) connected....but NO data flows
b) not connected , re-connects(dont work),reconnects(dont work)
so try and work out how to FIX the IP for each device.
Although you can also do this manually inside each device, most people screw that up and dont want that if they take their device to other locations.