Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание ярлыка на рабочем столе [D5, D6]


Belov ©   (2002-07-30 21:06:00) 

Собственно сабж
Если можно с примером


nikesmile   (2002-07-31 01:06:00) [1]

Народ, вам что, делать больше не..й (sorry)


nick_sniper   (2002-07-30 23:25:00) [2]


> Jeer © (30.07.02 23:08

Кстати, и могли бы представиться в анкете. Не надо так скромничать.


nick_sniper   (2002-07-30 23:18:00) [3]


> Jeer © (30.07.02 22:02)

Обычно люди расчитывают получить ответ на свой вопрос, или хотя бы путь где его можно искать (для сложных вопросов). И думаю не слишком многим хотелось бы вести двухмесячные диалоги.

IMHO, Вы просто хулиган.


Jeer   (2002-07-30 23:08:00) [4]

Если ты рассчитываешь на интеллект по ту сторону диалога - то намек- лучшая форма воспитания.
Иначе..


VID   (2002-07-30 23:04:00) [5]

НУ прости нас грешных ! ;) Оказывается здесь модно как в квестах одними намёками разговаривать :)


Jeer   (2002-07-30 22:02:00) [6]

Вот собственно и "ответ" на мои сентенции.
Я специально не привел известные решения.
Как бы предполагался диалог-с.
И что ?
Нашлось пара умников в режиме справочной системы.

Одним лишь бы бы отделаться и поскорее (первым) правильно высказаться, другим всосать эту жвачку через ^C/^V, заглотить и понадеяться на отсутствие диареи после того как..


VID   (2002-07-30 21:58:00) [7]

Помимо того, что указал LENIN INC ( http://delphibase.endimus.com/?action=viewfunc&topic=filelink&id=10060), в UBPFD есть ещё одна подобная функция.
http://delphibase.endimus.com/?action=viewfunc&topic=filelink&id=10058


-=Prior=-   (2002-07-30 21:50:00) [8]

uses ShlObj, ComObj, ActiveX;

procedure CreateLink(const PathObj, PathLink, Desc, Param: string);
var
IObject: IUnknown;
SLink: IShellLink;
PFile: IPersistFile;
begin
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)), FALSE);
end;
Наиболее распространенная задача - создание ярлыка на рабочем столе. Для этого необходимо определить полный путь к системной папке Windows Desctop через реестр и передать его в качестве параметра PathLink.
<h>Взял из FAQ</h>.
Посмотри пожалуйста на мой вопросик, может знаешь!


LENIN INC   (2002-07-30 21:45:00) [9]

Так попробуй:

USES
ShlObj, ActiveX, ComObj

procedure CreateShortcut(const FilePath, ShortcutPath, WorkDir, Description, Params:string);
var obj: IUnknown;
isl: IShellLink;
ipf: IPersistFile;
begin
obj := CreateComObject(CLSID_ShellLink);
isl := obj as IShellLink;
ipf := obj as IPersistFile;
with isl do
begin
SetPath(PChar(FilePath));
SetArguments(PChar(Params));
SetDescription(PChar(Description));
SetWorkingDirectory(PChar(WorkDir));
end;
ipf.Save(PWChar(WideString(ShortcutPath)), False);
end;



//Пример использования
// пример создания ярлыка на рабочем столе
var
UserDesktop:String;
R:TRegIniFile;
begin
R:= TRegIniFile.Create("");
with R do begin
RootKey := HKEY_CURRENT_USER;
UserDesktop:=ReadString("Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","desktop","");
Free;
end;

CreateShortcut (Application.ExeName,UserDesktop+"\Название ярлыка.lnk","","", "");

end;



Jeer   (2002-07-30 21:42:00) [10]

Исходи их этого
uses ShlObj, ComObj, ActiveX;
..
LObj: IUnknown;
..
LObj := CreateComObject(CLSID_ShellLink);


Наверх

Титульная страница Поиск, карта сайта Написать письмо