Sign in to follow this  
Followers 0
eviloverlord

Dynamic Icon Changing In External Application

4 posts in this topic

I need to modify the icon of an external application whilst it is running. Does anyone know how to do this? I imagine I will have to use rundll to access the windows API but con't seem to find any relevant API function to call.

For background, I run a windows (non-autoit) application that opens several windows that all have the same icon. This makes transferring between windows with ALT-TAB a slow process as all the windows look the same until I read the title.

I want to develop an autoit script that changes the icon of some of these windows so I can see different icons immediatly when I use ALT-TAB to switch between windows.

I've tried using GUISetIcon passing the handle of the window but it just returns 0 so I assume it only works on windows created by AutoIt.

Oh, and modifying the other application is not an option - it's a third-party program with no source code available.

Any ideas?

Share this post


Link to post
Share on other sites



The GUI functions are for AutoIts GUI's not external ones (would be kind of cool though).

If possible... (which I kind of doubt individualizing them is), I'm sure it would be a DLLCall().

ZeroCool has posted a similar question in the past couple of days, maybe you'd like to follow that thread to see where it develops.


[center]Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.[/center]

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

The GUI functions are for AutoIts GUI's not external ones (would be kind of cool though).

If possible... (which I kind of doubt individualizing them is), I'm sure it would be a DLLCall().

ZeroCool has posted a similar question in the past couple of days, maybe you'd like to follow that thread to see where it develops.

ZeroCool's question is not quite the same as he wants to change the icon resource in an exe. I have tried that with reshacker but there is a single icon resource shared between all the windows this application opens.

Altering the icon in the exe simply changes ALL the window icons to that new icon. I want each window to have individual icons. To do this I need to change the icons dynamically whilst the application is running.

For this reason I need to assign a new icon to a specific window handle. From what I've researched online I need to do the following but via AutoIt or rundll32:

http://cboard.cprogramming.com/archive/ind...hp/t-26427.html

I've tried running the following on the command line without success (followed by an autoit script to hide/show the window):

C:\WINDOWS\system32\rundll32.exe user32,LoadIcon,0x00400402,C:\WINDOWS\system32\SHELL32.dll,13

Edited by eviloverlord

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0