Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Вниз

Как программно отправить ярлык на рабочий стол?   Найти похожие ветки 

 
Leny   (2003-03-04 13:53) [0]

Мастера, подскажите...
Как программно отправить ярлык на рабочий стол?
Спасибо


 
smok_er   (2003-03-04 15:03) [1]

UBPFD - бесплатная база готовых решений для Delphi
Здесь находятся ответы на самые разные вопросы по Delphi в виде полностью готовых к употреблению процедур и функций. Просто зайди, возьми и используй в своем проекте!



 
Злодей   (2003-03-05 21:43) [2]


uses
...Registry, ShlObj, ActiveX, ComObj, FileUtil;

......

function CreateShortcut(const ShortcutDir, CmdLine, Param, WorkDir,DirName: string;
LinkFile:String): Boolean;
var
MyObject : IUnknown;

MySLink : IShellLink;
MyPFile : IPersistFile;
WideFile : WideString;
Directory, TempStr: String;
Reg:TRegistry;
begin
Result:=False;Directory:="";
If (ShortcutDir="Desktop") or (ShortcutDir="Favorites") or
(ShortcutDir="Programs") or (ShortcutDir="SendTo") or
(ShortcutDir="Start Menu") or (ShortcutDir="Startup") then
begin
Reg:=TRegistry.Create;
Reg.OpenKey("Software\MicroSoft\Windows\CurrentVersion\Explorer\Shell Folders",False);

Directory := Reg.ReadString(ShortcutDir);
Reg.Free;
If not(DirName="") then
Directory:=Directory+"\"+DirName;
end;
If DirExists(ShortcutDir) then
Directory:=ShortcutDir
else
If Directory="" then Exit;
If not(FileExists(CmdLine)) and not(DirExists(CmdLine)) then Exit;
If linkFile="" then Exit;
TempStr:=linkFile;

If Length(linkFile)>4 then
Delete(TempStr,1,Length(TempStr)-3);
If not(AnsiUpperCase(TempStr)="LNK") then
linkFile:=linkFile+".lnk";
MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
with MySLink do
begin
SetPath(PChar(CmdLine));
SetArguments(PChar(Param));
SetWorkingDirectory(PChar(WorkDir));
end;

if Directory[Length(Directory)]="\" then
WideFile := Directory+LinkFile
else
WideFile := Directory+"\"+LinkFile;
if MyPFile.Save(PWChar(WideFile), False)= S_OK then
Result:=True;
end;



Вот примерно так!


 
Yana   (2003-03-11 14:47) [3]

Удалено модератором
Примечание: Задай СВОЙ вопрос в отдельно



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

Форум: "Основная";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
6-76552
OxOTHuK
2003-02-03 22:07
2003.03.24
Socketы


3-76323
sergey32
2003-03-05 15:01
2003.03.24
Не могу передать числовой параметр в хранимую процедуру.


14-76576
Filmax
2003-03-09 09:53
2003.03.24
Вычисления


6-76562
Noodlez
2002-11-28 22:21
2003.03.24
IRC & Socket


14-76604
Kolesya
2003-03-07 12:59
2003.03.24
Кто пользуется INDY. Кому нетрудно бросте примерчик, плиз





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский