Pokerroom.com works online.
There's a java based online poker game (play money) at
http://games.cs.ualberta.ca/webgames/poker/ its against some pretty tough bots developed at the University of Alberta so its pretty good for improoving.
There are also a couple of shareware programs.
Adaptive Poker:
http://www.rexbot.com/
DD Tournament Poker:
http://games.donohoedigital.com/poker/ (I believe this is only no limit mock tournaments, in which case its pretty useless for improoving your limit game so you can kick butt at your local 3-6 table.)