Just re-install all your core drivers and the game, then scan for viruses. Also close any crap you dont need int he background. If you still have issue's then it's too much of a pain in the *** to even worry about. BF2142 isn't that great anyway.
Did u get a message saying u were missing a specific dll? because i did when that happened to me, i would never have known if i didnt see something flash and went and alt tabbed. Check if u have this .dll file in your folder where bf2142.exe is located
the .dll file is:
d3dx9_29.dll
If this happened then that would fix the problem the file path is:
C:>ProgramFiles>(where u installed bf2142 EAGAMES folder maybe)> Bf2142> then the bf2142.exe file should be in this folder and if u dont have d3dx9_29.dll then download it from here: