Форум: "Сети";
Текущий архив: 2004.06.20;
Скачать: [xml.tar.bz2];
ВнизА как создать ярлыки на компьютерах локальной Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c