Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.24;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
8-76520
SPIRIT
2002-12-12 13:50
2003.03.24
Прочитать TAG в MP3


14-76625
kostya2000
2003-03-05 18:23
2003.03.24
Eminem, Тату, Limp Bizkit - ужас! это же не музыка а г...


6-76564
Serge_T
2003-02-01 23:57
2003.03.24
WinSock


3-76312
ki11er
2003-03-03 21:24
2003.03.24
вопрос про TSession


4-76722
мученик
2003-01-29 14:44
2003.03.24
как перенаправить url в браузер?