Edited by spudw2k, 10 October 2008 - 03:32 PM.
Extract icon from running process
#1
Posted 10 October 2008 - 03:32 PM
Things I've Made: AUHistory ◊ Deck of Cards ◊ HideIt ◊ ICU◊ IconFreezer◊ IpodEjector ◊ LinkDownloader ◊ MD5 Folder Enumerator ◊ PingTool ◊ QuickNIC ◊ ReadOCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam
Misc Code Snippets: ADODB Example ◊ Detect SafeMode ◊ Local Admins ◊ MakeChoice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retreive SysListView32 Contents ◊ Set IE Homepage ◊ System UpTime ◊ Tickle Expired Password ◊ Transpose Array
Projects: Scan Engine Builder ◊ SpeeDBurner
Cool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ _Service_UDF
#2
Posted 10 October 2008 - 04:10 PM
I get most of my icons from here. Good selection, and usually free.
#3
Posted 10 October 2008 - 04:19 PM
Usually the exe will have the icon in it when it is compiled. However, depending on the program, you may be dealing with a dll file that host the icon. In either case, it will depend on what you plan to do with it. If you want to have it in your GUI, you can use GUICtrlCreateIcon. I have seen tools out there that can extract icons from dll files if that is the route you want to go. A third route is to go here for icons: http://www.iconarchive.com/
I get most of my icons from here. Good selection, and usually free.
http://www.nirsoft.net/utils/iconsext_setup.exe is also a good free program for extracting icons
#4
Posted 10 October 2008 - 05:27 PM
I've seen some tools to do this (some great ones even here written in AutoIt), but I was wondering if/how to grab that icon from a process that's running. Ultimately I'd lik to make a minimiz to tray tool. I realize this has been done, but I'd like to learn to code it myself.
Things I've Made: AUHistory ◊ Deck of Cards ◊ HideIt ◊ ICU◊ IconFreezer◊ IpodEjector ◊ LinkDownloader ◊ MD5 Folder Enumerator ◊ PingTool ◊ QuickNIC ◊ ReadOCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam
Misc Code Snippets: ADODB Example ◊ Detect SafeMode ◊ Local Admins ◊ MakeChoice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retreive SysListView32 Contents ◊ Set IE Homepage ◊ System UpTime ◊ Tickle Expired Password ◊ Transpose Array
Projects: Scan Engine Builder ◊ SpeeDBurner
Cool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ _Service_UDF
#5
Posted 10 October 2008 - 05:34 PM
#6
Posted 10 October 2008 - 09:47 PM
#include <StaticConstants.au3> $sProcess = "firefox.exe" $sIcon = _ProcessGetIcon($sProcess) If Not @error Then $iWidth = 400 $iHeight = 120 GUICreate("_ProcessGetIcon - Extract Icon From Process Demo", $iWidth, $iHeight) GUISetIcon($sIcon) GUICtrlCreateLabel("Extracted Icon: " & @CRLF & $sIcon, 0, ($iHeight/2) - (32/2) - 30, $iWidth, 30, $SS_CENTER) GUICtrlCreateIcon($sIcon, 0, ($iWidth/2) - (32/2), ($iHeight/2) - (32/2), 32, 32) GUISetState() While GUIGetMsg() <> -3 WEnd Else MsgBox(48, "Attention!", "Error - Process (" & $sProcess & ") probably not runing!") EndIf Func _ProcessGetIcon($vProcess) Local $iPID = ProcessExists($vProcess) If Not $iPID Then Return SetError(1, 0, -1) Local $aProc = DllCall('kernel32.dll', 'hwnd', 'OpenProcess', 'int', BitOR(0x0400, 0x0010), 'int', 0, 'int', $iPID) If Not IsArray($aProc) Or Not $aProc[0] Then Return SetError(2, 0, -1) Local $vStruct = DllStructCreate('int[1024]') Local $hPsapi_Dll = DllOpen('Psapi.dll') If $hPsapi_Dll = -1 Then $hPsapi_Dll = DllOpen(@SystemDir & '\Psapi.dll') If $hPsapi_Dll = -1 Then $hPsapi_Dll = DllOpen(@WindowsDir & '\Psapi.dll') If $hPsapi_Dll = -1 Then Return SetError(3, 0, '') DllCall($hPsapi_Dll, 'int', 'EnumProcessModules', _ 'hwnd', $aProc[0], _ 'ptr', DllStructGetPtr($vStruct), _ 'int', DllStructGetSize($vStruct), _ 'int_ptr', 0) Local $aRet = DllCall($hPsapi_Dll, 'int', 'GetModuleFileNameEx', _ 'hwnd', $aProc[0], _ 'int', DllStructGetData($vStruct, 1), _ 'str', '', _ 'int', 2048) DllClose($hPsapi_Dll) If Not IsArray($aRet) Or StringLen($aRet[3]) = 0 Then Return SetError(4, 0, '') Return $aRet[3] EndFunc
==========================================================
AutoIt Russian Community
Projects: ATT - Application Translate Tool [new] | BlockIt - Block files & folders [new] | SIP - Selected Image Preview [new] | SISCABMAN - SciTE Abbreviations Manager [new] | AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize Program
UDFs: OnAutoItErrorRegister - Handle AutoIt critical errors [new] | AutoIt Syntax Highlight [new] | Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF
Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation DemoLike the examples/UDFs? Please rate the topic (up-right corner of the post header: Rating
)* === My topics === *
==========================================================AutoIt is simple, subtle, elegant. © AutoIt Team
#7
Posted 10 October 2008 - 10:26 PM
Things I've Made: AUHistory ◊ Deck of Cards ◊ HideIt ◊ ICU◊ IconFreezer◊ IpodEjector ◊ LinkDownloader ◊ MD5 Folder Enumerator ◊ PingTool ◊ QuickNIC ◊ ReadOCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam
Misc Code Snippets: ADODB Example ◊ Detect SafeMode ◊ Local Admins ◊ MakeChoice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retreive SysListView32 Contents ◊ Set IE Homepage ◊ System UpTime ◊ Tickle Expired Password ◊ Transpose Array
Projects: Scan Engine Builder ◊ SpeeDBurner
Cool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ _Service_UDF
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users







