GIMP is the first thing that comes to my mind for converting something into ICO.
Various other image viewers do the job; like IrfanView or FastStone I think.
Or you could simply google an online bmp to ico converter...
Are there any alternatives to this? Like system calls? I'm interested as well, because I'm wrapping winapi, but I don't want to have 13+ parameters just for the App Icon the Alt+Tab Icon and the Background??
The executable's main icon is automatically tied to everything that Windows shows you, including Alt-Tab and the like.
In other words, if your executable has a proper icon resource, then you don't need to worry about it anywhere else.
I mean i have a wrapper where I accept an id to the icon resource as parameter to and
I don't want to have to pass a struct in just to create a window that has the HICONS that I want to be displayed at the top left/menu/etc. I would like to do it as a system call, as to avoid using/learning the .RC file format, or having to write .RC files everytime I make a new application.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
//uses resource id's to link .ico file
bool RegClassEx_wrapperexample(WNDCLASSEX* pClassOut,...,
UINT Id_appIcon, UINT id_appIconAltTab, UINT id_menuresource, possible_struct* in );
//and I have a wrapper function that calls the above function
HWND MakeWindowEx_wrapperexample(constchar* title, INT xpos, INT ypos,void* hProc, HINSTANCE hAppInstance,...,5-6 other params, possible_struct* in);
Creating a window really isn't that difficult a process. Further, you shouldn't have to care anything about resource files when you do -- just specify the resource ID of the icon -- which should be the same for every program (unless you want multiple icons and want to choose a different one than the default).
Which brings us back to ResHacker. Compile your app with the standard create my window with the default icon resource number. Use ResHacker to change the icon in your executable. Everything else falls in place for you.
Unless I completely misunderstand what you are trying to do,
Hope this helps.