Форум: "Система";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];
ВнизProgram Shortcut ? Найти похожие ветки
← →
NetKnight (2002-12-04 16:06) [0]Кто-нить подскажет как делать фичу установки ярлыка на десктоп в дельфях ?
← →
Игорь Шевченко (2002-12-04 17:37) [1]IShellLink
← →
P@SHA (2003-01-31 22:43) [2]
...
uses ..., registry;
...
Procedure TForm1.BitBtn1click(Object: TSender);
var
MyObject : IUnknown;
MySLink : IShellLink;
MyPFile : IPersistFile;
Directory, FileName : String;
WFileName : WideString;
MyReg : TRegIniFile;
begin
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
FileName := "NOTEPAD.EXE";
with MySLink do begin
SetArguments("C:\AUTOEXEC.BAT");
SetPath(PChar(FileName));
SetWorkingDirectory(PChar(ExtractFilePath(FileName)));
end;
MyReg := TRegIniFile.Create(
"Software\MicroSoft\Windows\CurrentVersion\Explorer");
// Используй следующую строчку кода для создания ярлыка на рабочем столе
Directory := MyReg.ReadString("Shell Folders","Desktop","");
WFileName := Directory+"\FooBar.lnk";
MyPFile.Save(PWChar(WFileName),False);
MyReg.Free;
end;
← →
Nicky (2003-02-20 13:30) [3]
> MyObject := CreateComObject(CLSID_ShellLink);
А у меня здесь вываливается Runtime error 217. Чо делать то?
← →
Viktor Kushnir (2003-02-21 10:07) [4]Я ярлыки так содавал, под D4 вроде работало.
procedure TConfigForm.CreateLink(const PathObj, PathLink, Desc, Param: string);
var
IObject: IUnknown;
SLink: IShellLink;
PFile: IPersistFile;
begin
CreateDirs(PathLink);
IObject := CreateComObject(CLSID_ShellLink);
SLink := IObject as IShellLink;
PFile := IObject as IPersistFile;
with SLink do begin
SetArguments(PChar(Param));
SetDescription(PChar(Desc));
SetPath(PChar(PathObj));
end;
PFile.Save(PWChar(WideString(PathLink)), True);
end;
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c