If you are running windows 98, you could try running system file checker or even just extracting the gdi.exe file from the win98 cd or from c:\winodows\options\cabs.
If you run system file checker, it will check all of your system files, exe, dll, etc and determine if they have changed from their original config.
To run system file checker, go to start>run and type in sfc, hit enter. The choice for "scan for altered files" is the default choice, click on scan now.
If SFC finds a file that has been altered, ie corrupted, it will stop the scan and prompt you whether you want to fix it or not. Click on, I cannot remember right off if it's fix or restore. I will prompt for restore from, and restore to location. The restore to in most cases will already be populated, the restore from may vary. Try c:\windows\options\cabs first, you can browse to it.
At the next step, it will prompt to backup the original file, it's optional, I usually hit skip. If the restore is sucessful, it will continue scanning.
To just extract a clean copy of the gdi.exe, when sfc comes up select the option "extract one file from installation disk" and click next. It will have a restore from and restore to, in most cases the restore to will be populated. For the restore from, or extract from, you once again can choose the cd, example d:\win98, or from c:\windows\options\cabs. Click the next button, or extract file. If asked about a backup of original file, I choose skip, but you can go ahead and back up the old one.
Most likely it will tell you to reboot.
I am an advid user of the system file checker in windows 98 and have also used it in Windows ME.