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

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

Наверх




Память: 0.48 MB
Время: 0.036 c
1-1095074515
FileManager
2004-09-13 15:21
2004.09.26
Атрибуты файлов


4-1092406955
webpauk
2004-08-13 18:22
2004.09.26
ShortCat для меню


4-1091191488
dms_main
2004-07-30 16:44
2004.09.26
Имя текущего пользователя системы


1-1094674994
redlord
2004-09-09 00:23
2004.09.26
метод free не вызывает destroy


3-1093262946
Настенька
2004-08-23 16:09
2004.09.26
таблица в формате paradox