Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi'de Basit Bir Uzak Masaüstü Uygulaması
#1
Öncelikle Component Menüsünün altından Import Component->Vcl for Delphi Win32/64->Import a Type Library 'den rdpcomapi 1.0 type Libarary'yi  Install to New Package olarak ekleyin.Devamı kodlar aşağıda.
Masaüstünü Paylaşan Uygulama
unit Unit15;

interface

uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.OleServer,
 RDPCOMAPILib_TLB;

type
 TForm5 = class(TForm)
   RDPSession1: TRDPSession;
   Memo1: TMemo;
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
   procedure RDPSession1AttendeeConnected(ASender: TObject;
     const pAttendee: IDispatch);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);
var
inv:IRDPSRAPIInvitation;
begin

RDPSession1.Open();
RDPSession1.colordepth:=8 ;
;                                           //            grupadı/parola/bağlanabilecek uygulama sayısı
inv:=RDPSession1.Invitations.CreateInvitation(String.Empty,'savas','1',5); // 1. parametre NuLL olmazsa hata verebiliyor.
                                                                                    //bağlanabilecek bilgisayar sayısı

Memo1.Text:=inv.ConnectionString;  //burada oluşacak kodun karşıdan bağlanan uygulamanın alması lazım
                                 //ben burada oluşan kodu memonun textine verip oradan  kopyalayıp karşı uygulamanın memo textine gireceğim
                                 //ama siz bunu socket uygulamasıyla karşıya gönderebilirsiniz.vcl'de TServerSocket ve TClientSocket
                                 //bileşenleri bunun için oldukça uygun


end;

procedure TForm5.RDPSession1AttendeeConnected(ASender: TObject;
 const pAttendee: IDispatch);
 var
pRDPAtendee: IRDPSRAPIAttendee;
begin
pAttendee.QueryInterface(IID_IRDPSRAPIAttendee,pRDPAtendee);
pRDPAtendee.ControlLevel:=CTRL_LEVEL_MAX; //Paylaşılan oturumun control seviyesi
 //https://msdn.microsoft.com/en-us/library/aa373265(v=vs.85).aspx burada  seçenekler ve açıklamalar mevcut
end;

end.
   
Masaüstüne Bağlanan Uygulama

unit Unit16;

interface

uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.OleCtrls,
 RDPCOMAPILib_TLB, Vcl.ExtCtrls;

type
 TForm5 = class(TForm)
   Memo1: TMemo;
   Button1: TButton;
   Panel1: TPanel;
   RDPViewer1: TRDPViewer;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form5: TForm5;

implementation

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);
begin
RDPViewer1.SmartSizing:=true;  //ekranın büyüklüğüne göre masaüstü oranlanır.
                        //karşıdan gelen kod/grup adı/parola
RDPViewer1.Connect(Memo1.Text,'savas','1');   //Karşıdan alınan kod memonun textine girilmiş olmalı
end;

end.
   

Paylaşmak istedim arkadaşlar.Sizler zaten biliyorsunuzdur ama.
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla
#2
Hiç bir şey anlaşılmıyor ki Sad
Rdp uygulaması mı bu? Aşağıdaki gibi bir şey mi?
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla
#3
(27-09-2017, Saat: 22:03)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlHiç bir şey anlaşılmıyor ki Sad
Rdp uygulaması mı bu?  Aşağıdaki gibi bir şey mi?
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol

Hocam Ben uygulamayı oraya yazdım,denemeden anlaşılmayabilir Smile.Evet rdp uygulaması ama bu paylaştığınızla aynı library'yi kullanmıyor ve protokolleri farklı.Siz de anlamışsınızdır aynı olmadığını.
(Yanılmıyorsam )sizin kullandığınız library : microsoft terminal services active client 1.0 type library
benim kullandığım:rdpcomapi 1.0 type Library
Bizi Toprağa Gömdüler Fakat Tohum Olduğumuzu Bilmiyorlardı.
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi ile Json Parse İşlemi yhackup 12 729 Bugün, Saat: 07:59
Son Yorum: 10.Köy
Question delphi 10.1'den 10.2' ye geçiş BY-HAYALET 10 178 18-02-2018, Saat: 12:33
Son Yorum: BY-HAYALET
  Linux Console Uygulaması İle Fast Report Kullanılarak Yazıcılar Yönetilebilir mi ? mad85 2 50 15-02-2018, Saat: 23:49
Son Yorum: mad85
  Delphi ile NVİ KPS (Kimlik Paylaşım Sistemi) web servislerine bağlanma. csunguray 9 314 07-02-2018, Saat: 13:30
Son Yorum: ismailkocacan
  Delphi Eval Hakkında narkotik 8 184 26-01-2018, Saat: 01:46
Son Yorum: narkotik



Konuyu Okuyanlar: 1 Ziyaretçi