Главная страница
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.024 c
1-76390
Berg
2003-03-13 11:10
2003.03.24
Размер текстового файла


1-76446
Барсук
2003-03-11 07:15
2003.03.24
ListBox с элементами разного цвета


3-76261
dash78
2003-03-04 07:59
2003.03.24
Создание нового юзера


6-76558
Шишкин Илья
2003-02-03 15:40
2003.03.24
Internet Explorer


3-76299
IlyaGer
2003-03-04 18:46
2003.03.24
Не работает скроллинг в DBGrid. Как это устранить?