![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание ярлыка на рабочем столе [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);