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

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

 
volser   (2004-08-03 11:11) [0]

Как вызвать стандартный диалог создания и свойст ярлыка?


 
GuAV ©   (2004-08-03 13:35) [1]


>  создания

а в Реестре посмотреть напрягает?
RunDLL32 AppWiz.Cpl,NewLinkHere %2

> свойст

как и не ярлыка
function SHObjectProperties(hwndOwner: HWND;
 uFlags: Integer; lpstrName,
 lpstrParameters: PChar): LongBool; stdcall;
   external shell32 index 178;

procedure Properties(const FileName: string);
begin
 SHObjectProperties(Application.Handle, 2,
   PChar(FileName), nil);
end;

импортирую по индексу, чтоб пошло и в 95/98/МЕ


 
volser   (2004-08-03 17:50) [2]

Большое спасибо!


 
OSokin ©   (2004-08-10 20:17) [3]

Вот что я нашел в одном FAQ:

 function CreateShortcut(const CmdLine, Args, WorkDir, LinkFile: string):
IPersistFile;
 var
   MyObject  : IUnknown;
   MySLink   : IShellLink;
   MyPFile   : IPersistFile;
   WideFile  : WideString;
 begin
   MyObject := CreateComObject(CLSID_ShellLink);
   MySLink := MyObject as IShellLink;
   MyPFile := MyObject as IPersistFile;
   with MySLink do
   begin
     SetPath(PChar(CmdLine));
     SetArguments(PChar(Args));
     SetWorkingDirectory(PChar(WorkDir));
   end;

   WideFile := LinkFile;
   MyPFile.Save(PWChar(WideFile), False);
   Result := MyPFile;
 end;

 procedure CreateShortcuts;
 var Directory, ExecDir: String;
     MyReg: TRegIniFile;
 begin
   MyReg := TRegIniFile.Create(
     "Software\MicroSoft\Windows\CurrentVersion\Explorer");

   ExecDir := ExtractFilePath(ParamStr(0));
   Directory := MyReg.ReadString("Shell Folders", "Programs", "") + "\" +
ProgramMenu;
   CreateDir(Directory);
   MyReg.Free;

   CreateShortcut(ExecDir + "Autorun.exe", "", ExecDir,

     Directory + "\Demonstration.lnk");
   CreateShortcut(ExecDir + "Readme.txt", "", ExecDir,
     Directory + "\Installation notes.lnk");
   CreateShortcut(ExecDir + "WinSys\ivi_nt95.exe", "", ExecDir,
     Directory + "\Install Intel Video Interactive.lnk");
 end;

Только тут создается на рабочем столе


 
GuAV ©   (2004-08-11 01:25) [4]

Это создания ярлыка, а просили Диалог...


 
OSokin ©   (2004-08-12 19:17) [5]

А что же тебе мешает создать свой?


 
DVM ©   (2004-08-12 19:33) [6]

Вызвать то можно, я пробовал когда то давно, забыл уже как, но потом плюнул и создал свой. Дело там в том, что потом от этого диалога непонятно было как получить сведения о том где и какой ярлык создан. А еще он не создает ярлыки для папок.



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

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



Память: 0.46 MB
Время: 0.02 c
1-1094567567
Vova
2004-09-07 18:32
2004.09.26
Открытие файла в бинарном режиме


4-1092908245
Awod
2004-08-19 13:37
2004.09.26
Восстановление окна из свёрнутого сосояния


1-1095075552
Chizh
2004-09-13 15:39
2004.09.26
Конструкция with...do


3-1093672107
kaginava
2004-08-28 09:48
2004.09.26
экспорт в эксель


1-1095072110
limon_
2004-09-13 14:41
2004.09.26
поиск в combobox




   Наверх