I'm using the latest version of cpuminer on a quad core cpu. How can I tell it which physical cores to use, 2 threads uses 1 and 2 but I want it to use 3 and 4 instead as I have other things using core 1 and 2 which are not optimised for more than 1 cpu core.
Don't worry about it, just let your OS take care of the scheduling. As long as you're not trying to run more CPU-bound threads than you have cores, you'll be running as efficiently as you can. Even a single threaded program will bounce around between cores (you can see this by looking at a CPU usage graph, and your single threaded program will probably use 25% of each of a quad core system on average).
CPU mining for what, Primecoin? Sure the CPU can mine however, with GUIMiner you can use CPU OR GPU
Use the GUIMiner tool or GuiMiner-scrypt, very easy to check/uncheck cpus , or write a quick batch file that does this.
I would not let windows do this, as all the people mining with open rigs are using config files like bat on windows or other files on linux etc..