Вниз
Скачать: 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
7-37953
LAMA3OID
2003-10-29 15:06
2004.01.13
Хук на функцию


14-37875
race1
2003-12-22 15:18
2004.01.13
чайники


14-37906
Undert
2003-12-20 18:54
2004.01.13
Хороший дефрагментатор ...


1-37759
belyh
2003-12-29 22:03
2004.01.13
QReport


1-37651
Эдуард
2003-12-26 11:32
2004.01.13
Создание компонента в DLL




   Наверх