| Автор
| Сообщение |
 FIDO
Я живу тут....

Возраст: 24
Знак зодиака: 
Зарегистрирован: 21.03.2007
Сообщения: 483
Откуда: г. Тверь
|
|
|
Цитата |
|
Здравствуйте! Значит, пишу программу-шутку, которая закидывает рабочий стол ярлыками... Не могу понять, почему CreateShotCut высвечивает как необъявленная переменная...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShlObj, ActiveX, ComObj, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
WorkTable: String;
P:PItemIDList;
C:array [0..1000] of char;
i: integer;
begin
if SHGetSpecialFolderLocation(Handle,CSIDL_DESKTOP,p)=NOERROR then
begin
SHGetPathFromIDList(P,C);
WorkTable:=StrPas(C);
end;
for i:=0 to 20 do
CreateShotCut(Application.ExeName, WorkTable + '\' + ExtractFileName(Application.ExeName),'');
end;
end. _________________ Существуют три вида лжи: бахвальство, вранье и отчетность. |
|
| В начало |
|
 |
|
|
 |
 orlov_ds
Модератор

Возраст: 31
Знак зодиака: 
Зарегистрирован: 14.04.2004
Сообщения: 1723
Откуда: Новосибирск
|
|
|
Цитата |
|
Потому что нет в delphi CreateShotCut
Добавлено спустя 4 минуты 59 секунд:
| delphi: | -
{ **** UBPFD *********** by delphibase.endimus.com **** >> Создание ярлыка для конкретного файла (2) -
Процедура создает ярлык к файлу FilePath, располагает ярлык в папке ShortcutPath, заносит в ярлык поля: рабочей директории WorkDir, текстового описания Description, параметров запуска Params. -
Зависимости: ShlObj, ActiveX, ComObj Copyright: Из FAQ Дата: 10 мая 2002 г. ***************************************************** } procedure CreateShortcut(const FilePath, ShortcutPath, WorkDir, Description, Params: string); var obj: IUnknown; isl: IShellLink; ipf: IPersistFile; begin obj := CreateComObject(CLSID_ShellLink); isl := obj as IShellLink; ipf := obj as IPersistFile; with isl do begin SetPath(PChar(FilePath)); SetArguments(PChar(Params)); SetDescription(PChar(Description)); SetWorkingDirectory(PChar(WorkDir)); end; ipf.Save(PWChar(WideString(ShortcutPath)), False); end; Пример использования: // пример создания ярлыка на рабочем столе var UserDesktop: string; R: TRegIniFile; begin R := TRegIniFile.Create(''); with R do begin RootKey := HKEY_CURRENT_USER; UserDesktop := ReadString('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', 'desktop', ''); Free; end; CreateShortcut(Application.ExeName, UserDesktop + '\Название ярлыка.lnk', '', '', ''); end;
|
_________________ Хорошо излагает, зараза! Учитесь, Киса! |
|
| В начало |
|
 |
 FIDO
Я живу тут....

Возраст: 24
Знак зодиака: 
Зарегистрирован: 21.03.2007
Сообщения: 483
Откуда: г. Тверь
|
|
|
Цитата |
|
R: TRegIniFile; Теперь здесь ошибку дает компилятор... _________________ Существуют три вида лжи: бахвальство, вранье и отчетность. |
|
| В начало |
|
 |
 orlov_ds
Модератор

Возраст: 31
Знак зодиака: 
Зарегистрирован: 14.04.2004
Сообщения: 1723
Откуда: Новосибирск
|
|
|
Цитата |
|
*Александр* вам в help от delphi посмотреть вера не позволяет? _________________ Хорошо излагает, зараза! Учитесь, Киса! |
|
| В начало |
|
 |
|