if you previously played bf2 on your laptop using an external monitor and you set the resolution to a setting that is not supported by your laptop, you will not be able to launch the game. i found this out the hard way after numerous installation attempts because the "incompatible" resolution settings were still saved in the games settings, even after a re-install.
if you can hook up an external monitor to the laptop, and set that up as the only monitor active, then try loading BF2. if it loads, set the resolution to something compatible with your laptop.
this is a bug in the game and it drove me crazy, heh.