First for the USB printers (non Wifi)
I've posted on this before but to share Printers attached to XP computers with either X-64 or X-32 versions of W7 is SIMPLE. These instructions are for the Printer attached to the XP machine (but works in reverse as well).
("Stand alone" Network printers can be done slightly similarly BTW).
assume the computers are call XPMACHINE and W7MACHINE.
1) Ensure Printer on XP machine is shared - assume it's called SHAREDPRINTER.
2) On the Network Browsing on your W7 machine ensure you can "See" the Printer share.
Now on the W7 machine do the following (doesn't matter if it's X-86 or x-64).
3) Control Panel==> add LOCAL (Yes LOCAL) printer. I know it's on a Network but hold your horses -- what we are actually doing is "Poodlefaking" the W7 machine into thinking it's running the printer.
4) Create NEW port==>Local port
5) Portname is \\XPMACHINE\SHAREDPRINTER
6) Now W7 will load a driver and you'll be able to print on the XP machine.
If the printer is on the W7 machine and you want to print on the XP machine then do the same instructions on the XP machine --
port name in this case will be \\W7MACHINE\SHAREDPRINTER
If this is a Network / WiFI printer run this on ALL the computers who need access to the printer
Start at 3) - you don't need a printer name in this case just the IP address on the LAN.
at 4) chose TCPIP port
and at 5) enter the IP address of the printer on your LAN.