![]() |
|
|
#1
|
||||
|
||||
|
Как создать ярлык выбронного *.ехе файла в указанном месте? Исходник пожалуста. Заранее благодарю
|
|
#2
|
||||
|
||||
|
Код:
// процедура создания ярлыков
procedure CreateLink(sPathObj, sPathLink, sDesc: string);
var
IObject: IUnknown;
SLink: IShellLink;
PFile: IPersistFile;
begin
// создаем COM объект "IShellLink"
IObject := CreateComObject(CLSID_ShellLink);
SLink := IObject as IShellLink;
PFile := IObject as IPersistFile;
// заполняем его данными
with SLink do
begin
//SetArguments(PChar(Param));
SetDescription(PChar(sDesc));
SetPath(PChar(sPathObj));
end;
// сохраняем по указанному пути
PFile.Save(PWChar(WideString(sPathLink)), FALSE);
end;
//...
//...
begin
//...
CreateLink('c:\program.exe','путь к ярлыку','подсказка');
//..
end;
|
|
#3
|
||||
|
||||
|
Не получается - может у кого нить есть исходник проги для создании ярлыков?
|
|
#4
|
||||
|
||||
|
Дык а что не получается-то? Я могу исходник написать, но я юзал именно эту процедуру и все работало...
|
|
#5
|
||||
|
||||
|
Тогда если можно то скинь исходник или на мыло(electronic_arts@rambler.ru) или сюда как тебе угодно
|
|
#6
|
||||
|
||||
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ComCtrls, XPMan, ShellApi, ShlObj, ComObj, ActiveX;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure CreateLink(sPathObj, sPathLink, sDesc: 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(sDesc));
SetPath(PChar(sPathObj));
end;
PFile.Save(PWChar(WideString(sPathLink)), FALSE);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateLink(Application.ExeName,ExtractFilePath(Application.ExeName) + '1.lnk','Description');
end;
end. |
|
#7
|
||||
|
||||
|
Все работает супер но
CreateLink(Application.ExeName,ExtractFilePath(App lication.ExeName) + '1.lnk','Description'); а как сделать что бы оно взяла путь к ЕХЕ файлу с edit1.text-a |
|
#8
|
||||
|
||||
|
Попробывал сделать так но никаких ощибок не выдает но и ярлыков тож не создает
CreateLink(Edit1.text,ExtractFilePath(edit1.text) + '1.lnk','Description'); ![]() |
|
#9
|
||||
|
||||
|
Выложи свой исходник, я его качну и поправлю все, а потом тебе отдам с пояснениями, почему у тебя там чего-то не работало.
|