Содержание материала

 

"Совместимость с windows2000 сервер" / "Windows ХР" службы терминалов являются очень важными в компьютерных сетях: каждый клиентский компьютер может эмулировать рабочий стол сервера с помощью простого исполняемого файла названный " mstsc.исполняемый." Этот исполняемый файл использует элемент управления ActiveX "MStscax", определенный в "mstscax.файл DLL." Эти файлы автоматически устанавливаются в Windows XP и Windows Server 2000, но не в ОС Windows 2000 Professional или системе Windows 98. Вы можете скачать весь пакет содержащий

 

После загрузки исполняемый файл "tsmsisetup.exe", запустите его, чтобы распаковать. Теперь давайте принять во внимание папку "System32": это папка, содержащая

"команду mstsc.exe" и "mstscax.файл DLL." Теперь зарегистрируйте элемент управления ActiveX "MsTscAx":

 

 1)Пуск->Выполнить->

2)введите следующую команду: regsvr32 <путь к mstscax.dll файлы>\mstscax.файл DLL

 где <путь к mstscax.dll > - полный путь к файлу " mstscax.файл DLL."

 В этой статье я покажу вам, как добавить элемент управления ActiveX "MsTscAx" в приложении Делфи для того, чтобы построить замену "команду mstsc.исполняемый."

 Прежде всего необходимо импортировать элемент управления ActiveX " mstscax": в интегрированной среде разработки Delphi:

1)Компонент - >Элемент управления ActiveX импорта

2)Выберите "Управление Служб Терминалов Microsoft"

 имя класса будет "TMsTscAx"

3) Выберите название единицы измерения и нажмите кнопку "Создать единицу измерения": вы создали единицу измерения импорта.

4)Создайте пакет или выберите существующий и добавьте созданный блок в этот пакет

 Перекомпилируйте пакет и теперь палитра Delphi будет содержать (на вкладке ActiveX, если вы  не изменил его в процессе импорта) компонент MstScax.

 

Теперь создайте новый проект Delphi и добавьте в него компонент Mstscax.

Давайте проанализируем интересные свойства этого нового компонента:

 

1)Сервер: это IP компьютера сервера Windows2000 настольного компьютера которого мы хотим

 подражать

2)BitmapPeristence:

 1 Если вы хотите кэшировать рисунки или 0 В противном случае

3)Обжать:

 1, если вы хотите кэшировать данные или 0 иначе 

 

С помощью метода "Connect" я открываю сеанс эмуляции терминала.

При "отключении" способ отключиться от сеанса эмуляции терминала, но Сам сеанс не закрывается на сервере.

 

Еще одна важная особенность "клиента служб терминалов" - это возможность определения программа, которая автоматически запускается, когда клиентская машина открывает терминал

сессии эмуляции. Можно программно решить эту задачу таким образом:

 

Set_StartProgram(<путь к exe>\<Имя файла exe>);

 

После определения автоматически запущенной программы клиентский компьютер увидит удаленный рабочий стол, который понятно, кроме наличия самой программы, это

полезно, если вы хотите ограничить оперативный диапазон клиентских компьютеров сама программа. Когда программа закрыта, соединение закрывается и сеанс

на компьютере сервера Windows 2000 закрыт.

 

Вот код примера проекта:


Code:

 

unit Main;

 

interface

 

uses

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

OleCtrls, ExtCtrls, StdCtrls,

MSTSCLib_TLB;//the import Unit: substitute it with the name you assigned

              //during the import process if this is different to it

 

type

TForm1 = class(TForm)

   MsTscAx1: TMsTscAx;

   Panel1: TPanel;

   btConnect: TButton;

   procedure btConnectClick(Sender: TObject); //connection button

   procedure FormCreate(Sender: TObject);

   procedure FormClose(Sender: TObject; var Action: TCloseAction);

   procedure MsTscAx1Disconnected(Sender: TObject;

     DisconnectReason: Integer);

   procedure MsTscAx1Connecting(Sender: TObject);

private

   { Private declarations }

public

   { Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.DFM}

 

procedure TForm1.btConnectClick(Sender: TObject);

begin

MsTscAx1.Connect;

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

Left   := 0;

Top    := 0;

Height := Screen.Height - 20;

Width  := Screen.Width;

 

MsTscAx1.Server := '1.2.3.4'; //substitute it with the IP Address of your server

with MsTscAx1.AdvancedSettings do

begin

   BitmapPeristence := 1;//enable bitmap cache

   Compress         := 1;//enable data cache

end;

with MsTscAx1.SecuredSettings do

begin

   Set_StartProgram('C:\Sviluppo\Delphi\DbBrowser.exe');

   //the program I want to run

end;

end;

 

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

if not btConnect.Enabled then

//I must close the automatically running program before closing

//my terminal emulation program

begin

   MessageDlg('Close "DbBrowser.exe" before closing the application!',

     mtInformation, [mbOK], 0);

   Action := caNone;

end;

end;

 

procedure TForm1.MsTscAx1Disconnected(Sender: TObject;

DisconnectReason: Integer);

begin

btConnect.Enabled := True;

end;

 

procedure TForm1.MsTscAx1Connecting(Sender: TObject);

begin

btConnect.Enabled := False;

end;

 

end.

 

{

In order to run this application in another computer you must copy the file

"mstscax.dll" on the target

computer and register it with "regsvr32" as shown at the beginning of this

article. You can automate this

process by embedding the file in your executable, etc..

 

Carlo Pasolini, Riccione(Italy), Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

}

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить