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

Вниз

А как создать ярлыки на компьютерах локальной   Найти похожие ветки 

 
Floppy   (2004-04-29 10:32) [0]

сети программой с одного из компьютеров рабочей группы?


 
Aplay   (2004-04-29 12:09) [1]

что то я не совсем понял твой вопрос? Елси тебя интересует как создать ярлык то смотри:
Первый способ:

uses ShlObj, ComObj, ActiveX;
 
 procedure CreateLink(const PathObj, PathLink, Desc, Param: 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(Desc));
     SetPath(PChar(PathObj));
   end;
   PFile.Save(PWChar(WideString(PathLink)), FALSE);
 end;

Взято с Исходников.ru http://www.sources.ru/delphi_src1.shtml

или

Второй способ

Программа создаст ярлык на рабочем столе или (смотри код) в главном меню. Ярлык будет иметь имя FooBar и при щелчке загрузит ваш AUTOEXEC.BAT в блокнот (NOTEPAD).
Код читает строковое значение из ключей регистра "Desktop" и "Start Menu" (ветка HKEY_CURRENT_USER), полный путь к которым:

Software\MicroSoft\Windows\CurrentVersion\Explorer\Shell Folders
-------------
Модуль Unit1
-------------

--------------------------------------------------------------------------------
   unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type

TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var

Form1: TForm1;

implementation

{$R *.DFM}

uses

ShlObj, ActiveX, ComObj, Registry;

procedure TForm1.Button1Click(Sender: TObject);
var

MyObject  : IUnknown;
MySLink   : IShellLink;
MyPFile   : IPersistFile;
FileName  : String;
Directory : String;
WFileName : WideString;
MyReg     : TRegIniFile;
begin

MyObject := CreateComObject(CLSID_ShellLink);
MySLink := MyObject as IShellLink;
MyPFile := MyObject as IPersistFile;
FileName := "NOTEPAD.EXE";
with MySLink do begin
SetArguments("C:\AUTOEXEC.BAT");
SetPath(PChar(FileName));
SetWorkingDirectory(PChar(ExtractFilePath(FileName)));
end;
MyReg := TRegIniFile.Create(
"Software\MicroSoft\Windows\CurrentVersion\Explorer");

// Используйте следующую строчку кода для создания ярлыка на рабочем столе

Directory := MyReg.ReadString("Shell Folders","Desktop","");

// Используйте следующие три строчки для создания ярлыка в главном меню
//  Directory := MyReg.ReadString("Shell Folders","Start Menu","")+
//      "\Рулез!";
//  CreateDir(Directory);

WFileName := Directory+"\FooBar.lnk";
MyPFile.Save(PWChar(WFileName),False);
MyReg.Free;
end;

end.  

А вообще это уже давно было написанно во всяких FAQ


 
Floppy   (2004-04-29 15:51) [2]

Действительно, вопрос сформулирован не точно (или не полностью)
Желание таково:
При запуске программы на одном из компьютеров локальной сети, она расшаривает (создает) общий ресурс с определенным именем (к примеру \\Comp1\Test). Хотелость бы, чтобы эта программа создала на рабочих столах компьютеров локальной сети (естественно только на тех которые в данный момент включены),
ярлык \\Comp1\Test\Project1.exe


 
Vit@ly ©   (2004-04-29 20:39) [3]

Видимо и UP не поможет :)



Страницы: 1 вся ветка

Текущий архив: 2004.06.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.038 c
4-1084609439
VeTaL_Programmer
2004-05-15 12:23
2004.06.20
Как програмно в реестре записать данные в значение "По умолчанию"


6-1082969480
FireMan_Alexey
2004-04-26 12:51
2004.06.20
Вопрос по WSAWaitForMultipleEvents


14-1086248844
alless
2004-06-03 11:47
2004.06.20
AVERTV


1-1086608450
tria
2004-06-07 15:40
2004.06.20
Напомните пож. ситаксис описания:


1-1086447044
a3a3ello
2004-06-05 18:50
2004.06.20
Application.Terminate