Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.13;
Скачать: 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 вся ветка

Текущий архив: 2004.01.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
3-37512
Крутыш
2003-12-16 16:49
2004.01.13
Про AdoDataset .....


14-37853
Ozone
2003-12-23 05:40
2004.01.13
Оформление программ


1-37732
Evgeny78
2003-12-30 11:33
2004.01.13
как сделать приложение видимым


14-37900
Viktor Kushnir
2003-12-15 14:03
2004.01.13
Redirect


1-37737
hfa
2003-12-30 10:16
2004.01.13
RichEdit