I like to try to use Wine to run Windows programs on Linux, but while Wine is awesome software and is always progressing towards total compatibility, in many regards it is a long ways away from that goal.
So, my solution has been to run Windows XP from within a virtual machine, putting up with the problems that go along with such an arrangement.
However, I recently discovered VirtualBox, and my problems disappeared. It's awesome software that was once proprietary, but recently was released as Free open-source software in order to improve its appeal to engineers and developers.
Here are some of its awesome features:
* It allows integrated mouse movement and clicking, such that you don't have to let Windows "capture" the mouse in order to track and respond to it. Thus, I can easily move between my Windows programs and Linux ones.
* It has an excellent integration mode, which gives me an extra Gnome panel that has the functions of Windows's bottom panel, and lets me run Windows programs side-by-side with Linux programs on the desktop without having Windows be locked up inside its own little box.
* It automatically sets up networking and allows me to share certain drives between Windows and Linux.
This combined with the fact that I have modded the crap out of XP to make it look like Ubuntu gives me an arrangement such that it's trivially easy to run Windows programs, with 100% compatibility, alongside my Linux ones on my desktop. Seriously, it's easy and it totally works.
Here's some screen shots.
Windows running in VirtualBox in windowed mode: http://img256.imageshack.us/my.php?image=ubuntuxpbo2.png
Windows programs and Linux programs living in harmony: http://img517.imageshack.us/my.php?image=ubuntuxpua4.png