Well, first off you need an Icon maker.
Theres some nice freeware Windows XP ones out there. Just give a search on google for "Freeware Icon maker" or something simular. Make sure you use "Freeware" since using "free" tends to give really annoying ads and junk that you really dont want.
If you really wanna buy a program Id suggest getting Microangelo. Its one of the best ones ive seen.
Though in the Windows 3.1 days I used to be told that it could be done with a paint program and some windows app. Though I never got that to work too well anyway.
Now for changing the icon certain file types.
Thats the easy part.
Just open any folder window, say "My computer"
then click on the "Tools" drop down menu on the top of it. Click "Folder Options"
Hit the "File Types" tab and then search for the file type your looking for.
Once you find say ".gba" (you can click anywhere in the list window and hit the G key on your keyboard to quickly skip to the G part of the list) then click on the name with its small icon next to it.
Hit the "Advanced" button to bring up its window.
You'll then see the "Change Icon" button.
Click that and point it to any .ico .icl or even .exe file with the icon you want to use. It'll let you pick from a list if an icon file has more than one icon in it, so dont worry about making mistakes.
Then after that your icon should be changed for all files of that file type.
I hope that helps ya out.
If your still confused just ask me, and if you still have trouble I'l make a small animated GIF to show the process.
Oh also, some programs like Visual Boy Advance has an option to assign all GBA and GB and what not to run on VBA when they are double clicked. It even gives them nice little icons with a GBA in em.
You should be able to find that one on your own. Its in the emulator options and all.
Well, have fun messing with your icons xD