icoon. In dit document wordt een functie kan je op een of andere documenten op basis van het dossier van de uitbreiding de door de geassocieerde internationale grondstoffenorganisatie (dat wil zeggen ongeacht of het dossier op diskette of niet), en, extractassociatedicon, een aanvraag of een document kunnen we gebruik maken van het API (shellapi icoon in de eenheid aangegeven):,,, de functie extractassociatedicon (HINST:HINST; lpiconpath:PChar vormen;,, lpiicon:VaR woord): Wellcome; stdcall;,,, de toepassing van HINST,:.Deze waarde is opgenomen in de definitie van de variabelen vooraf.,,, lpiconpath,: een karakter buffer bevatten een nul aan het einde van de toepassing. De hele weg van een bibliotheek (dll) of van het dossier.Als het een document is dat de hele weg, zullen functioneren in verband met de toepassing van de winning van de icoon is waar, dus moeten we de toewijzing van een voldoende grote buffer.,,, lpiicon,: Index (de eerste in het dossier is een icoon van de index 0).Als lpiconpath het aangeven van een dossier, en lpiicon van de functies (en dat is de reden waarom het is aangenomen met betrekking tot de uitvoering van de voor de werkelijke) van de index (in het icoon van dossiers in verband met de definitie van,,, naar waarde). Functie: als het niet, het is 0.Als het lukt, is een icoon, dit is een geheel getal voor de erkenning van de waarde van het raam, de verdeling van de middelen.Het is niet nodig DestroyIcon vrijgave van API - icoon, want het wordt automatisch vrijgegeven wanneer de aanvraag is, maar je kunt doen wat je wilt,,,,, en nu het voorbeeld noemen van de icoon, doen wat we doen?We willen een icoon, dat er een voorbeeld van.Wat we moeten doen is het creëren van een object en zal het aan de prestaties van de rust.Als we later zullen kenmerken worden toegewezen aan een andere waarde, wordt automatisch de vrijlating van eerdere icoon.Dezelfde situatie als de rust laat het object.,,, hier is een voorbeeld van de icoon, veranderingen in de vorm van gebruik van SysUtils:,,,,,,, ramen, shellapi; de procedures aan de hand van een evenement. Om te draaien (de afzender: TObject); het lettertype, var, iconindex: woorden,,, [0 - installatie; 2048.] karakter; iconhandle:,,,,,, Wellcome; strcopy (@ buffer, C: de ramen, en de ramen te hip "); iconindex:= 0;,,,, iconhandle:= extractassociatedicon (programma buffer, iconindex); en, als iconhandle < > 0 = behandeling: dan icoon. Iconhandle;,,,,,,, aan het einde van getassociatedicon; helaas, als de documenten niet op de schijf extractassociatedicon bestaan niet, dus hebben we de definitie van een proces, een icoon van het document, of er kan worden verkregen, ook kleine icoon (ideeënL TlistView kan worden weergegeven in de vsicon of vsreport oog.).Procedure voor de aanvaarding van drie parameters: de naam en de twee punten (.) variabele: een grote icoon (32x32) en een andere kleine icoon (16x16).Als je het niet nodig deze icoon, alles kunnen is nul.Icoon "terug" procedures moeten worden vrijgelaten en DestroyIcon API.Dat zou het zijn als je een icoon automatisch (doen) op de site van het doel van de verwerking van goederen (icoon wordt vrijgegeven wanneer deze voorwerpen worden vrijgelaten of een nieuwe waarde voor het gebruik van SysUtils).,,,,,, shellapi register ramen;,,,,, phicon = ^ Wellcome;,,, getassociatedicon programma (naam, plargeicon: tfilename;,,,, ///////psmallicon:phicon); voor een bepaald dossier icoon, var, iconindex: woorden; ///////icoon in de positie van de bestanden, de soorten: snaren, fileext;,,, register: Griffie; P:.,,,,, P1, P2:PChar vormen;,, etikettering, noassoc;,,,,,, ///////iconindex:= 0; de documenten worden uitgebreid, fileext:= kapitaal (in het dossier van de uitbreiding van de winning (naam)); en, als ((fileext <>; "pardon") en (fileext < > ". De ICO)) of van het niet - bestaan van (naam), en vervolgens, als het dossier is een, ///////Exe of ICO en het bestaan, en dan, uit het dossier /We een icoon.Anders zullen wij proberen, /hier in vinden, en de geassocieerde internationale grondstoffenorganisatie /register ingeschreven: - = nul...,,,,,, proberen, geregistreerd: = register, het creëren van (key_query_value); reg.rootkey:= hkey_classes_root;,,,, als fileext = "pardon" en de "COM"; fileext:=, of, indien ingeschreven. Openkeyreadonly (fileext) dan, probeer, type document: = geregistreerd. Readstring ('); en, ten slotte, de registratie van,,,,,,,. Closekey; als de (aan het einde van het dossier; < > ") en geregistreerd. Openkeyreadonly (,, type document +" gebruikt voor beeld icoon ") en dan, probeer,, de naam: = geregistreerd. Readstring ('); en, tot slot, de registratie van,,,,,,. Closekey; einde. Reg.Free;,, end;,,, //If we couldn't find the association, we will,, //try to get the default icons,, if FileName = '' then goto noassoc;,,, //Get the filename and icon index from the,, //association (of form '"filaname",index'),, p1 := PChar(FileName);,, p2 := StrRScan(p1, ',');,, if p2 <> nil then begin,, p := p2 - p1 + 1; //Position of the comma,, IconIndex := StrToInt(Copy(FileName, p + 1,,, Length(FileName) - p));,, SetLength(FileName, p - 1);,, end;,, end;,, //Attempt to get the icon,, if ExtractIconEx(pchar(FileName), IconIndex,,, PLargeIcon^, PSmallIcon^, 1) <> 1 then,, begin,, noassoc:,, ///////operatie mislukt of documenten niet relevant, //- icoon.Probeer je de standaard iconen van SHELL32.DLL,,, proberen je de locatie van ///////SHELL32.DLL bestandsnaam: = IncludeTrailingBackslash (,,,, GetSystemDir) +'SHELL32.DLL';,, met uitzondering van de bestandsnaam:,,,, aan het einde van ='C:\\WINDOWS\\SYSTEM\\SHELL32.DLL'; ///////;,, bepalen de default icon voor het dossier, als (uitbreiding, FileExt ='.DOC') dan IconIndex: = 1, anders als (FileExt ='.EXE'), of (FileExt ='.COM') dan IconIndex: = 2, en anders als (FileExt ='.HLP') dan IconIndex = 23:,, anders als (FileExt ='.INI'), of (FileExt ='.INF') dan IconIndex: = 63, anders als (FileExt ='.TXT') dan IconIndex: = 64, anders als (FileExt ='.BAT') dan IconIndex: = 65, anders IF (fileext = ". Dll), of (fileext =" systeem "), of (fileext =". Leidt "), of, fileext =". OCX'), of (fileext = ". Iconindex:= Windows) en 66, of als (fileext =". Feng ") en dan iconindex:= 67, of als (fileext =". Iconindex:= ttf) en 68, of als (fileext = "als") en dan iconindex:= 69, andere iconindex:= 0; ///////, om te proberen de icoon,,, als extracticonex (pchar (naam), iconindex,,, plargeicon psmallicon ^ 1 ^, > 1) < dan beginnen,, /geen icoon.Alleen de "beloning" nul.,, als plargeicon < > nul en plargeicon ^:= 0;,, als psmallicon < > nul en psmallicon ^:= 0;,,,, aan het einde van het einde,;;;,,,,, dit voorbeeld monster telefoon, veranderingen In de vorm van iconen:,, een gebeurtenis plaatsvindt, procedure. Om te draaien (de afzender: TObject); het lettertype, var, de SmallIcon:,,,, Wellcome; (doc getassociatedicon documenten ", nul, @ SmallIcon); en, als SmallIcon < > 0, de verwerking, de icoon.: = SmallIcon;,, een einde te maken aan de,,,