Главная страница
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.012 c
1-37729
Reeves
2003-12-29 19:29
2004.01.13
Необходимо для стандартного компонента ListBox сделать следующие


14-37842
Devourer
2003-12-23 15:40
2004.01.13
2 глюка Win98


6-37822
DNT
2003-11-12 11:33
2004.01.13
Слишком много коннектов...


3-37525
Ю.Ф.
2003-12-16 15:18
2004.01.13
Упаковка БД типа Парадокс или FoxPro


4-37982
Rog
2003-11-05 08:16
2004.01.13
Запись CD