Вниз
Скачать: CL | DM;

Ярлык   Найти похожие ветки 

 
Adil Aliyev   (2003-12-30 01:13) [0]

Как можно создать ярлык какого то файла через программы?


 
Adil Aliyev   (2003-12-30 12:59) [1]

Не кто не знает


 
Rouse_ ©   (2003-12-30 13:26) [2]

uses ...ShlObj, ComObj, Registry, ActiveX;

function TForm1.CreateLinkDesktop(Const FileName : String) : String;
var
MyObject : IUnknown;
MySLink : IShellLink;
MyPFile : IPersistFile;
Directory : String;
WFileName : WideString;
MyReg : TRegIniFile;
begin
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
with MySLink do begin
SetPath(PChar(FileName));
SetWorkingDirectory(PChar(ExtractFilePath(FileName)));
end;
MyReg := TRegIniFile.Create("Software\MicroSoft\Windows\CurrentVersion\Explorer") ;
Directory := MyReg.ReadString("Shell Folders","Desktop","");
WFileName := Directory+"\Test.lnk";
MyPFile.Save(PWChar(WFileName),False);
MyReg.Free;
end;


Желаю успехов


 
Dimman1 ©   (2003-12-30 15:34) [3]

procedure MyCreateShortCut(sTarget,sIconFile:String;iIconIndex:Integer;sName:String);
(*
sTarget: String; { This is the path and name of the file that the shortcut is to point too }
sIconFile : String; { This is the path and name of the file that contains the icon (it can be an .exe or .ico file) }
iIconIndex : Integer; { The index of which icon to use in the specifiedfile }
sName : String; { The name for the shortcut including the path}
*)
var
slTemp: IShellLink;
pfTemp: IPersistFile;
begin
CoInitialize(nil);
try
// create an uninitialized IShellLink (a shortcut)
if CoCreateInstance(CLSID_ShellLink,nil,CLSCTX_INPROC_SERVER,IShellLink, slTemp) = S_OK then
begin
slTemp.SetPath(PChar(sTarget));
slTemp.SetIconLocation(PChar(sIconFile), iIconIndex);
//Get an IPersistFile interface (needed to specify the name of the Shortcut)
if slTemp.QueryInterface(IPersistFile, pfTemp) = S_OK then
if pfTemp.Save(StringToOleStr(sName), True) <> S_OK then
Application.MessageBox("Не могу создать ярлык","Ошибка!",mb_ok or MB_ICONSTOP);

// do not Release slTemp, it is done automatically by Delphi
end;
// deinitialize COM
finally
CoUninitialize;
end;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
6-37826
zxc
2003-11-14 13:53
2004.01.13
наверное глупый вопрос но всё же..


4-37971
GIL
2003-11-06 14:29
2004.01.13
как поменять иконку в трее?


9-37489
Карлсон
2003-06-24 12:00
2004.01.13
проверка на разрешение и количество цветов.


7-37951
MakNik
2003-10-30 15:52
2004.01.13
Сервисы


1-37741
miracle_fox
2003-12-30 11:18
2004.01.13
помогите добавить строчку в файл и listbox одновременно




   Наверх