For PIC programmer, last time I used WinPic
http://www.qsl.net/dl4yhf/winpicpr.htmlI suggest you to make a second attempt to build yourself.
The basic blocks you need are
1) 5V power supply (built from an AC-DC adapter, connector for DC power jack, 7805 regulator + electrolytic capacitors)
2) Parallel port connector + 4 to 6 wires of 1 meter each
3) Protoboard and the PIC chip
4) Supporting circuit. I can design a simple one for you, after you tell which PIC chip you want to program. Generally there are two solutions. One is using a logic chip that can tri-state eg. 74HC244. The other is using a few NPN transistors and a few resistors. Then recently I tried a third solution, throw away all the supporting circuit stuff and connect directly to the parallel port, utilising the bidirectional data capability. We cannot use WinPic in the third solution but I wrote my own program. In the third solution, the only components needed are three 220pF capacitors.
Since most of the PICs have two programming modes, first one requires 13V but the second mode doesn't require, we don't need to provide 13V. The supporting circuit is really simple. All you need to do now is get the items 1) 2) 3) above ready, then state the part number of your PIC chip. And whether you choose solution one: logic chip; or two: npn transistors, eg C945, C9013, BC547, 2N3904