-
Каким образом можно задать имя ярлыка программы или изменить это имя? Имеется ввиду вот что. Есть файл proba.exe. При создании ярлыка он автоматически называется "proba.exe", а надо, чтобы назывался "Пробная программа". Чтобы каждый раз не переименовывать ярлык, когда вытаскиваешь его на стол пользователя.
-
> [0] Fred (30.04.10 15:01)
Кто ярлык-то создает: ты(твоя программа) или ось(средствами ОС)?
-
> Fred (30.04.10 15:01) > он автоматически называется "proba.exe"
По любому ни как он именем файла не обзаветься, либо .lnk, либо proba.exe копия
Вы что то путали
-
Автор: Xavier Pacheco
unit Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
uses ComObj, ActiveX, ShlObj, Registry;
const
SFolderKey = '\Software\Microsoft\Windows\CurrentVersion\' +
'Explorer\Shell Folders';
function GetFolderLocation(const FolderType: string): string;
begin
with TRegistry.Create do
try
RootKey := HKEY_CURRENT_USER;
if not OpenKey(SFolderKey, False) then
raise ERegistryException.CreateFmt('Folder key \"%s\" not found',
[SFolderKey]);
Result := ReadString(FolderType);
if Result = '' then
raise ERegistryException.CreateFmt('\"%s\" item not found in registry',
[FolderType]);
CloseKey;
finally
Free;
end;
end;
procedure MakeNotepad;
const
AppName = 'c:\windows\notepad.exe';
var
SL: IShellLink;
PF: IPersistFile;
LnkName: WideString;
begin
OleCheck(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER,
IShellLink, SL));
PF := SL as IPersistFile;
OleCheck(SL.SetPath(PChar(AppName)));
LnkName := GetFolderLocation('Desktop') + '\' +
ChangeFileExt(ExtractFileName(AppName), '.lnk');
PF.Save(PWideChar(LnkName), True); end;
procedure TForm1.Button1Click(Sender: TObject);
begin
MakeNotepad;
end;
end.
-
> Каким образом можно задать имя ярлыка программы или изменить > это имя?
> Чтобы каждый раз не переименовывать ярлык
Мдя...
> При создании ярлыка он автоматически называется "proba.exe", > а надо, чтобы назывался "Пробная программа".
Надо переименовать программу в "Пробная программа.ехе"
-
> oldman (05.05.2010 10:42:04) [4]
Мы не ищем легких путей.
|