<Nouvelle Attribution d'îcone>

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

<Nouvelle Attribution d'îcone>

Message par Fortix »

Bonjours à tous, ( :twisted: je suis de retour!, ah ah ah...), j'aimerais savoir (s'il vous plaies!) Comment faire pour appliquer l'îcone que je viens de capturer avec le code ci dessous! à une application
que j'aurais déjas désigné et qui s'appelle "MonEXE.exe", en fait, c'est possible qu'il y ait des fautes dans le code, si par la même ocasion vous pouvez me les signaler
vous serrez vraiments sympas, et je tiens à préciser que vous ne devez pas vous sentir obliger de répondre, merci beaucoup au cas où!! a+ :D

Code : Tout sélectionner

Procedure.l GetFileIcon(Filename.s, IconSize.l) 

	Protected IconID.l, Open.l, KeyID.l, Small.l, Large.l 
	Protected KeyName.s, Length.l, Count.l, Index.l, Value.s 
  
	KeyName  = GetExtensionPart("." + Filename) 
	Filename = #NULL$ 
  
	If KeyName 
		KeyName = "." + KeyName 
    
		Open = RegOpenKeyEx_(#HKEY_CLASSES_ROOT, KeyName, #Null, #KEY_ALL_ACCESS, @KeyID) 
    
		If Open = #ERROR_SUCCESS 
			KeyName = Space(#MAX_PATH) 
			Length  = #MAX_PATH 
      
			RegQueryValueEx_(KeyID, #NULL$, #Null, #Null,  @KeyName, @Length) 
			RegCloseKey_(KeyID) 
      
			KeyName + "\DefaultIcon" 
			Open = RegOpenKeyEx_(#HKEY_CLASSES_ROOT, KeyName, #Null, #KEY_ALL_ACCESS, @KeyID) 
 
    
			If Open = #ERROR_SUCCESS 
				Filename = Space(#MAX_PATH) 
				Length   = #MAX_PATH 
      
				RegQueryValueEx_(KeyID, #NULL$, #Null, #Null, @Filename, @Length) 
				RegCloseKey_(KeyID) 
      
				Filename = Trim(Filename) 

  
				If Filename = #NULL$ 
					Filename = "shell32.dll,0" 
 
  
					Length = Len(Filename) 
					Count  = CountString(Filename, ",") + 1 
					Value  = StringField(Filename, Count, ",") 
					Index  = Val( Value ) 
  
					Length   - (Len(Value) + 1) 
					Filename = Left(Filename, Length) 
  
					ExtractIconEx_(Filename, Index, @Large, 1) 
  
					If If IconSize & #SHGFI_LARGEICON
						IconID = Large 
						 
					EndIF
				EndIF
			EndIF
		EndIF
	EndIF

ProcedureReturn IconID 
EndProcedure 

;Essait de la capture de l'îcon par "LargeIcon":

LargeIcon = GetFileIcon("mpeg", #SHGFI_LARGEICON)