├── .gitattributes ├── .gitignore ├── Fontes Access PC - Delphi 7 ├── Bin │ └── Alerta.wav ├── Cliente │ ├── Access_PC_Client.cfg │ ├── Access_PC_Client.dof │ ├── Access_PC_Client.dpr │ ├── Access_PC_Client.res │ ├── Chat.ddp │ ├── Chat.dfm │ ├── Chat.pas │ ├── Conectar.ddp │ ├── Conectar.dfm │ ├── Conectar.pas │ ├── StreamManager.pas │ ├── UAC.RES │ ├── UAC.manifest │ ├── UAC.rc │ ├── ZLIBEX.pas │ ├── sndkey32.pas │ └── zlib │ │ ├── adler32.obj │ │ ├── deflate.obj │ │ ├── infblock.obj │ │ ├── infcodes.obj │ │ ├── inffast.obj │ │ ├── inflate.obj │ │ ├── inftrees.obj │ │ ├── infutil.obj │ │ └── trees.obj ├── Icones │ ├── Deleket-Sleek-Xp-Basic-Document-Blank.ico │ ├── Deleket-Sleek-Xp-Basic-Folder-Open.ico │ ├── Desktop (1).ico │ ├── Desktop.ico │ ├── folder_blue.png │ ├── icone.bmp │ └── icone2.bmp ├── Servidor │ ├── Access_PC.cfg │ ├── Access_PC.dof │ ├── Access_PC.dpr │ ├── Access_PC.res │ ├── Chat.ddp │ ├── Chat.dfm │ ├── Chat.pas │ ├── Desktop_Remoto.ddp │ ├── Desktop_Remoto.dfm │ ├── Desktop_Remoto.pas │ ├── File_Manager.ddp │ ├── File_Manager.dfm │ ├── File_Manager.pas │ ├── Lh5Unit.pas │ ├── Principal.ddp │ ├── Principal.dfm │ ├── Principal.pas │ ├── StreamManager.pas │ ├── UAC.RES │ ├── UAC.manifest │ ├── UAC.rc │ ├── ZLIBEX.pas │ └── zlib │ │ ├── adler32.obj │ │ ├── deflate.obj │ │ ├── infblock.obj │ │ ├── infcodes.obj │ │ ├── inffast.obj │ │ ├── inflate.obj │ │ ├── inftrees.obj │ │ ├── infutil.obj │ │ └── trees.obj └── Units │ ├── StreamManager.pas │ ├── ZLIBEX.pas │ ├── sndkey32.pas │ └── zlib │ ├── adler32.obj │ ├── deflate.obj │ ├── infblock.obj │ ├── infcodes.obj │ ├── inffast.obj │ ├── inflate.obj │ ├── inftrees.obj │ ├── infutil.obj │ └── trees.obj ├── Fontes Access PC - Delphi XE5 ├── Bin │ └── Alerta.wav ├── Cliente │ ├── Access_PC_Client.cfg │ ├── Access_PC_Client.dof │ ├── Access_PC_Client.dpr │ ├── Access_PC_Client.dproj │ ├── Access_PC_Client.res │ ├── Access_PC_Client_Icon.ico │ ├── Chat.ddp │ ├── Chat.dfm │ ├── Chat.pas │ ├── Conectar.ddp │ ├── Conectar.dfm │ ├── Conectar.pas │ ├── StreamManager.pas │ ├── UAC.RES │ ├── UAC.manifest │ ├── UAC.rc │ ├── ZLIBEX.pas │ ├── sndkey32.pas │ └── zlib │ │ ├── adler32.obj │ │ ├── deflate.obj │ │ ├── infblock.obj │ │ ├── infcodes.obj │ │ ├── inffast.obj │ │ ├── inflate.obj │ │ ├── inftrees.obj │ │ ├── infutil.obj │ │ └── trees.obj ├── Icones │ ├── Deleket-Sleek-Xp-Basic-Document-Blank.ico │ ├── Deleket-Sleek-Xp-Basic-Folder-Open.ico │ ├── Desktop (1).ico │ ├── Desktop.ico │ ├── folder_blue.png │ ├── icone.bmp │ └── icone2.bmp ├── Projeto_Access_PC.groupproj ├── Servidor │ ├── Access_PC.cfg │ ├── Access_PC.dof │ ├── Access_PC.dpr │ ├── Access_PC.dproj │ ├── Access_PC.res │ ├── Access_PC_Icon.ico │ ├── Chat.ddp │ ├── Chat.dfm │ ├── Chat.pas │ ├── Desktop_Remoto.ddp │ ├── Desktop_Remoto.dfm │ ├── Desktop_Remoto.pas │ ├── File_Manager.ddp │ ├── File_Manager.dfm │ ├── File_Manager.pas │ ├── Lh5Unit.pas │ ├── Principal.ddp │ ├── Principal.dfm │ ├── Principal.pas │ ├── StreamManager.pas │ ├── UAC.RES │ ├── UAC.manifest │ ├── UAC.rc │ ├── ZLIBEX.pas │ └── zlib │ │ ├── adler32.obj │ │ ├── deflate.obj │ │ ├── infblock.obj │ │ ├── infcodes.obj │ │ ├── inffast.obj │ │ ├── inflate.obj │ │ ├── inftrees.obj │ │ ├── infutil.obj │ │ └── trees.obj └── Units │ ├── StreamManager.pas │ ├── ZLIBEX.pas │ ├── sndkey32.pas │ └── zlib │ ├── adler32.obj │ ├── deflate.obj │ ├── infblock.obj │ ├── infcodes.obj │ ├── inffast.obj │ ├── inflate.obj │ ├── inftrees.obj │ ├── infutil.obj │ └── trees.obj ├── Informações do Access PC.pdf └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear on external disk 35 | .Spotlight-V100 36 | .Trashes 37 | 38 | # Directories potentially created on remote AFP share 39 | .AppleDB 40 | .AppleDesktop 41 | Network Trash Folder 42 | Temporary Items 43 | .apdisk 44 | 45 | 46 | # Delphi Files 47 | *.dcu 48 | *.local 49 | *.tvsconfig 50 | *.identcache 51 | __history/ 52 | 53 | 54 | # Bin 55 | *.exe 56 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Bin/Alerta.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Bin/Alerta.wav -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/Access_PC_Client.cfg: -------------------------------------------------------------------------------- 1 | -$A8 2 | -$B- 3 | -$C+ 4 | -$D+ 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J- 11 | -$K- 12 | -$L+ 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$YD 26 | -$Z1 27 | -cg 28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -E"..\Bin\" 35 | -LE"c:\program files (x86)\borland\delphi7\Projects\Bpl" 36 | -LN"c:\program files (x86)\borland\delphi7\Projects\Bpl" 37 | -w-UNSAFE_TYPE 38 | -w-UNSAFE_CODE 39 | -w-UNSAFE_CAST 40 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/Access_PC_Client.dof: -------------------------------------------------------------------------------- 1 | [FileVersion] 2 | Version=7.0 3 | [Compiler] 4 | A=8 5 | B=0 6 | C=1 7 | D=1 8 | E=0 9 | F=0 10 | G=1 11 | H=1 12 | I=1 13 | J=0 14 | K=0 15 | L=1 16 | M=0 17 | N=1 18 | O=1 19 | P=1 20 | Q=0 21 | R=0 22 | S=0 23 | T=0 24 | U=0 25 | V=1 26 | W=0 27 | X=1 28 | Y=1 29 | Z=1 30 | ShowHints=1 31 | ShowWarnings=1 32 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 33 | NamespacePrefix= 34 | SymbolDeprecated=1 35 | SymbolLibrary=1 36 | SymbolPlatform=1 37 | UnitLibrary=1 38 | UnitPlatform=1 39 | UnitDeprecated=1 40 | HResultCompat=1 41 | HidingMember=1 42 | HiddenVirtual=1 43 | Garbage=1 44 | BoundsError=1 45 | ZeroNilCompat=1 46 | StringConstTruncated=1 47 | ForLoopVarVarPar=1 48 | TypedConstVarPar=1 49 | AsgToTypedConst=1 50 | CaseLabelRange=1 51 | ForVariable=1 52 | ConstructingAbstract=1 53 | ComparisonFalse=1 54 | ComparisonTrue=1 55 | ComparingSignedUnsigned=1 56 | CombiningSignedUnsigned=1 57 | UnsupportedConstruct=1 58 | FileOpen=1 59 | FileOpenUnitSrc=1 60 | BadGlobalSymbol=1 61 | DuplicateConstructorDestructor=1 62 | InvalidDirective=1 63 | PackageNoLink=1 64 | PackageThreadVar=1 65 | ImplicitImport=1 66 | HPPEMITIgnored=1 67 | NoRetVal=1 68 | UseBeforeDef=1 69 | ForLoopVarUndef=1 70 | UnitNameMismatch=1 71 | NoCFGFileFound=1 72 | MessageDirective=1 73 | ImplicitVariants=1 74 | UnicodeToLocale=1 75 | LocaleToUnicode=1 76 | ImagebaseMultiple=1 77 | SuspiciousTypecast=1 78 | PrivatePropAccessor=1 79 | UnsafeType=0 80 | UnsafeCode=0 81 | UnsafeCast=0 82 | [Linker] 83 | MapFile=0 84 | OutputObjs=0 85 | ConsoleApp=1 86 | DebugInfo=0 87 | RemoteSymbols=0 88 | MinStackSize=16384 89 | MaxStackSize=1048576 90 | ImageBase=4194304 91 | ExeDescription= 92 | [Directories] 93 | OutputDir=..\Bin\ 94 | UnitOutputDir= 95 | PackageDLLOutputDir= 96 | PackageDCPOutputDir= 97 | SearchPath= 98 | Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;CoolTrayIcon_D6plus 99 | Conditionals= 100 | DebugSourceDirs= 101 | UsePackages=0 102 | [Parameters] 103 | RunParams= 104 | HostApplication= 105 | Launcher= 106 | UseLauncher=0 107 | DebugCWD= 108 | [Language] 109 | ActiveLang= 110 | ProjectLang= 111 | RootDir= 112 | [Version Info] 113 | IncludeVerInfo=1 114 | AutoIncBuild=0 115 | MajorVer=1 116 | MinorVer=1 117 | Release=8 118 | Build=27 119 | Debug=0 120 | PreRelease=0 121 | Special=0 122 | Private=0 123 | DLL=0 124 | Locale=1046 125 | CodePage=1252 126 | [Version Info Keys] 127 | CompanyName=Deploy Team 128 | FileDescription=Acesso Remoto 129 | FileVersion=1.1.8.27 130 | InternalName=Access PC 131 | LegalCopyright=Deploy Team 132 | LegalTrademarks=Deploy Team 133 | OriginalFilename=Access PC 134 | ProductName=Access PC 135 | ProductVersion=1.0.0.0 136 | Comments=Acesso Remoto 137 | [HistoryLists\hlUnitAliases] 138 | Count=1 139 | Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 140 | [HistoryLists\hlOutputDirectorry] 141 | Count=1 142 | Item0=..\Bin\ 143 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/Access_PC_Client.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/Access_PC_Client.dpr -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/Access_PC_Client.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/Access_PC_Client.res -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/Chat.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/Chat.ddp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/Chat.dfm: -------------------------------------------------------------------------------- 1 | object Form2: TForm2 2 | Left = 553 3 | Top = 144 4 | Width = 573 5 | Height = 287 6 | Caption = 'Access PC - Chat' 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poDesktopCenter 15 | OnClose = FormClose 16 | PixelsPerInch = 96 17 | TextHeight = 13 18 | object Memo2: TMemo 19 | Left = 0 20 | Top = 0 21 | Width = 565 22 | Height = 175 23 | Align = alClient 24 | ReadOnly = True 25 | ScrollBars = ssVertical 26 | TabOrder = 1 27 | end 28 | object Memo1: TMemo 29 | Left = 0 30 | Top = 175 31 | Width = 565 32 | Height = 81 33 | Align = alBottom 34 | ScrollBars = ssVertical 35 | TabOrder = 0 36 | OnKeyDown = Memo1KeyDown 37 | OnKeyUp = Memo1KeyUp 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/Chat.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/Chat.pas -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/Conectar.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/Conectar.ddp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/Conectar.dfm: -------------------------------------------------------------------------------- 1 | object Form1: TForm1 2 | Left = 192 3 | Top = 124 4 | BorderIcons = [biSystemMenu, biMinimize] 5 | BorderStyle = bsSingle 6 | Caption = 'Access PC' 7 | ClientHeight = 164 8 | ClientWidth = 293 9 | Color = clBtnFace 10 | Font.Charset = DEFAULT_CHARSET 11 | Font.Color = clWindowText 12 | Font.Height = -11 13 | Font.Name = 'MS Sans Serif' 14 | Font.Style = [] 15 | OldCreateOrder = False 16 | Position = poDesktopCenter 17 | PixelsPerInch = 96 18 | TextHeight = 13 19 | object Label1: TLabel 20 | Left = 8 21 | Top = 16 22 | Width = 40 23 | Height = 13 24 | Caption = 'IP/Host:' 25 | end 26 | object Label2: TLabel 27 | Left = 200 28 | Top = 16 29 | Width = 28 30 | Height = 13 31 | Caption = 'Porta:' 32 | end 33 | object Label3: TLabel 34 | Left = 8 35 | Top = 48 36 | Width = 34 37 | Height = 13 38 | Caption = 'Senha:' 39 | end 40 | object Label4: TLabel 41 | Left = 8 42 | Top = 77 43 | Width = 64 44 | Height = 13 45 | Caption = 'Identifica'#231#227'o:' 46 | end 47 | object Edit1: TEdit 48 | Left = 56 49 | Top = 12 50 | Width = 121 51 | Height = 21 52 | TabOrder = 0 53 | end 54 | object Edit2: TEdit 55 | Left = 232 56 | Top = 12 57 | Width = 49 58 | Height = 21 59 | TabOrder = 1 60 | Text = '6651' 61 | end 62 | object Edit3: TEdit 63 | Left = 56 64 | Top = 44 65 | Width = 225 66 | Height = 21 67 | PasswordChar = '*' 68 | TabOrder = 2 69 | end 70 | object Button1: TButton 71 | Left = 8 72 | Top = 112 73 | Width = 75 74 | Height = 25 75 | Caption = 'Conectar' 76 | TabOrder = 4 77 | OnClick = Button1Click 78 | end 79 | object StatusBar1: TStatusBar 80 | Left = 0 81 | Top = 145 82 | Width = 293 83 | Height = 19 84 | Panels = < 85 | item 86 | Text = 'Status:' 87 | Width = 50 88 | end 89 | item 90 | Text = 'Desconectado' 91 | Width = 150 92 | end> 93 | end 94 | object Edit4: TEdit 95 | Left = 80 96 | Top = 73 97 | Width = 201 98 | Height = 21 99 | TabOrder = 3 100 | Text = 'Access PC - Cliente' 101 | end 102 | object CheckBox1: TCheckBox 103 | Left = 88 104 | Top = 116 105 | Width = 201 106 | Height = 17 107 | Caption = 'Auto reconectar se perder Conex'#227'o' 108 | TabOrder = 5 109 | end 110 | object CS1: TClientSocket 111 | Active = False 112 | ClientType = ctNonBlocking 113 | Port = 0 114 | OnConnecting = CS1Connecting 115 | OnConnect = CS1Connect 116 | OnDisconnect = CS1Disconnect 117 | OnRead = CS1Read 118 | OnError = CS1Error 119 | Left = 88 120 | Top = 88 121 | end 122 | object CS2: TClientSocket 123 | Active = False 124 | ClientType = ctNonBlocking 125 | Port = 0 126 | OnConnect = CS2Connect 127 | OnRead = CS2Read 128 | OnError = CS2Error 129 | Left = 120 130 | Top = 88 131 | end 132 | object CS3: TClientSocket 133 | Active = False 134 | ClientType = ctNonBlocking 135 | Port = 0 136 | OnConnect = CS3Connect 137 | OnRead = CS3Read 138 | OnError = CS3Error 139 | Left = 152 140 | Top = 88 141 | end 142 | object Timer1: TTimer 143 | Enabled = False 144 | Interval = 15000 145 | OnTimer = Timer1Timer 146 | Left = 256 147 | Top = 56 148 | end 149 | object Timer2: TTimer 150 | Enabled = False 151 | Interval = 15000 152 | OnTimer = Timer2Timer 153 | Left = 224 154 | Top = 56 155 | end 156 | object CS4: TClientSocket 157 | Active = False 158 | ClientType = ctNonBlocking 159 | Port = 0 160 | OnConnect = CS4Connect 161 | OnRead = CS4Read 162 | OnError = CS4Error 163 | Left = 184 164 | Top = 88 165 | end 166 | object CS5: TClientSocket 167 | Active = False 168 | ClientType = ctNonBlocking 169 | Port = 0 170 | OnConnect = CS6Connect 171 | OnRead = CS5Read 172 | OnError = CS6Error 173 | Left = 216 174 | Top = 88 175 | end 176 | end 177 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/Conectar.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/Conectar.pas -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/StreamManager.pas: -------------------------------------------------------------------------------- 1 | unit StreamManager; 2 | 3 | interface 4 | 5 | uses 6 | Windows,Classes,Graphics; 7 | 8 | procedure GetScreenToBmp(DrawCur:Boolean;StreamName:TMemoryStream); 9 | procedure CompareStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 10 | procedure ResumeStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 11 | 12 | implementation 13 | 14 | // Captura a tela 15 | procedure GetScreenToBmp(DrawCur:Boolean;StreamName:TMemoryStream); 16 | var 17 | Mybmp:Tbitmap; 18 | Cursorx, Cursory: integer; 19 | dc: hdc; 20 | Mycan: Tcanvas; 21 | R: TRect; 22 | DrawPos: TPoint; 23 | MyCursor: TIcon; 24 | hld: hwnd; 25 | Threadld: dword; 26 | mp: tpoint; 27 | pIconInfo: TIconInfo; 28 | begin 29 | Mybmp := Tbitmap.Create; 30 | Mycan := TCanvas.Create; 31 | dc := GetWindowDC(0); 32 | try 33 | Mycan.Handle := dc; 34 | R := Rect(0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN)); 35 | Mybmp.Width := R.Right; 36 | Mybmp.Height := R.Bottom; 37 | Mybmp.Canvas.CopyRect(R, Mycan, R); 38 | finally 39 | releaseDC(0, DC); 40 | end; 41 | Mycan.Handle := 0; 42 | Mycan.Free; 43 | 44 | if DrawCur then 45 | begin 46 | GetCursorPos(DrawPos); 47 | MyCursor := TIcon.Create; 48 | getcursorpos(mp); 49 | hld := WindowFromPoint(mp); 50 | Threadld := GetWindowThreadProcessId(hld, nil); 51 | AttachThreadInput(GetCurrentThreadId, Threadld, True); 52 | MyCursor.Handle := Getcursor(); 53 | AttachThreadInput(GetCurrentThreadId, threadld, False); 54 | GetIconInfo(Mycursor.Handle, pIconInfo); 55 | cursorx := DrawPos.x - round(pIconInfo.xHotspot); 56 | cursory := DrawPos.y - round(pIconInfo.yHotspot); 57 | Mybmp.Canvas.Draw(cursorx, cursory, MyCursor); 58 | DeleteObject(pIconInfo.hbmColor); 59 | DeleteObject(pIconInfo.hbmMask); 60 | Mycursor.ReleaseHandle; 61 | MyCursor.Free; 62 | end; 63 | Mybmp.PixelFormat:=pf8bit; 64 | Mybmp.SaveToStream(StreamName); 65 | Mybmp.Free; 66 | end; 67 | 68 | // Compara as Streams e as Separam quando os Pixels da Bitmap forem iguais. 69 | procedure CompareStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 70 | var 71 | I: Integer; 72 | P1, P2, P3: ^Char; 73 | begin 74 | MySecondStream.Clear; 75 | MyCompareStream.Clear; 76 | GetScreenToBmp(true,MySecondStream); 77 | 78 | P1 := MyFirstStream.Memory; 79 | P2 := MySecondStream.Memory; 80 | MyCompareStream.SetSize(MyFirstStream.Size); 81 | P3 := MyCompareStream.Memory; 82 | 83 | for I := 0 to MyFirstStream.Size - 1 do 84 | begin 85 | if P1^ = P2^ then 86 | P3^ := '0' 87 | else 88 | P3^ := P2^; 89 | Inc(P1); 90 | Inc(P2); 91 | Inc(P3); 92 | end; 93 | 94 | MyFirstStream.Clear; 95 | MyFirstStream.CopyFrom(MySecondStream,0); 96 | end; 97 | 98 | // Modifica as Streams para reajustar os Pixels da Bitmap 99 | procedure ResumeStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 100 | var 101 | I: Integer; 102 | P1, P2, P3: ^Char; 103 | begin 104 | P1 := MyFirstStream.Memory; 105 | MySecondStream.SetSize(MyFirstStream.Size); 106 | P2 := MySecondStream.Memory; 107 | P3 := MyCompareStream.Memory; 108 | 109 | for I := 0 to MyFirstStream.Size - 1 do 110 | begin 111 | if P3^ = '0' then 112 | P2^ := p1^ 113 | else 114 | P2^ := P3^; 115 | Inc(P1); 116 | Inc(P2); 117 | Inc(P3); 118 | end; 119 | 120 | MyFirstStream.Clear; 121 | MyFirstStream.CopyFrom(MySecondStream,0); 122 | MySecondStream.Position:=0; 123 | end; 124 | 125 | end. 126 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/UAC.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/UAC.RES -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/UAC.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/UAC.rc: -------------------------------------------------------------------------------- 1 | 1 24 "UAC.manifest" -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/sndkey32.pas: -------------------------------------------------------------------------------- 1 | (* 2 | SendKeys routine for 32-bit Delphi. 3 | 4 | Written by Ken Henderson 5 | 6 | Copyright (c) 1995 Ken Henderson 7 | 8 | This unit includes two routines that simulate popular Visual Basic 9 | routines: Sendkeys and AppActivate. SendKeys takes a PChar 10 | as its first parameter and a boolean as its second, like so: 11 | 12 | SendKeys('KeyString', Wait); 13 | 14 | where KeyString is a string of key names and modifiers that you want 15 | to send to the current input focus and Wait is a boolean variable or value 16 | that indicates whether SendKeys should wait for each key message to be 17 | processed before proceeding. See the table below for more information. 18 | 19 | AppActivate also takes a PChar as its only parameter, like so: 20 | 21 | AppActivate('WindowName'); 22 | 23 | where WindowName is the name of the window that you want to make the 24 | current input focus. 25 | 26 | SendKeys supports the Visual Basic SendKeys syntax, as documented below. 27 | 28 | Supported modifiers: 29 | 30 | + = Shift 31 | ^ = Control 32 | % = Alt 33 | 34 | Surround sequences of characters or key names with parentheses in order to 35 | modify them as a group. For example, '+abc' shifts only 'a', while '+(abc)' shifts 36 | all three characters. 37 | 38 | Supported special characters 39 | 40 | ~ = Enter 41 | ( = Begin modifier group (see above) 42 | ) = End modifier group (see above) 43 | { = Begin key name text (see below) 44 | } = End key name text (see below) 45 | 46 | Supported characters: 47 | 48 | Any character that can be typed is supported. Surround the modifier keys 49 | listed above with braces in order to send as normal text. 50 | 51 | Supported key names (surround these with braces): 52 | 53 | BKSP, BS, BACKSPACE 54 | BREAK 55 | CAPSLOCK 56 | CLEAR 57 | DEL 58 | DELETE 59 | DOWN 60 | END 61 | ENTER 62 | ESC 63 | ESCAPE 64 | F1 65 | F2 66 | F3 67 | F4 68 | F5 69 | F6 70 | F7 71 | F8 72 | F9 73 | F10 74 | F11 75 | F12 76 | F13 77 | F14 78 | F15 79 | F16 80 | HELP 81 | HOME 82 | INS 83 | LEFT 84 | NUMLOCK 85 | PGDN 86 | PGUP 87 | PRTSC 88 | RIGHT 89 | SCROLLLOCK 90 | TAB 91 | UP 92 | 93 | Follow the keyname with a space and a number to send the specified key a 94 | given number of times (e.g., {left 6}). 95 | *) 96 | 97 | unit sndkey32; 98 | 99 | interface 100 | 101 | Uses SysUtils, Windows, Messages; 102 | 103 | Function SendKeys(SendKeysString : PChar; Wait : Boolean) : Boolean; 104 | function AppActivate(WindowName : PChar) : boolean; overload; 105 | function AppActivate(WindowHandle : HWND) : boolean; overload; 106 | 107 | {Buffer for working with PChar's} 108 | 109 | const 110 | WorkBufLen = 40; 111 | var 112 | WorkBuf : array[0..WorkBufLen] of Char; 113 | 114 | implementation 115 | type 116 | THKeys = array[0..pred(MaxLongInt)] of byte; 117 | var 118 | AllocationSize : integer; 119 | 120 | (* 121 | Converts a string of characters and key names to keyboard events and 122 | passes them to Windows. 123 | 124 | Example syntax: 125 | 126 | SendKeys('abc123{left}{left}{left}def{end}456{left 6}ghi{end}789', True); 127 | 128 | *) 129 | 130 | Function SendKeys(SendKeysString : PChar; Wait : Boolean) : Boolean; 131 | type 132 | WBytes = array[0..pred(SizeOf(Word))] of Byte; 133 | 134 | TSendKey = record 135 | Name : ShortString; 136 | VKey : Byte; 137 | end; 138 | 139 | const 140 | {Array of keys that SendKeys recognizes. 141 | 142 | If you add to this list, you must be sure to keep it sorted alphabetically 143 | by Name because a binary search routine is used to scan it.} 144 | 145 | MaxSendKeyRecs = 41; 146 | SendKeyRecs : array[1..MaxSendKeyRecs] of TSendKey = 147 | ( 148 | (Name:'BACKSPACE'; VKey:VK_BACK), 149 | (Name:'BKSP'; VKey:VK_BACK), 150 | (Name:'BREAK'; VKey:VK_CANCEL), 151 | (Name:'BS'; VKey:VK_BACK), 152 | (Name:'CAPSLOCK'; VKey:VK_CAPITAL), 153 | (Name:'CLEAR'; VKey:VK_CLEAR), 154 | (Name:'DEL'; VKey:VK_DELETE), 155 | (Name:'DELETE'; VKey:VK_DELETE), 156 | (Name:'DOWN'; VKey:VK_DOWN), 157 | (Name:'END'; VKey:VK_END), 158 | (Name:'ENTER'; VKey:VK_RETURN), 159 | (Name:'ESC'; VKey:VK_ESCAPE), 160 | (Name:'ESCAPE'; VKey:VK_ESCAPE), 161 | (Name:'F1'; VKey:VK_F1), 162 | (Name:'F10'; VKey:VK_F10), 163 | (Name:'F11'; VKey:VK_F11), 164 | (Name:'F12'; VKey:VK_F12), 165 | (Name:'F13'; VKey:VK_F13), 166 | (Name:'F14'; VKey:VK_F14), 167 | (Name:'F15'; VKey:VK_F15), 168 | (Name:'F16'; VKey:VK_F16), 169 | (Name:'F2'; VKey:VK_F2), 170 | (Name:'F3'; VKey:VK_F3), 171 | (Name:'F4'; VKey:VK_F4), 172 | (Name:'F5'; VKey:VK_F5), 173 | (Name:'F6'; VKey:VK_F6), 174 | (Name:'F7'; VKey:VK_F7), 175 | (Name:'F8'; VKey:VK_F8), 176 | (Name:'F9'; VKey:VK_F9), 177 | (Name:'HELP'; VKey:VK_HELP), 178 | (Name:'HOME'; VKey:VK_HOME), 179 | (Name:'INS'; VKey:VK_INSERT), 180 | (Name:'LEFT'; VKey:VK_LEFT), 181 | (Name:'NUMLOCK'; VKey:VK_NUMLOCK), 182 | (Name:'PGDN'; VKey:VK_NEXT), 183 | (Name:'PGUP'; VKey:VK_PRIOR), 184 | (Name:'PRTSC'; VKey:VK_PRINT), 185 | (Name:'RIGHT'; VKey:VK_RIGHT), 186 | (Name:'SCROLLLOCK'; VKey:VK_SCROLL), 187 | (Name:'TAB'; VKey:VK_TAB), 188 | (Name:'UP'; VKey:VK_UP) 189 | ); 190 | 191 | {Extra VK constants missing from Delphi's Windows API interface} 192 | VK_NULL=0; 193 | VK_SemiColon=186; 194 | VK_Equal=187; 195 | VK_Comma=188; 196 | VK_Minus=189; 197 | VK_Period=190; 198 | VK_Slash=191; 199 | VK_BackQuote=192; 200 | VK_LeftBracket=219; 201 | VK_BackSlash=220; 202 | VK_RightBracket=221; 203 | VK_Quote=222; 204 | VK_Last=VK_Quote; 205 | 206 | ExtendedVKeys : set of byte = 207 | [VK_Up, 208 | VK_Down, 209 | VK_Left, 210 | VK_Right, 211 | VK_Home, 212 | VK_End, 213 | VK_Prior, {PgUp} 214 | VK_Next, {PgDn} 215 | VK_Insert, 216 | VK_Delete]; 217 | 218 | const 219 | INVALIDKEY = $FFFF {Unsigned -1}; 220 | VKKEYSCANSHIFTON = $01; 221 | VKKEYSCANCTRLON = $02; 222 | VKKEYSCANALTON = $04; 223 | UNITNAME = 'SendKeys'; 224 | var 225 | UsingParens, ShiftDown, ControlDown, AltDown, FoundClose : Boolean; 226 | PosSpace : Byte; 227 | I, L : Integer; 228 | NumTimes, MKey : Word; 229 | KeyString : String[20]; 230 | 231 | procedure DisplayMessage(Message : PChar); 232 | begin 233 | // MessageBox(0,Message,UNITNAME,0); 234 | end; 235 | 236 | function BitSet(BitTable, BitMask : Byte) : Boolean; 237 | begin 238 | Result:=ByteBool(BitTable and BitMask); 239 | end; 240 | 241 | procedure SetBit(var BitTable : Byte; BitMask : Byte); 242 | begin 243 | BitTable:=BitTable or Bitmask; 244 | end; 245 | 246 | Procedure KeyboardEvent(VKey, ScanCode : Byte; Flags : Longint); 247 | var 248 | KeyboardMsg : TMsg; 249 | begin 250 | keybd_event(VKey, ScanCode, Flags,0); 251 | If (Wait) then While (PeekMessage(KeyboardMsg,0,WM_KEYFIRST, WM_KEYLAST, PM_REMOVE)) do begin 252 | TranslateMessage(KeyboardMsg); 253 | DispatchMessage(KeyboardMsg); 254 | end; 255 | end; 256 | 257 | Procedure SendKeyDown(VKey: Byte; NumTimes : Word; GenUpMsg : Boolean); 258 | var 259 | Cnt : Word; 260 | ScanCode : Byte; 261 | NumState : Boolean; 262 | KeyBoardState : TKeyboardState; 263 | begin 264 | If (VKey=VK_NUMLOCK) then begin 265 | NumState:=ByteBool(GetKeyState(VK_NUMLOCK) and 1); 266 | GetKeyBoardState(KeyBoardState); 267 | If NumState then KeyBoardState[VK_NUMLOCK]:=(KeyBoardState[VK_NUMLOCK] and not 1) 268 | else KeyBoardState[VK_NUMLOCK]:=(KeyBoardState[VK_NUMLOCK] or 1); 269 | SetKeyBoardState(KeyBoardState); 270 | exit; 271 | end; 272 | 273 | ScanCode:=Lo(MapVirtualKey(VKey,0)); 274 | For Cnt:=1 to NumTimes do 275 | If (VKey in ExtendedVKeys)then begin 276 | KeyboardEvent(VKey, ScanCode, KEYEVENTF_EXTENDEDKEY); 277 | If (GenUpMsg) then 278 | KeyboardEvent(VKey, ScanCode, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP) 279 | end else begin 280 | KeyboardEvent(VKey, ScanCode, 0); 281 | If (GenUpMsg) then KeyboardEvent(VKey, ScanCode, KEYEVENTF_KEYUP); 282 | end; 283 | end; 284 | 285 | Procedure SendKeyUp(VKey: Byte); 286 | var 287 | ScanCode : Byte; 288 | begin 289 | ScanCode:=Lo(MapVirtualKey(VKey,0)); 290 | If (VKey in ExtendedVKeys)then 291 | KeyboardEvent(VKey, ScanCode, KEYEVENTF_EXTENDEDKEY and KEYEVENTF_KEYUP) 292 | else KeyboardEvent(VKey, ScanCode, KEYEVENTF_KEYUP); 293 | end; 294 | 295 | Procedure SendKey(MKey: Word; NumTimes : Word; GenDownMsg : Boolean); 296 | begin 297 | If (BitSet(Hi(MKey),VKKEYSCANSHIFTON)) then SendKeyDown(VK_SHIFT,1,False); 298 | If (BitSet(Hi(MKey),VKKEYSCANCTRLON)) then SendKeyDown(VK_CONTROL,1,False); 299 | If (BitSet(Hi(MKey),VKKEYSCANALTON)) then SendKeyDown(VK_MENU,1,False); 300 | SendKeyDown(Lo(MKey), NumTimes, GenDownMsg); 301 | If (BitSet(Hi(MKey),VKKEYSCANSHIFTON)) then SendKeyUp(VK_SHIFT); 302 | If (BitSet(Hi(MKey),VKKEYSCANCTRLON)) then SendKeyUp(VK_CONTROL); 303 | If (BitSet(Hi(MKey),VKKEYSCANALTON)) then SendKeyUp(VK_MENU); 304 | end; 305 | 306 | {Implements a simple binary search to locate special key name strings} 307 | 308 | Function StringToVKey(KeyString : ShortString) : Word; 309 | var 310 | Found, Collided : Boolean; 311 | Bottom, Top, Middle : Byte; 312 | begin 313 | Result:=INVALIDKEY; 314 | Bottom:=1; 315 | Top:=MaxSendKeyRecs; 316 | Found:=false; 317 | Middle:=(Bottom+Top) div 2; 318 | Repeat 319 | Collided:=((Bottom=Middle) or (Top=Middle)); 320 | If (KeyString=SendKeyRecs[Middle].Name) then begin 321 | Found:=True; 322 | Result:=SendKeyRecs[Middle].VKey; 323 | end else begin 324 | If (KeyString>SendKeyRecs[Middle].Name) then Bottom:=Middle 325 | else Top:=Middle; 326 | Middle:=(Succ(Bottom+Top)) div 2; 327 | end; 328 | Until (Found or Collided); 329 | If (Result=INVALIDKEY) then DisplayMessage('Invalid Key Name'); 330 | end; 331 | 332 | procedure PopUpShiftKeys; 333 | begin 334 | If (not UsingParens) then begin 335 | If ShiftDown then SendKeyUp(VK_SHIFT); 336 | If ControlDown then SendKeyUp(VK_CONTROL); 337 | If AltDown then SendKeyUp(VK_MENU); 338 | ShiftDown:=false; 339 | ControlDown:=false; 340 | AltDown:=false; 341 | end; 342 | end; 343 | 344 | begin 345 | AllocationSize:=MaxInt; 346 | Result:=false; 347 | UsingParens:=false; 348 | ShiftDown:=false; 349 | ControlDown:=false; 350 | AltDown:=false; 351 | I:=0; 352 | L:=StrLen(SendKeysString); 353 | If (L>AllocationSize) then L:=AllocationSize; 354 | If (L=0) then Exit; 355 | 356 | While (I0) then begin 417 | NumTimes:=StrToInt(Copy(KeyString,Succ(PosSpace),Length(KeyString)-PosSpace)); 418 | KeyString:=Copy(KeyString,1,Pred(PosSpace)); 419 | end; 420 | If (Length(KeyString)=1) then MKey:=vkKeyScan(KeyString[1]) 421 | else MKey:=StringToVKey(KeyString); 422 | If (MKey<>INVALIDKEY) then begin 423 | SendKey(MKey,NumTimes,True); 424 | PopUpShiftKeys; 425 | Continue; 426 | end; 427 | end; 428 | '~' : begin 429 | SendKeyDown(VK_RETURN,1,True); 430 | PopUpShiftKeys; 431 | Inc(I); 432 | end; 433 | else begin 434 | MKey:=vkKeyScan(SendKeysString[I]); 435 | If (MKey<>INVALIDKEY) then begin 436 | SendKey(MKey,1,True); 437 | PopUpShiftKeys; 438 | end else DisplayMessage('Invalid KeyName'); 439 | Inc(I); 440 | end; 441 | end; 442 | end; 443 | Result:=true; 444 | PopUpShiftKeys; 445 | end; 446 | 447 | {AppActivate 448 | 449 | This is used to set the current input focus to a given window using its 450 | name. This is especially useful for ensuring a window is active before 451 | sending it input messages using the SendKeys function. You can specify 452 | a window's name in its entirety, or only portion of it, beginning from 453 | the left. 454 | 455 | } 456 | 457 | 458 | var 459 | WindowHandle : HWND; 460 | 461 | function EnumWindowsProc(WHandle: HWND; lParam: LPARAM): BOOL; export; stdcall; 462 | var 463 | WindowName : array[0..MAX_PATH] of char; 464 | begin 465 | {Can't test GetWindowText's return value since some windows don't have a title} 466 | GetWindowText(WHandle,WindowName,MAX_PATH); 467 | Result := (StrLIComp(WindowName,PChar(lParam), StrLen(PChar(lParam))) <> 0); 468 | If (not Result) then WindowHandle:=WHandle; 469 | end; 470 | 471 | function AppActivate(WindowHandle : HWND) : boolean; overload; 472 | begin 473 | try 474 | SendMessage(WindowHandle, WM_SYSCOMMAND, SC_HOTKEY, WindowHandle); 475 | SendMessage(WindowHandle, WM_SYSCOMMAND, SC_RESTORE, WindowHandle); 476 | result := SetForegroundWindow(WindowHandle); 477 | except 478 | on Exception do Result:=false; 479 | end; 480 | end; 481 | 482 | function AppActivate(WindowName : PChar) : boolean; overload; 483 | begin 484 | try 485 | Result:=true; 486 | WindowHandle:=FindWindow(nil,WindowName); 487 | If (WindowHandle=0) then EnumWindows(@EnumWindowsProc,Integer(PChar(WindowName))); 488 | If (WindowHandle<>0) then begin 489 | SendMessage(WindowHandle, WM_SYSCOMMAND, SC_HOTKEY, WindowHandle); 490 | SendMessage(WindowHandle, WM_SYSCOMMAND, SC_RESTORE, WindowHandle); 491 | SetForegroundWindow(WindowHandle); 492 | end else Result:=false; 493 | except 494 | on Exception do Result:=false; 495 | end; 496 | end; 497 | 498 | 499 | 500 | end. 501 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/zlib/adler32.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/zlib/adler32.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/zlib/deflate.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/zlib/deflate.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/zlib/infblock.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/zlib/infblock.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/zlib/infcodes.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/zlib/infcodes.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/zlib/inffast.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/zlib/inffast.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/zlib/inflate.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/zlib/inflate.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/zlib/inftrees.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/zlib/inftrees.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/zlib/infutil.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/zlib/infutil.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Cliente/zlib/trees.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Cliente/zlib/trees.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Icones/Deleket-Sleek-Xp-Basic-Document-Blank.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Icones/Deleket-Sleek-Xp-Basic-Document-Blank.ico -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Icones/Deleket-Sleek-Xp-Basic-Folder-Open.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Icones/Deleket-Sleek-Xp-Basic-Folder-Open.ico -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Icones/Desktop (1).ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Icones/Desktop (1).ico -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Icones/Desktop.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Icones/Desktop.ico -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Icones/folder_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Icones/folder_blue.png -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Icones/icone.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Icones/icone.bmp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Icones/icone2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Icones/icone2.bmp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Access_PC.cfg: -------------------------------------------------------------------------------- 1 | -$A8 2 | -$B- 3 | -$C+ 4 | -$D+ 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J- 11 | -$K- 12 | -$L+ 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$YD 26 | -$Z1 27 | -cg 28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -E"..\Bin\" 35 | -LE"c:\program files (x86)\borland\delphi7\Projects\Bpl" 36 | -LN"c:\program files (x86)\borland\delphi7\Projects\Bpl" 37 | -w-UNSAFE_TYPE 38 | -w-UNSAFE_CODE 39 | -w-UNSAFE_CAST 40 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Access_PC.dof: -------------------------------------------------------------------------------- 1 | [FileVersion] 2 | Version=7.0 3 | [Compiler] 4 | A=8 5 | B=0 6 | C=1 7 | D=1 8 | E=0 9 | F=0 10 | G=1 11 | H=1 12 | I=1 13 | J=0 14 | K=0 15 | L=1 16 | M=0 17 | N=1 18 | O=1 19 | P=1 20 | Q=0 21 | R=0 22 | S=0 23 | T=0 24 | U=0 25 | V=1 26 | W=0 27 | X=1 28 | Y=1 29 | Z=1 30 | ShowHints=1 31 | ShowWarnings=1 32 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 33 | NamespacePrefix= 34 | SymbolDeprecated=1 35 | SymbolLibrary=1 36 | SymbolPlatform=1 37 | UnitLibrary=1 38 | UnitPlatform=1 39 | UnitDeprecated=1 40 | HResultCompat=1 41 | HidingMember=1 42 | HiddenVirtual=1 43 | Garbage=1 44 | BoundsError=1 45 | ZeroNilCompat=1 46 | StringConstTruncated=1 47 | ForLoopVarVarPar=1 48 | TypedConstVarPar=1 49 | AsgToTypedConst=1 50 | CaseLabelRange=1 51 | ForVariable=1 52 | ConstructingAbstract=1 53 | ComparisonFalse=1 54 | ComparisonTrue=1 55 | ComparingSignedUnsigned=1 56 | CombiningSignedUnsigned=1 57 | UnsupportedConstruct=1 58 | FileOpen=1 59 | FileOpenUnitSrc=1 60 | BadGlobalSymbol=1 61 | DuplicateConstructorDestructor=1 62 | InvalidDirective=1 63 | PackageNoLink=1 64 | PackageThreadVar=1 65 | ImplicitImport=1 66 | HPPEMITIgnored=1 67 | NoRetVal=1 68 | UseBeforeDef=1 69 | ForLoopVarUndef=1 70 | UnitNameMismatch=1 71 | NoCFGFileFound=1 72 | MessageDirective=1 73 | ImplicitVariants=1 74 | UnicodeToLocale=1 75 | LocaleToUnicode=1 76 | ImagebaseMultiple=1 77 | SuspiciousTypecast=1 78 | PrivatePropAccessor=1 79 | UnsafeType=0 80 | UnsafeCode=0 81 | UnsafeCast=0 82 | [Linker] 83 | MapFile=0 84 | OutputObjs=0 85 | ConsoleApp=1 86 | DebugInfo=0 87 | RemoteSymbols=0 88 | MinStackSize=16384 89 | MaxStackSize=1048576 90 | ImageBase=4194304 91 | ExeDescription= 92 | [Directories] 93 | OutputDir=..\Bin\ 94 | UnitOutputDir= 95 | PackageDLLOutputDir= 96 | PackageDCPOutputDir= 97 | SearchPath= 98 | Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;CoolTrayIcon_D6plus 99 | Conditionals= 100 | DebugSourceDirs= 101 | UsePackages=0 102 | [Parameters] 103 | RunParams= 104 | HostApplication= 105 | Launcher= 106 | UseLauncher=0 107 | DebugCWD= 108 | [Language] 109 | ActiveLang= 110 | ProjectLang= 111 | RootDir= 112 | [Version Info] 113 | IncludeVerInfo=1 114 | AutoIncBuild=0 115 | MajorVer=1 116 | MinorVer=1 117 | Release=4 118 | Build=49 119 | Debug=0 120 | PreRelease=0 121 | Special=0 122 | Private=0 123 | DLL=0 124 | Locale=1046 125 | CodePage=1252 126 | [Version Info Keys] 127 | CompanyName= 128 | FileDescription=Acesso Remoto 129 | FileVersion=1.1.4.49 130 | InternalName=Access PC 131 | LegalCopyright= 132 | LegalTrademarks= 133 | OriginalFilename=Access PC 134 | ProductName=Access PC 135 | ProductVersion=1.0.0.0 136 | Comments=Acesso Remoto 137 | [HistoryLists\hlUnitAliases] 138 | Count=1 139 | Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 140 | [HistoryLists\hlOutputDirectorry] 141 | Count=1 142 | Item0=..\Bin\ 143 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Access_PC.dpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/Access_PC.dpr -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Access_PC.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/Access_PC.res -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Chat.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/Chat.ddp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Chat.dfm: -------------------------------------------------------------------------------- 1 | object Form4: TForm4 2 | Left = 200 3 | Top = 149 4 | Width = 683 5 | Height = 359 6 | Caption = 'Chat' 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poDesktopCenter 15 | OnClose = FormClose 16 | PixelsPerInch = 96 17 | TextHeight = 13 18 | object Memo1: TMemo 19 | Left = 0 20 | Top = 239 21 | Width = 667 22 | Height = 81 23 | Align = alBottom 24 | ScrollBars = ssVertical 25 | TabOrder = 0 26 | OnKeyDown = Memo1KeyDown 27 | OnKeyUp = Memo1KeyUp 28 | end 29 | object Memo2: TMemo 30 | Left = 0 31 | Top = 0 32 | Width = 667 33 | Height = 239 34 | Align = alClient 35 | ReadOnly = True 36 | ScrollBars = ssVertical 37 | TabOrder = 1 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Chat.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/Chat.pas -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Desktop_Remoto.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/Desktop_Remoto.ddp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Desktop_Remoto.dfm: -------------------------------------------------------------------------------- 1 | object Form2: TForm2 2 | Left = 237 3 | Top = 129 4 | Width = 712 5 | Height = 429 6 | Caption = 'Access PC - Desktop Remoto de "fulano"' 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poDesktopCenter 15 | OnClose = FormClose 16 | OnResize = FormResize 17 | PixelsPerInch = 96 18 | TextHeight = 13 19 | object Panel1: TPanel 20 | Left = 0 21 | Top = 357 22 | Width = 696 23 | Height = 33 24 | Align = alBottom 25 | TabOrder = 0 26 | object CheckBox1: TCheckBox 27 | Left = 8 28 | Top = 8 29 | Width = 97 30 | Height = 17 31 | TabStop = False 32 | Caption = 'Mouse Remoto' 33 | TabOrder = 0 34 | OnKeyDown = CheckBox1KeyDown 35 | end 36 | object CheckBox2: TCheckBox 37 | Left = 120 38 | Top = 8 39 | Width = 105 40 | Height = 17 41 | TabStop = False 42 | Caption = 'Teclado Remoto' 43 | TabOrder = 1 44 | OnClick = CheckBox2Click 45 | OnKeyDown = CheckBox2KeyDown 46 | end 47 | object CheckBox3: TCheckBox 48 | Left = 232 49 | Top = 8 50 | Width = 137 51 | Height = 17 52 | TabStop = False 53 | Caption = 'Redimensionar Imagem' 54 | TabOrder = 2 55 | OnClick = CheckBox3Click 56 | OnKeyDown = CheckBox3KeyDown 57 | end 58 | end 59 | object ScrollBox1: TScrollBox 60 | Left = 0 61 | Top = 0 62 | Width = 696 63 | Height = 357 64 | HorzScrollBar.Smooth = True 65 | HorzScrollBar.Tracking = True 66 | VertScrollBar.Smooth = True 67 | VertScrollBar.Tracking = True 68 | Align = alClient 69 | TabOrder = 1 70 | object Image1: TImage 71 | Left = 0 72 | Top = 0 73 | Width = 233 74 | Height = 161 75 | AutoSize = True 76 | OnDblClick = Image1DblClick 77 | OnMouseDown = Image1MouseDown 78 | OnMouseMove = Image1MouseMove 79 | OnMouseUp = Image1MouseUp 80 | end 81 | end 82 | object Timer1: TTimer 83 | Interval = 1 84 | OnTimer = Timer1Timer 85 | Left = 136 86 | Top = 16 87 | end 88 | end 89 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Desktop_Remoto.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/Desktop_Remoto.pas -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/File_Manager.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/File_Manager.ddp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/File_Manager.dfm: -------------------------------------------------------------------------------- 1 | object Form3: TForm3 2 | Left = 310 3 | Top = 163 4 | Width = 638 5 | Height = 442 6 | Caption = 'Access PC - Compartilhador de Arquivos de "Fulano"' 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poDesktopCenter 15 | OnClose = FormClose 16 | OnCreate = FormCreate 17 | PixelsPerInch = 96 18 | TextHeight = 13 19 | object ListView1: TListView 20 | Left = 8 21 | Top = 32 22 | Width = 601 23 | Height = 193 24 | Columns = < 25 | item 26 | Caption = 'Pasta / Arquivo' 27 | Width = 470 28 | end 29 | item 30 | Caption = 'Tipo' 31 | Width = 100 32 | end> 33 | GridLines = True 34 | LargeImages = ImageList1 35 | ReadOnly = True 36 | RowSelect = True 37 | PopupMenu = PopupMenu1 38 | SmallImages = ImageList1 39 | StateImages = ImageList1 40 | TabOrder = 0 41 | ViewStyle = vsReport 42 | OnDblClick = ListView1DblClick 43 | end 44 | object Edit1: TEdit 45 | Left = 0 46 | Top = 0 47 | Width = 617 48 | Height = 21 49 | TabOrder = 1 50 | Text = 'C:\' 51 | OnKeyDown = Edit1KeyDown 52 | end 53 | object Panel1: TPanel 54 | Left = 0 55 | Top = 340 56 | Width = 622 57 | Height = 63 58 | Align = alBottom 59 | TabOrder = 2 60 | DesignSize = ( 61 | 622 62 | 63) 63 | object Label1: TLabel 64 | Left = 8 65 | Top = 8 66 | Width = 116 67 | Height = 13 68 | Caption = 'Progresso de Download:' 69 | end 70 | object Label2: TLabel 71 | Left = 8 72 | Top = 32 73 | Width = 102 74 | Height = 13 75 | Caption = 'Progresso de Upload:' 76 | end 77 | object ProgressBar1: TProgressBar 78 | Left = 128 79 | Top = 8 80 | Width = 482 81 | Height = 17 82 | Anchors = [akLeft, akRight, akBottom] 83 | TabOrder = 0 84 | end 85 | object ProgressBar2: TProgressBar 86 | Left = 128 87 | Top = 32 88 | Width = 482 89 | Height = 17 90 | Anchors = [akLeft, akRight, akBottom] 91 | TabOrder = 1 92 | end 93 | end 94 | object ImageList1: TImageList 95 | Left = 176 96 | Top = 144 97 | Bitmap = { 98 | 494C010102000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 99 | 0000000000003600000028000000400000001000000001002000000000000010 100 | 0000000000000000000000000000000000000000000000000000000000000000 101 | 0000D8E8EE00FCFCFC000000000000000000FCFCFC00C5C5C500000000000000 102 | 0000000000000000000000000000000000000000000000000000000000000000 103 | 0000000000000000000000000000000000000000000000000000000000000000 104 | 0000000000000000000000000000000000000000000000000000000000000000 105 | 0000000000000000000000000000000000000000000000000000000000000000 106 | 0000000000000000000000000000000000000000000000000000000000000000 107 | 0000000000000000000000000000000000000000000000000000000000000000 108 | 0000000000000000000000000000000000000000000000000000000000000000 109 | 000070BAD800B0B0B000D5D5D500E2E2E200E8E7E80078929D005A97B0006CB3 110 | D000D2D2D200FBFBFB0000000000000000000000000000000000000000000000 111 | 0000000000000000000000000000000000000000000000000000000000000000 112 | 0000000000000000000000000000000000000000000000000000000000000000 113 | 0000000000000000000000000000000000000000000000000000000000000000 114 | 0000000000000000000000000000000000000000000000000000000000000000 115 | 0000000000000000000000000000000000000000000000000000000000000000 116 | 00000000000000000000000000000000000000000000000000000000000074BF 117 | DE0073BEDE0084848400C7C7C800E3E3E300ECECEC006F98AA005C99B20071B9 118 | D600D1D1D100DFDFDF0000000000000000000000000000000000000000000000 119 | 0000000000000000000000000000000000000000000000000000000000000000 120 | 0000000000000000000000000000000000000000000000000000000000000000 121 | 0000000000000000000000000000000000000000000000000000000000000000 122 | 0000000000000000000000000000000000000000000000000000000000000000 123 | 0000000000000000000000000000000000000000000000000000000000000000 124 | 0000000000000000000000000000000000000000000000000000DBEDF50077C3 125 | E30077C3E30088888900C7C7C800E4E4E400E8E8E800729CAF005F9DB80073BD 126 | DD00D3D3D300E6E6E600F4F4F4000000000000000000BFBDBB00BFBDBB00BFBD 127 | BB00A6AEB000BDBBB900BFBDBB00BFBDBB00BDBBB9009A989600BFBDBB00BFBD 128 | BB00BFBDBB00BFBDBB00BFBDBB00CCCCCB000000000000000000000000000000 129 | 0000000000000000000000000000000000000000000000000000000000000000 130 | 0000000000000000000000000000000000000000000000000000000000000000 131 | 0000000000000000000000000000000000000000000000000000000000000000 132 | 0000000000000000000000000000000000000000000000000000DDF0F8007CCB 133 | ED007CCBEC008C8C8C00CBCCCD00D6D6D700E8E8E80077A2B30063A2BC0078C3 134 | E300F4F4F400FDFDFD000000000000000000CFC8C300E0DCD900DCD7D500DBD7 135 | D400DEDAD700DAD6D300DAD6D300E6E5E400E6E5E400EBEBEB00ECECEC00EDED 136 | ED00F2F2F200F1F1F100EFEFEF00BDBAB8000000000000000000000000000000 137 | 0000000000000000000000000000000000000000000000000000000000000000 138 | 0000000000000000000000000000000000000000000000000000000000000000 139 | 0000000000000000000000000000000000000000000000000000000000000000 140 | 0000000000000000000000000000000000000000000000000000DEF1F90080CF 141 | F20080CFF100799AA9009B9B9C00E1E0E100EBECEB007AA5B70065A6C0007AC8 142 | E80000000000000000000000000000000000CFC8C300CBA88E00BB846000BA83 143 | 5D00BA815900B97F5700B97E5400B87C5100C2A08900E3E3E300E4E4E400E5E5 144 | E500EEEEEE00ECECEC00EAEAEA00BDBAB8000000000000000000000000000000 145 | 0000000000000000000000000000000000000000000000000000000000000000 146 | 0000000000000000000000000000000000000000000000000000000000000000 147 | 0000000000000000000000000000000000000000000000000000000000000000 148 | 0000000000000000000000000000000000000000000000000000DFF2FB0083D5 149 | F70082D4F6007BC3E00098989900D9D9D900E4E4E3007DA8BB0069A9C4007FCD 150 | ED0000000000000000000000000000000000CFC8C300D1B29600C08D6600BF8A 151 | 6300BE885E00BE875C00BD855900BD845700C7A89000E9E9E900E7E7E700E7E7 152 | E700EBEBEB00E9E9E900E7E7E700BCB9B7000000000000000000000000000000 153 | 0000000000000000000000000000000000000000000000000000000000000000 154 | 0000000000000000000000000000000000000000000000000000000000000000 155 | 0000000000000000000000000000000000000000000000000000000000000000 156 | 0000000000000000000000000000000000000000000000000000E0F4FC0087DB 157 | FD0086D9FB0080C8E5008C8C8D00DBDBDC00ECECEC0080ABBE006AACC80081D0 158 | F30000000000000000000000000000000000CDC7C100D9BB9C00C9996C00C999 159 | 6C00C9986B00C9986A00C9976800C9966600D1B59B00EEEEEE00EDEDED00EBEB 160 | EB00EEEEEE00EBEBEB00E9E9E900B9B7B5000000000000000000000000000000 161 | 0000000000000000000000000000000000000000000000000000000000000000 162 | 0000000000000000000000000000000000000000000000000000000000000000 163 | 0000000000000000000000000000000000000000000000000000000000000000 164 | 0000000000000000000000000000000000000000000000000000E0F4FD0089DC 165 | FE0088DCFE0082CAE7009B9C9C00CFCFD000E3E3E20081ACC0006DAFCB0084D4 166 | F60000000000000000000000000000000000CAC3BF00DEC29F00D1A37100D1A3 167 | 7100D1A37100D1A37100D1A27000D1A26F00D7BFA300F4F4F400F3F3F300F2F2 168 | F200EDEAEA00BF8D6C00E2E2E200B9B7B5000000000000000000000000000000 169 | 0000000000000000000000000000000000000000000000000000000000000000 170 | 0000000000000000000000000000000000000000000000000000000000000000 171 | 0000000000000000000000000000000000000000000000000000000000000000 172 | 0000000000000000000000000000000000000000000000000000E1F5FD008CE1 173 | FE008BE0FE0084CCE7008A8B8B00E4E4E500FAFAFA0084AFC2006EB1CD0087D8 174 | FB0000000000000000000000000000000000CAC3BF00E4C9A300D9AC7500D8AD 175 | 7600D9AD7600D9AD7700D9AD7600D8AD7600DDC7A900F4F4F400F4F4F400F2F2 176 | F200F1EEEE00C7966D00E6E6E600B8B6B4000000000000000000000000000000 177 | 0000000000000000000000000000000000000000000000000000000000000000 178 | 0000000000000000000000000000000000000000000000000000000000000000 179 | 0000000000000000000000000000000000000000000000000000000000000000 180 | 0000000000000000000000000000000000000000000000000000E2F6FD0090E5 181 | FE008FE3FE0086CEE700AEAEAF00FFFFFF00FFFFFF0086B1C4006FB1CE0087D8 182 | FB0000000000000000000000000000000000C9C2BF00EEDDBF00E7C89900E0B6 183 | 7A00E0B67B00DFB67B00DFB67B00DFB67B00E2CDAE00F3F3F300F2F2F200F2F2 184 | F200F4F1F100D3A77500EAEAEA00B8B6B4000000000000000000000000000000 185 | 0000000000000000000000000000000000000000000000000000000000000000 186 | 0000000000000000000000000000000000000000000000000000000000000000 187 | 0000000000000000000000000000000000000000000000000000000000000000 188 | 0000000000000000000000000000000000000000000000000000E2F8FD0092EA 189 | FE0091E8FE0088D1E800B0B0B000FDFDFD00F7F7F70087B2C5006FB2CF0087D8 190 | FB0000000000000000000000000000000000CAC4C100F0E0C400EED5AD00EBCF 191 | A200E4BD8000E3BB7D00E3BB7D00E2BB7D00E4D0AF00F7F7F700F6F6F600F6F6 192 | F600F6F3F200D9AE7700EBEBEB00B7B5B4000000000000000000000000000000 193 | 0000000000000000000000000000000000000000000000000000000000000000 194 | 0000000000000000000000000000000000000000000000000000000000000000 195 | 0000000000000000000000000000000000000000000000000000000000000000 196 | 0000000000000000000000000000000000000000000000000000E4F9FE0097EF 197 | FE0095EBFE009EE0F300FFFFFF00FEFEFE00F8FCFE0096DCFB0087D8FB0087D8 198 | FB0000000000000000000000000000000000D1CECD00F5E8CD00F5E1BC00F3DD 199 | B400F0D6A800EED29F00EDCD9600EBCA8F00E8D6B600F4F4F400F4F4F400F4F4 200 | F400F7F4F400E6BD7A00EDEDED00AEAEAE000000000000000000000000000000 201 | 0000000000000000000000000000000000000000000000000000000000000000 202 | 0000000000000000000000000000000000000000000000000000000000000000 203 | 0000000000000000000000000000000000000000000000000000000000000000 204 | 0000000000000000000000000000000000000000000000000000E4FAFE0099F3 205 | FE00E3F4FB00ADE4FC0087D8FB0090DBFB0091DCFB00A5E3FC00C2EBFD00E4F4 206 | FC0000000000000000000000000000000000D0CCCA00F7EDD600FBECCB00F9E7 207 | C000F6DEAF00F4DAA500F1D49B00F0D19300EAD9B800F5F5F500F5F5F500F5F5 208 | F500F8F5F500F4D18500EEEEEE00B1B0B0000000000000000000000000000000 209 | 0000000000000000000000000000000000000000000000000000000000000000 210 | 0000000000000000000000000000000000000000000000000000000000000000 211 | 0000000000000000000000000000000000000000000000000000000000000000 212 | 0000000000000000000000000000000000000000000000000000F4FBFD00DCF4 213 | FB00000000000000000000000000000000000000000000000000000000000000 214 | 000000000000000000000000000000000000CFCCC900FAF8F700F8F5F400F8F5 215 | F400F8F5F400F9F5F400F9F5F400F9F6F400FBF9F900FFFFFF00FFFFFF00FFFF 216 | FF00FEFEFE00F8F5F500FCFCFC00B1B1B0000000000000000000000000000000 217 | 0000000000000000000000000000000000000000000000000000000000000000 218 | 0000000000000000000000000000000000000000000000000000000000000000 219 | 0000000000000000000000000000000000000000000000000000000000000000 220 | 0000000000000000000000000000000000000000000000000000000000000000 221 | 0000000000000000000000000000000000000000000000000000000000000000 222 | 000000000000000000000000000000000000DEDDDC00F7F6F500F1F1F000E3EA 223 | EA00D4E0E000CED7D700E1DBD500DFD8D200DDD6D100C0CCD000BECDD100C3D0 224 | D500D9D1CE00DCD3D100D6CECC00BCBCBB000000000000000000000000000000 225 | 0000000000000000000000000000000000000000000000000000000000000000 226 | 0000000000000000000000000000000000000000000000000000000000000000 227 | 0000000000000000000000000000000000000000000000000000000000000000 228 | 000000000000000000000000000000000000424D3E000000000000003E000000 229 | 2800000040000000100000000100010000000000800000000000000000000000 230 | 000000000000000000000000FFFFFF00F33FFFFF00000000F003FFFF00000000 231 | E003FFFF00000000C001800000000000C003000000000000C00F000000000000 232 | C00F000000000000C00F000000000000C00F000000000000C00F000000000000 233 | C00F000000000000C00F000000000000C00F000000000000C00F000000000000 234 | CFFF000000000000FFFF00000000000000000000000000000000000000000000 235 | 000000000000} 236 | end 237 | object PopupMenu1: TPopupMenu 238 | OnPopup = PopupMenu1Popup 239 | Left = 328 240 | Top = 160 241 | object Atualizar1: TMenuItem 242 | Caption = 'Atualizar' 243 | OnClick = Atualizar1Click 244 | end 245 | object N1: TMenuItem 246 | Caption = '-' 247 | end 248 | object BaixarArquivo1: TMenuItem 249 | Caption = 'Baixar Arquivo' 250 | OnClick = BaixarArquivo1Click 251 | end 252 | object EnviarArquivo1: TMenuItem 253 | Caption = 'Enviar Arquivo' 254 | OnClick = EnviarArquivo1Click 255 | end 256 | end 257 | object SaveDialog1: TSaveDialog 258 | Filter = 'Arquivo|*.*' 259 | Left = 312 260 | Top = 120 261 | end 262 | object OpenDialog1: TOpenDialog 263 | Filter = 'Todos os Arquivos|*.*' 264 | Left = 344 265 | Top = 120 266 | end 267 | object Timer1: TTimer 268 | Enabled = False 269 | Interval = 200 270 | OnTimer = Timer1Timer 271 | Left = 480 272 | Top = 184 273 | end 274 | end 275 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/File_Manager.pas: -------------------------------------------------------------------------------- 1 | unit File_Manager; 2 | 3 | interface 4 | 5 | uses 6 | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 7 | Dialogs, StdCtrls, ComCtrls, ImgList, Menus, ScktComp, ExtCtrls; 8 | 9 | type 10 | TForm3 = class(TForm) 11 | ListView1: TListView; 12 | Edit1: TEdit; 13 | ImageList1: TImageList; 14 | PopupMenu1: TPopupMenu; 15 | BaixarArquivo1: TMenuItem; 16 | EnviarArquivo1: TMenuItem; 17 | SaveDialog1: TSaveDialog; 18 | OpenDialog1: TOpenDialog; 19 | Panel1: TPanel; 20 | Label1: TLabel; 21 | ProgressBar1: TProgressBar; 22 | ProgressBar2: TProgressBar; 23 | Label2: TLabel; 24 | Timer1: TTimer; 25 | Atualizar1: TMenuItem; 26 | N1: TMenuItem; 27 | procedure FormCreate(Sender: TObject); 28 | procedure PopupMenu1Popup(Sender: TObject); 29 | procedure Edit1KeyDown(Sender: TObject; var Key: Word; 30 | Shift: TShiftState); 31 | procedure ListView1DblClick(Sender: TObject); 32 | procedure BaixarArquivo1Click(Sender: TObject); 33 | procedure EnviarArquivo1Click(Sender: TObject); 34 | procedure Timer1Timer(Sender: TObject); 35 | procedure Atualizar1Click(Sender: TObject); 36 | procedure FormClose(Sender: TObject; var Action: TCloseAction); 37 | private 38 | { Private declarations } 39 | public 40 | Socket: TCustomWinSocket; 41 | LocalSalvar: string; 42 | ArquivoEnviar: TMemoryStream; 43 | { Public declarations } 44 | end; 45 | 46 | var 47 | Form3: TForm3; 48 | 49 | implementation 50 | 51 | uses Principal; 52 | 53 | {$R *.dfm} 54 | 55 | procedure TForm3.FormCreate(Sender: TObject); 56 | begin 57 | Edit1.Align := alTop; 58 | ListView1.Align := alClient; 59 | end; 60 | 61 | procedure TForm3.PopupMenu1Popup(Sender: TObject); 62 | begin 63 | if ListView1.ItemIndex < 0 then begin 64 | PopUpMenu1.Items[2].Enabled := false; 65 | exit; 66 | end; 67 | 68 | if ListView1.Selected.SubItems[0] = 'Arquivo' then 69 | PopUpMenu1.Items[2].Enabled := true 70 | else 71 | PopUpMenu1.Items[2].Enabled := false; 72 | end; 73 | 74 | procedure TForm3.Edit1KeyDown(Sender: TObject; var Key: Word; 75 | Shift: TShiftState); 76 | begin 77 | 78 | try 79 | if Key = VK_RETURN then begin 80 | Socket.SendText('<|Folder|>' + Edit1.Text + '<<|'); 81 | end except 82 | exit; 83 | end; 84 | end; 85 | 86 | procedure TForm3.ListView1DblClick(Sender: TObject); 87 | begin 88 | if ListView1.Selected.SubItems[0] = 'Arquivo' then 89 | exit; 90 | 91 | if ListView1.Selected.Caption = '..' then begin 92 | Edit1.Text := ExtractFilePath(Copy(Edit1.Text, 1, Length(Edit1.Text) - 1)); 93 | Socket.SendText('<|Folder|>' + Edit1.Text + '<<|') 94 | end else begin 95 | if Copy(edit1.Text, Length(Edit1.Text), Length(Edit1.Text)) = '\' then else 96 | Edit1.Text := Edit1.text + '\'; 97 | 98 | Edit1.Text := Edit1.Text + ListView1.Selected.Caption + '\'; 99 | Socket.SendText('<|Folder|>' + Edit1.Text + '<<|'); 100 | end; 101 | 102 | 103 | end; 104 | 105 | procedure TForm3.BaixarArquivo1Click(Sender: TObject); 106 | begin 107 | SaveDialog1.Filter := 'Arquivo ' + ExtractFileExt(ListView1.Selected.Caption) + '|*' + ExtractFileExt(ListView1.Selected.Caption); 108 | if SaveDialog1.Execute then begin 109 | LocalSalvar := SaveDialog1.FileName + ExtractFileExt(ListView1.Selected.Caption); 110 | Socket.SendText('<|DownloadFile|>' + Edit1.Text + '\' + ListView1.Selected.Caption + '<<|'); 111 | end; 112 | end; 113 | 114 | procedure TForm3.EnviarArquivo1Click(Sender: TObject); 115 | begin 116 | if Copy(edit1.Text, Length(Edit1.Text), Length(Edit1.Text)) = '\' then else 117 | Edit1.Text := Edit1.text + '\'; 118 | 119 | if OpenDialog1.Execute then begin 120 | ArquivoEnviar := TMemoryStream.Create; 121 | ArquivoEnviar.LoadFromFile(OpenDialog1.FileName); 122 | Socket.SendText('<|UploadFile|>' + Edit1.Text + '\' + ExtractFileName(OpenDialog1.FileName) + '<<|'); 123 | end; 124 | end; 125 | 126 | procedure TForm3.Timer1Timer(Sender: TObject); 127 | begin 128 | try 129 | ProgressBar2.Position := ArquivoEnviar.Position; 130 | except 131 | ProgressBar2.Position := 0; 132 | Timer1.Enabled := false; 133 | end; 134 | end; 135 | 136 | procedure TForm3.Atualizar1Click(Sender: TObject); 137 | begin 138 | try 139 | Socket.SendText('<|Folder|>' + Edit1.Text + '<<|'); 140 | except 141 | exit; 142 | end; 143 | end; 144 | 145 | procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction); 146 | var 147 | L: TListItem; 148 | begin 149 | L := Form1.LV1.FindCaption(0, intToStr(Socket.Handle), false, true, false); 150 | try 151 | if L <> nil then begin 152 | L.SubItems.Objects[4] := nil; 153 | Free; 154 | end; 155 | except 156 | L.SubItems.Objects[4] := nil; 157 | end; 158 | 159 | Destroy; 160 | 161 | end; 162 | 163 | end. 164 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Principal.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/Principal.ddp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Principal.dfm: -------------------------------------------------------------------------------- 1 | object Form1: TForm1 2 | Left = 199 3 | Top = 146 4 | Width = 848 5 | Height = 416 6 | Caption = 'Access PC - Servidor' 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poDesktopCenter 15 | PixelsPerInch = 96 16 | TextHeight = 13 17 | object Panel1: TPanel 18 | Left = 0 19 | Top = 335 20 | Width = 832 21 | Height = 42 22 | Align = alBottom 23 | TabOrder = 0 24 | object Bevel1: TBevel 25 | Left = 328 26 | Top = 0 27 | Width = 17 28 | Height = 41 29 | Shape = bsLeftLine 30 | end 31 | object Label1: TLabel 32 | Left = 104 33 | Top = 15 34 | Width = 28 35 | Height = 13 36 | Caption = 'Porta:' 37 | end 38 | object Label2: TLabel 39 | Left = 200 40 | Top = 14 41 | Width = 34 42 | Height = 13 43 | Caption = 'Senha:' 44 | end 45 | object Button1: TButton 46 | Left = 8 47 | Top = 9 48 | Width = 75 49 | Height = 25 50 | Caption = 'Ativar' 51 | TabOrder = 0 52 | OnClick = Button1Click 53 | end 54 | object Button3: TButton 55 | Left = 336 56 | Top = 8 57 | Width = 75 58 | Height = 25 59 | Caption = 'Sobre' 60 | TabOrder = 1 61 | OnClick = Button3Click 62 | end 63 | object Edit1: TEdit 64 | Left = 136 65 | Top = 11 66 | Width = 49 67 | Height = 21 68 | TabOrder = 2 69 | Text = '6651' 70 | end 71 | object Edit2: TEdit 72 | Left = 240 73 | Top = 10 74 | Width = 73 75 | Height = 21 76 | PasswordChar = '*' 77 | TabOrder = 3 78 | end 79 | end 80 | object LV1: TListView 81 | Left = 0 82 | Top = 0 83 | Width = 832 84 | Height = 316 85 | Align = alClient 86 | Columns = < 87 | item 88 | Caption = 'IDSock' 89 | Width = 70 90 | end 91 | item 92 | Caption = 'Identifica'#231#227'o' 93 | Width = 170 94 | end 95 | item 96 | Caption = 'Sistema Operacional' 97 | Width = 170 98 | end 99 | item 100 | Caption = 'Processador' 101 | Width = 190 102 | end 103 | item 104 | Caption = 'IP' 105 | Width = 150 106 | end 107 | item 108 | Caption = 'Ping' 109 | end> 110 | Enabled = False 111 | GridLines = True 112 | ReadOnly = True 113 | RowSelect = True 114 | PopupMenu = PopupMenu1 115 | TabOrder = 1 116 | ViewStyle = vsReport 117 | end 118 | object StatusBar1: TStatusBar 119 | Left = 0 120 | Top = 316 121 | Width = 832 122 | Height = 19 123 | Panels = < 124 | item 125 | Text = 'Status:' 126 | Width = 50 127 | end 128 | item 129 | Text = 'Desativado' 130 | Width = 100 131 | end> 132 | end 133 | object PopupMenu1: TPopupMenu 134 | Left = 344 135 | Top = 104 136 | object Fecharconexo1: TMenuItem 137 | Caption = 'Acessar Computador' 138 | OnClick = Fecharconexo1Click 139 | end 140 | object Chato1: TMenuItem 141 | Caption = 'Chat' 142 | OnClick = Chato1Click 143 | end 144 | object GerenciadordeArquivos1: TMenuItem 145 | Caption = 'Compartilhador de Arquivos' 146 | OnClick = GerenciadordeArquivos1Click 147 | end 148 | object N1: TMenuItem 149 | Caption = '-' 150 | end 151 | object FecharConexo2: TMenuItem 152 | Caption = 'Fechar Conex'#227'o' 153 | OnClick = FecharConexo2Click 154 | end 155 | end 156 | object SS1: TServerSocket 157 | Active = False 158 | Port = 6651 159 | ServerType = stNonBlocking 160 | OnListen = SS1Listen 161 | OnAccept = SS1Accept 162 | OnClientDisconnect = SS1ClientDisconnect 163 | OnClientError = SS1ClientError 164 | Left = 392 165 | Top = 104 166 | end 167 | object Timer1: TTimer 168 | Interval = 5000 169 | OnTimer = Timer1Timer 170 | Left = 432 171 | Top = 104 172 | end 173 | object ApplicationEvents1: TApplicationEvents 174 | OnException = ApplicationEvents1Exception 175 | Left = 464 176 | Top = 104 177 | end 178 | end 179 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/Principal.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/Principal.pas -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/StreamManager.pas: -------------------------------------------------------------------------------- 1 | unit StreamManager; 2 | 3 | interface 4 | 5 | uses 6 | Windows,Classes,Graphics; 7 | 8 | procedure GetScreenToBmp(DrawCur:Boolean;StreamName:TMemoryStream); 9 | procedure CompareStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 10 | procedure ResumeStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 11 | 12 | implementation 13 | 14 | // Captura a tela 15 | procedure GetScreenToBmp(DrawCur:Boolean;StreamName:TMemoryStream); 16 | var 17 | Mybmp:Tbitmap; 18 | Cursorx, Cursory: integer; 19 | dc: hdc; 20 | Mycan: Tcanvas; 21 | R: TRect; 22 | DrawPos: TPoint; 23 | MyCursor: TIcon; 24 | hld: hwnd; 25 | Threadld: dword; 26 | mp: tpoint; 27 | pIconInfo: TIconInfo; 28 | begin 29 | Mybmp := Tbitmap.Create; 30 | Mycan := TCanvas.Create; 31 | dc := GetWindowDC(0); 32 | try 33 | Mycan.Handle := dc; 34 | R := Rect(0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN)); 35 | Mybmp.Width := R.Right; 36 | Mybmp.Height := R.Bottom; 37 | Mybmp.Canvas.CopyRect(R, Mycan, R); 38 | finally 39 | releaseDC(0, DC); 40 | end; 41 | Mycan.Handle := 0; 42 | Mycan.Free; 43 | 44 | if DrawCur then 45 | begin 46 | GetCursorPos(DrawPos); 47 | MyCursor := TIcon.Create; 48 | getcursorpos(mp); 49 | hld := WindowFromPoint(mp); 50 | Threadld := GetWindowThreadProcessId(hld, nil); 51 | AttachThreadInput(GetCurrentThreadId, Threadld, True); 52 | MyCursor.Handle := Getcursor(); 53 | AttachThreadInput(GetCurrentThreadId, threadld, False); 54 | GetIconInfo(Mycursor.Handle, pIconInfo); 55 | cursorx := DrawPos.x - round(pIconInfo.xHotspot); 56 | cursory := DrawPos.y - round(pIconInfo.yHotspot); 57 | Mybmp.Canvas.Draw(cursorx, cursory, MyCursor); 58 | DeleteObject(pIconInfo.hbmColor); 59 | DeleteObject(pIconInfo.hbmMask); 60 | Mycursor.ReleaseHandle; 61 | MyCursor.Free; 62 | end; 63 | Mybmp.PixelFormat:=pf8bit; 64 | Mybmp.SaveToStream(StreamName); 65 | Mybmp.Free; 66 | end; 67 | 68 | // Compara as Streams e as Separam quando os Pixels da Bitmap forem iguais. 69 | procedure CompareStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 70 | var 71 | I: Integer; 72 | P1, P2, P3: ^Char; 73 | begin 74 | MySecondStream.Clear; 75 | MyCompareStream.Clear; 76 | GetScreenToBmp(true,MySecondStream); 77 | 78 | P1 := MyFirstStream.Memory; 79 | P2 := MySecondStream.Memory; 80 | MyCompareStream.SetSize(MyFirstStream.Size); 81 | P3 := MyCompareStream.Memory; 82 | 83 | for I := 0 to MyFirstStream.Size - 1 do 84 | begin 85 | if P1^ = P2^ then 86 | P3^ := '0' 87 | else 88 | P3^ := P2^; 89 | Inc(P1); 90 | Inc(P2); 91 | Inc(P3); 92 | end; 93 | 94 | MyFirstStream.Clear; 95 | MyFirstStream.CopyFrom(MySecondStream,0); 96 | end; 97 | 98 | // Modifica as Streams para reajustar os Pixels da Bitmap 99 | procedure ResumeStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 100 | var 101 | I: Integer; 102 | P1, P2, P3: ^Char; 103 | begin 104 | P1 := MyFirstStream.Memory; 105 | MySecondStream.SetSize(MyFirstStream.Size); 106 | P2 := MySecondStream.Memory; 107 | P3 := MyCompareStream.Memory; 108 | 109 | for I := 0 to MyFirstStream.Size - 1 do 110 | begin 111 | if P3^ = '0' then 112 | P2^ := p1^ 113 | else 114 | P2^ := P3^; 115 | Inc(P1); 116 | Inc(P2); 117 | Inc(P3); 118 | end; 119 | 120 | MyFirstStream.Clear; 121 | MyFirstStream.CopyFrom(MySecondStream,0); 122 | MySecondStream.Position:=0; 123 | end; 124 | 125 | end. 126 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/UAC.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/UAC.RES -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/UAC.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/UAC.rc: -------------------------------------------------------------------------------- 1 | 1 24 "UAC.manifest" -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/zlib/adler32.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/zlib/adler32.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/zlib/deflate.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/zlib/deflate.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/zlib/infblock.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/zlib/infblock.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/zlib/infcodes.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/zlib/infcodes.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/zlib/inffast.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/zlib/inffast.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/zlib/inflate.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/zlib/inflate.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/zlib/inftrees.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/zlib/inftrees.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/zlib/infutil.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/zlib/infutil.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Servidor/zlib/trees.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Servidor/zlib/trees.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Units/StreamManager.pas: -------------------------------------------------------------------------------- 1 | unit StreamManager; 2 | 3 | interface 4 | 5 | uses 6 | Windows,Classes,Graphics; 7 | 8 | procedure GetScreenToBmp(DrawCur:Boolean;StreamName:TMemoryStream); 9 | procedure CompareStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 10 | procedure ResumeStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 11 | 12 | implementation 13 | 14 | // Captura a tela 15 | procedure GetScreenToBmp(DrawCur:Boolean;StreamName:TMemoryStream); 16 | var 17 | Mybmp:Tbitmap; 18 | Cursorx, Cursory: integer; 19 | dc: hdc; 20 | Mycan: Tcanvas; 21 | R: TRect; 22 | DrawPos: TPoint; 23 | MyCursor: TIcon; 24 | hld: hwnd; 25 | Threadld: dword; 26 | mp: tpoint; 27 | pIconInfo: TIconInfo; 28 | begin 29 | Mybmp := Tbitmap.Create; 30 | Mycan := TCanvas.Create; 31 | dc := GetWindowDC(0); 32 | try 33 | Mycan.Handle := dc; 34 | R := Rect(0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN)); 35 | Mybmp.Width := R.Right; 36 | Mybmp.Height := R.Bottom; 37 | Mybmp.Canvas.CopyRect(R, Mycan, R); 38 | finally 39 | releaseDC(0, DC); 40 | end; 41 | Mycan.Handle := 0; 42 | Mycan.Free; 43 | 44 | if DrawCur then 45 | begin 46 | GetCursorPos(DrawPos); 47 | MyCursor := TIcon.Create; 48 | getcursorpos(mp); 49 | hld := WindowFromPoint(mp); 50 | Threadld := GetWindowThreadProcessId(hld, nil); 51 | AttachThreadInput(GetCurrentThreadId, Threadld, True); 52 | MyCursor.Handle := Getcursor(); 53 | AttachThreadInput(GetCurrentThreadId, threadld, False); 54 | GetIconInfo(Mycursor.Handle, pIconInfo); 55 | cursorx := DrawPos.x - round(pIconInfo.xHotspot); 56 | cursory := DrawPos.y - round(pIconInfo.yHotspot); 57 | Mybmp.Canvas.Draw(cursorx, cursory, MyCursor); 58 | DeleteObject(pIconInfo.hbmColor); 59 | DeleteObject(pIconInfo.hbmMask); 60 | Mycursor.ReleaseHandle; 61 | MyCursor.Free; 62 | end; 63 | Mybmp.PixelFormat:=pf8bit; 64 | Mybmp.SaveToStream(StreamName); 65 | Mybmp.Free; 66 | end; 67 | 68 | // Compara as Streams e as Separam quando os Pixels da Bitmap forem iguais. 69 | procedure CompareStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 70 | var 71 | I: Integer; 72 | P1, P2, P3: ^Char; 73 | begin 74 | MySecondStream.Clear; 75 | MyCompareStream.Clear; 76 | GetScreenToBmp(true,MySecondStream); 77 | 78 | P1 := MyFirstStream.Memory; 79 | P2 := MySecondStream.Memory; 80 | MyCompareStream.SetSize(MyFirstStream.Size); 81 | P3 := MyCompareStream.Memory; 82 | 83 | for I := 0 to MyFirstStream.Size - 1 do 84 | begin 85 | if P1^ = P2^ then 86 | P3^ := '0' 87 | else 88 | P3^ := P2^; 89 | Inc(P1); 90 | Inc(P2); 91 | Inc(P3); 92 | end; 93 | 94 | MyFirstStream.Clear; 95 | MyFirstStream.CopyFrom(MySecondStream,0); 96 | end; 97 | 98 | // Modifica as Streams para reajustar os Pixels da Bitmap 99 | procedure ResumeStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 100 | var 101 | I: Integer; 102 | P1, P2, P3: ^Char; 103 | begin 104 | P1 := MyFirstStream.Memory; 105 | MySecondStream.SetSize(MyFirstStream.Size); 106 | P2 := MySecondStream.Memory; 107 | P3 := MyCompareStream.Memory; 108 | 109 | for I := 0 to MyFirstStream.Size - 1 do 110 | begin 111 | if P3^ = '0' then 112 | P2^ := p1^ 113 | else 114 | P2^ := P3^; 115 | Inc(P1); 116 | Inc(P2); 117 | Inc(P3); 118 | end; 119 | 120 | MyFirstStream.Clear; 121 | MyFirstStream.CopyFrom(MySecondStream,0); 122 | MySecondStream.Position:=0; 123 | end; 124 | 125 | end. 126 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Units/sndkey32.pas: -------------------------------------------------------------------------------- 1 | (* 2 | SendKeys routine for 32-bit Delphi. 3 | 4 | Written by Ken Henderson 5 | 6 | Copyright (c) 1995 Ken Henderson 7 | 8 | This unit includes two routines that simulate popular Visual Basic 9 | routines: Sendkeys and AppActivate. SendKeys takes a PChar 10 | as its first parameter and a boolean as its second, like so: 11 | 12 | SendKeys('KeyString', Wait); 13 | 14 | where KeyString is a string of key names and modifiers that you want 15 | to send to the current input focus and Wait is a boolean variable or value 16 | that indicates whether SendKeys should wait for each key message to be 17 | processed before proceeding. See the table below for more information. 18 | 19 | AppActivate also takes a PChar as its only parameter, like so: 20 | 21 | AppActivate('WindowName'); 22 | 23 | where WindowName is the name of the window that you want to make the 24 | current input focus. 25 | 26 | SendKeys supports the Visual Basic SendKeys syntax, as documented below. 27 | 28 | Supported modifiers: 29 | 30 | + = Shift 31 | ^ = Control 32 | % = Alt 33 | 34 | Surround sequences of characters or key names with parentheses in order to 35 | modify them as a group. For example, '+abc' shifts only 'a', while '+(abc)' shifts 36 | all three characters. 37 | 38 | Supported special characters 39 | 40 | ~ = Enter 41 | ( = Begin modifier group (see above) 42 | ) = End modifier group (see above) 43 | { = Begin key name text (see below) 44 | } = End key name text (see below) 45 | 46 | Supported characters: 47 | 48 | Any character that can be typed is supported. Surround the modifier keys 49 | listed above with braces in order to send as normal text. 50 | 51 | Supported key names (surround these with braces): 52 | 53 | BKSP, BS, BACKSPACE 54 | BREAK 55 | CAPSLOCK 56 | CLEAR 57 | DEL 58 | DELETE 59 | DOWN 60 | END 61 | ENTER 62 | ESC 63 | ESCAPE 64 | F1 65 | F2 66 | F3 67 | F4 68 | F5 69 | F6 70 | F7 71 | F8 72 | F9 73 | F10 74 | F11 75 | F12 76 | F13 77 | F14 78 | F15 79 | F16 80 | HELP 81 | HOME 82 | INS 83 | LEFT 84 | NUMLOCK 85 | PGDN 86 | PGUP 87 | PRTSC 88 | RIGHT 89 | SCROLLLOCK 90 | TAB 91 | UP 92 | 93 | Follow the keyname with a space and a number to send the specified key a 94 | given number of times (e.g., {left 6}). 95 | *) 96 | 97 | unit sndkey32; 98 | 99 | interface 100 | 101 | Uses SysUtils, Windows, Messages; 102 | 103 | Function SendKeys(SendKeysString : PChar; Wait : Boolean) : Boolean; 104 | function AppActivate(WindowName : PChar) : boolean; overload; 105 | function AppActivate(WindowHandle : HWND) : boolean; overload; 106 | 107 | {Buffer for working with PChar's} 108 | 109 | const 110 | WorkBufLen = 40; 111 | var 112 | WorkBuf : array[0..WorkBufLen] of Char; 113 | 114 | implementation 115 | type 116 | THKeys = array[0..pred(MaxLongInt)] of byte; 117 | var 118 | AllocationSize : integer; 119 | 120 | (* 121 | Converts a string of characters and key names to keyboard events and 122 | passes them to Windows. 123 | 124 | Example syntax: 125 | 126 | SendKeys('abc123{left}{left}{left}def{end}456{left 6}ghi{end}789', True); 127 | 128 | *) 129 | 130 | Function SendKeys(SendKeysString : PChar; Wait : Boolean) : Boolean; 131 | type 132 | WBytes = array[0..pred(SizeOf(Word))] of Byte; 133 | 134 | TSendKey = record 135 | Name : ShortString; 136 | VKey : Byte; 137 | end; 138 | 139 | const 140 | {Array of keys that SendKeys recognizes. 141 | 142 | If you add to this list, you must be sure to keep it sorted alphabetically 143 | by Name because a binary search routine is used to scan it.} 144 | 145 | MaxSendKeyRecs = 41; 146 | SendKeyRecs : array[1..MaxSendKeyRecs] of TSendKey = 147 | ( 148 | (Name:'BACKSPACE'; VKey:VK_BACK), 149 | (Name:'BKSP'; VKey:VK_BACK), 150 | (Name:'BREAK'; VKey:VK_CANCEL), 151 | (Name:'BS'; VKey:VK_BACK), 152 | (Name:'CAPSLOCK'; VKey:VK_CAPITAL), 153 | (Name:'CLEAR'; VKey:VK_CLEAR), 154 | (Name:'DEL'; VKey:VK_DELETE), 155 | (Name:'DELETE'; VKey:VK_DELETE), 156 | (Name:'DOWN'; VKey:VK_DOWN), 157 | (Name:'END'; VKey:VK_END), 158 | (Name:'ENTER'; VKey:VK_RETURN), 159 | (Name:'ESC'; VKey:VK_ESCAPE), 160 | (Name:'ESCAPE'; VKey:VK_ESCAPE), 161 | (Name:'F1'; VKey:VK_F1), 162 | (Name:'F10'; VKey:VK_F10), 163 | (Name:'F11'; VKey:VK_F11), 164 | (Name:'F12'; VKey:VK_F12), 165 | (Name:'F13'; VKey:VK_F13), 166 | (Name:'F14'; VKey:VK_F14), 167 | (Name:'F15'; VKey:VK_F15), 168 | (Name:'F16'; VKey:VK_F16), 169 | (Name:'F2'; VKey:VK_F2), 170 | (Name:'F3'; VKey:VK_F3), 171 | (Name:'F4'; VKey:VK_F4), 172 | (Name:'F5'; VKey:VK_F5), 173 | (Name:'F6'; VKey:VK_F6), 174 | (Name:'F7'; VKey:VK_F7), 175 | (Name:'F8'; VKey:VK_F8), 176 | (Name:'F9'; VKey:VK_F9), 177 | (Name:'HELP'; VKey:VK_HELP), 178 | (Name:'HOME'; VKey:VK_HOME), 179 | (Name:'INS'; VKey:VK_INSERT), 180 | (Name:'LEFT'; VKey:VK_LEFT), 181 | (Name:'NUMLOCK'; VKey:VK_NUMLOCK), 182 | (Name:'PGDN'; VKey:VK_NEXT), 183 | (Name:'PGUP'; VKey:VK_PRIOR), 184 | (Name:'PRTSC'; VKey:VK_PRINT), 185 | (Name:'RIGHT'; VKey:VK_RIGHT), 186 | (Name:'SCROLLLOCK'; VKey:VK_SCROLL), 187 | (Name:'TAB'; VKey:VK_TAB), 188 | (Name:'UP'; VKey:VK_UP) 189 | ); 190 | 191 | {Extra VK constants missing from Delphi's Windows API interface} 192 | VK_NULL=0; 193 | VK_SemiColon=186; 194 | VK_Equal=187; 195 | VK_Comma=188; 196 | VK_Minus=189; 197 | VK_Period=190; 198 | VK_Slash=191; 199 | VK_BackQuote=192; 200 | VK_LeftBracket=219; 201 | VK_BackSlash=220; 202 | VK_RightBracket=221; 203 | VK_Quote=222; 204 | VK_Last=VK_Quote; 205 | 206 | ExtendedVKeys : set of byte = 207 | [VK_Up, 208 | VK_Down, 209 | VK_Left, 210 | VK_Right, 211 | VK_Home, 212 | VK_End, 213 | VK_Prior, {PgUp} 214 | VK_Next, {PgDn} 215 | VK_Insert, 216 | VK_Delete]; 217 | 218 | const 219 | INVALIDKEY = $FFFF {Unsigned -1}; 220 | VKKEYSCANSHIFTON = $01; 221 | VKKEYSCANCTRLON = $02; 222 | VKKEYSCANALTON = $04; 223 | UNITNAME = 'SendKeys'; 224 | var 225 | UsingParens, ShiftDown, ControlDown, AltDown, FoundClose : Boolean; 226 | PosSpace : Byte; 227 | I, L : Integer; 228 | NumTimes, MKey : Word; 229 | KeyString : String[20]; 230 | 231 | procedure DisplayMessage(Message : PChar); 232 | begin 233 | // MessageBox(0,Message,UNITNAME,0); 234 | end; 235 | 236 | function BitSet(BitTable, BitMask : Byte) : Boolean; 237 | begin 238 | Result:=ByteBool(BitTable and BitMask); 239 | end; 240 | 241 | procedure SetBit(var BitTable : Byte; BitMask : Byte); 242 | begin 243 | BitTable:=BitTable or Bitmask; 244 | end; 245 | 246 | Procedure KeyboardEvent(VKey, ScanCode : Byte; Flags : Longint); 247 | var 248 | KeyboardMsg : TMsg; 249 | begin 250 | keybd_event(VKey, ScanCode, Flags,0); 251 | If (Wait) then While (PeekMessage(KeyboardMsg,0,WM_KEYFIRST, WM_KEYLAST, PM_REMOVE)) do begin 252 | TranslateMessage(KeyboardMsg); 253 | DispatchMessage(KeyboardMsg); 254 | end; 255 | end; 256 | 257 | Procedure SendKeyDown(VKey: Byte; NumTimes : Word; GenUpMsg : Boolean); 258 | var 259 | Cnt : Word; 260 | ScanCode : Byte; 261 | NumState : Boolean; 262 | KeyBoardState : TKeyboardState; 263 | begin 264 | If (VKey=VK_NUMLOCK) then begin 265 | NumState:=ByteBool(GetKeyState(VK_NUMLOCK) and 1); 266 | GetKeyBoardState(KeyBoardState); 267 | If NumState then KeyBoardState[VK_NUMLOCK]:=(KeyBoardState[VK_NUMLOCK] and not 1) 268 | else KeyBoardState[VK_NUMLOCK]:=(KeyBoardState[VK_NUMLOCK] or 1); 269 | SetKeyBoardState(KeyBoardState); 270 | exit; 271 | end; 272 | 273 | ScanCode:=Lo(MapVirtualKey(VKey,0)); 274 | For Cnt:=1 to NumTimes do 275 | If (VKey in ExtendedVKeys)then begin 276 | KeyboardEvent(VKey, ScanCode, KEYEVENTF_EXTENDEDKEY); 277 | If (GenUpMsg) then 278 | KeyboardEvent(VKey, ScanCode, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP) 279 | end else begin 280 | KeyboardEvent(VKey, ScanCode, 0); 281 | If (GenUpMsg) then KeyboardEvent(VKey, ScanCode, KEYEVENTF_KEYUP); 282 | end; 283 | end; 284 | 285 | Procedure SendKeyUp(VKey: Byte); 286 | var 287 | ScanCode : Byte; 288 | begin 289 | ScanCode:=Lo(MapVirtualKey(VKey,0)); 290 | If (VKey in ExtendedVKeys)then 291 | KeyboardEvent(VKey, ScanCode, KEYEVENTF_EXTENDEDKEY and KEYEVENTF_KEYUP) 292 | else KeyboardEvent(VKey, ScanCode, KEYEVENTF_KEYUP); 293 | end; 294 | 295 | Procedure SendKey(MKey: Word; NumTimes : Word; GenDownMsg : Boolean); 296 | begin 297 | If (BitSet(Hi(MKey),VKKEYSCANSHIFTON)) then SendKeyDown(VK_SHIFT,1,False); 298 | If (BitSet(Hi(MKey),VKKEYSCANCTRLON)) then SendKeyDown(VK_CONTROL,1,False); 299 | If (BitSet(Hi(MKey),VKKEYSCANALTON)) then SendKeyDown(VK_MENU,1,False); 300 | SendKeyDown(Lo(MKey), NumTimes, GenDownMsg); 301 | If (BitSet(Hi(MKey),VKKEYSCANSHIFTON)) then SendKeyUp(VK_SHIFT); 302 | If (BitSet(Hi(MKey),VKKEYSCANCTRLON)) then SendKeyUp(VK_CONTROL); 303 | If (BitSet(Hi(MKey),VKKEYSCANALTON)) then SendKeyUp(VK_MENU); 304 | end; 305 | 306 | {Implements a simple binary search to locate special key name strings} 307 | 308 | Function StringToVKey(KeyString : ShortString) : Word; 309 | var 310 | Found, Collided : Boolean; 311 | Bottom, Top, Middle : Byte; 312 | begin 313 | Result:=INVALIDKEY; 314 | Bottom:=1; 315 | Top:=MaxSendKeyRecs; 316 | Found:=false; 317 | Middle:=(Bottom+Top) div 2; 318 | Repeat 319 | Collided:=((Bottom=Middle) or (Top=Middle)); 320 | If (KeyString=SendKeyRecs[Middle].Name) then begin 321 | Found:=True; 322 | Result:=SendKeyRecs[Middle].VKey; 323 | end else begin 324 | If (KeyString>SendKeyRecs[Middle].Name) then Bottom:=Middle 325 | else Top:=Middle; 326 | Middle:=(Succ(Bottom+Top)) div 2; 327 | end; 328 | Until (Found or Collided); 329 | If (Result=INVALIDKEY) then DisplayMessage('Invalid Key Name'); 330 | end; 331 | 332 | procedure PopUpShiftKeys; 333 | begin 334 | If (not UsingParens) then begin 335 | If ShiftDown then SendKeyUp(VK_SHIFT); 336 | If ControlDown then SendKeyUp(VK_CONTROL); 337 | If AltDown then SendKeyUp(VK_MENU); 338 | ShiftDown:=false; 339 | ControlDown:=false; 340 | AltDown:=false; 341 | end; 342 | end; 343 | 344 | begin 345 | AllocationSize:=MaxInt; 346 | Result:=false; 347 | UsingParens:=false; 348 | ShiftDown:=false; 349 | ControlDown:=false; 350 | AltDown:=false; 351 | I:=0; 352 | L:=StrLen(SendKeysString); 353 | If (L>AllocationSize) then L:=AllocationSize; 354 | If (L=0) then Exit; 355 | 356 | While (I0) then begin 417 | NumTimes:=StrToInt(Copy(KeyString,Succ(PosSpace),Length(KeyString)-PosSpace)); 418 | KeyString:=Copy(KeyString,1,Pred(PosSpace)); 419 | end; 420 | If (Length(KeyString)=1) then MKey:=vkKeyScan(KeyString[1]) 421 | else MKey:=StringToVKey(KeyString); 422 | If (MKey<>INVALIDKEY) then begin 423 | SendKey(MKey,NumTimes,True); 424 | PopUpShiftKeys; 425 | Continue; 426 | end; 427 | end; 428 | '~' : begin 429 | SendKeyDown(VK_RETURN,1,True); 430 | PopUpShiftKeys; 431 | Inc(I); 432 | end; 433 | else begin 434 | MKey:=vkKeyScan(SendKeysString[I]); 435 | If (MKey<>INVALIDKEY) then begin 436 | SendKey(MKey,1,True); 437 | PopUpShiftKeys; 438 | end else DisplayMessage('Invalid KeyName'); 439 | Inc(I); 440 | end; 441 | end; 442 | end; 443 | Result:=true; 444 | PopUpShiftKeys; 445 | end; 446 | 447 | {AppActivate 448 | 449 | This is used to set the current input focus to a given window using its 450 | name. This is especially useful for ensuring a window is active before 451 | sending it input messages using the SendKeys function. You can specify 452 | a window's name in its entirety, or only portion of it, beginning from 453 | the left. 454 | 455 | } 456 | 457 | 458 | var 459 | WindowHandle : HWND; 460 | 461 | function EnumWindowsProc(WHandle: HWND; lParam: LPARAM): BOOL; export; stdcall; 462 | var 463 | WindowName : array[0..MAX_PATH] of char; 464 | begin 465 | {Can't test GetWindowText's return value since some windows don't have a title} 466 | GetWindowText(WHandle,WindowName,MAX_PATH); 467 | Result := (StrLIComp(WindowName,PChar(lParam), StrLen(PChar(lParam))) <> 0); 468 | If (not Result) then WindowHandle:=WHandle; 469 | end; 470 | 471 | function AppActivate(WindowHandle : HWND) : boolean; overload; 472 | begin 473 | try 474 | SendMessage(WindowHandle, WM_SYSCOMMAND, SC_HOTKEY, WindowHandle); 475 | SendMessage(WindowHandle, WM_SYSCOMMAND, SC_RESTORE, WindowHandle); 476 | result := SetForegroundWindow(WindowHandle); 477 | except 478 | on Exception do Result:=false; 479 | end; 480 | end; 481 | 482 | function AppActivate(WindowName : PChar) : boolean; overload; 483 | begin 484 | try 485 | Result:=true; 486 | WindowHandle:=FindWindow(nil,WindowName); 487 | If (WindowHandle=0) then EnumWindows(@EnumWindowsProc,Integer(PChar(WindowName))); 488 | If (WindowHandle<>0) then begin 489 | SendMessage(WindowHandle, WM_SYSCOMMAND, SC_HOTKEY, WindowHandle); 490 | SendMessage(WindowHandle, WM_SYSCOMMAND, SC_RESTORE, WindowHandle); 491 | SetForegroundWindow(WindowHandle); 492 | end else Result:=false; 493 | except 494 | on Exception do Result:=false; 495 | end; 496 | end; 497 | 498 | 499 | 500 | end. 501 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Units/zlib/adler32.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Units/zlib/adler32.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Units/zlib/deflate.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Units/zlib/deflate.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Units/zlib/infblock.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Units/zlib/infblock.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Units/zlib/infcodes.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Units/zlib/infcodes.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Units/zlib/inffast.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Units/zlib/inffast.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Units/zlib/inflate.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Units/zlib/inflate.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Units/zlib/inftrees.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Units/zlib/inftrees.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Units/zlib/infutil.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Units/zlib/infutil.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi 7/Units/zlib/trees.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi 7/Units/zlib/trees.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Bin/Alerta.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Bin/Alerta.wav -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/Access_PC_Client.cfg: -------------------------------------------------------------------------------- 1 | -$A8 2 | -$B- 3 | -$C+ 4 | -$D+ 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J- 11 | -$K- 12 | -$L+ 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$YD 26 | -$Z1 27 | -cg 28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -E"..\Bin\" 35 | -LE"c:\program files (x86)\borland\delphi7\Projects\Bpl" 36 | -LN"c:\program files (x86)\borland\delphi7\Projects\Bpl" 37 | -w-UNSAFE_TYPE 38 | -w-UNSAFE_CODE 39 | -w-UNSAFE_CAST 40 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/Access_PC_Client.dof: -------------------------------------------------------------------------------- 1 | [FileVersion] 2 | Version=7.0 3 | [Compiler] 4 | A=8 5 | B=0 6 | C=1 7 | D=1 8 | E=0 9 | F=0 10 | G=1 11 | H=1 12 | I=1 13 | J=0 14 | K=0 15 | L=1 16 | M=0 17 | N=1 18 | O=1 19 | P=1 20 | Q=0 21 | R=0 22 | S=0 23 | T=0 24 | U=0 25 | V=1 26 | W=0 27 | X=1 28 | Y=1 29 | Z=1 30 | ShowHints=1 31 | ShowWarnings=1 32 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 33 | NamespacePrefix= 34 | SymbolDeprecated=1 35 | SymbolLibrary=1 36 | SymbolPlatform=1 37 | UnitLibrary=1 38 | UnitPlatform=1 39 | UnitDeprecated=1 40 | HResultCompat=1 41 | HidingMember=1 42 | HiddenVirtual=1 43 | Garbage=1 44 | BoundsError=1 45 | ZeroNilCompat=1 46 | StringConstTruncated=1 47 | ForLoopVarVarPar=1 48 | TypedConstVarPar=1 49 | AsgToTypedConst=1 50 | CaseLabelRange=1 51 | ForVariable=1 52 | ConstructingAbstract=1 53 | ComparisonFalse=1 54 | ComparisonTrue=1 55 | ComparingSignedUnsigned=1 56 | CombiningSignedUnsigned=1 57 | UnsupportedConstruct=1 58 | FileOpen=1 59 | FileOpenUnitSrc=1 60 | BadGlobalSymbol=1 61 | DuplicateConstructorDestructor=1 62 | InvalidDirective=1 63 | PackageNoLink=1 64 | PackageThreadVar=1 65 | ImplicitImport=1 66 | HPPEMITIgnored=1 67 | NoRetVal=1 68 | UseBeforeDef=1 69 | ForLoopVarUndef=1 70 | UnitNameMismatch=1 71 | NoCFGFileFound=1 72 | MessageDirective=1 73 | ImplicitVariants=1 74 | UnicodeToLocale=1 75 | LocaleToUnicode=1 76 | ImagebaseMultiple=1 77 | SuspiciousTypecast=1 78 | PrivatePropAccessor=1 79 | UnsafeType=0 80 | UnsafeCode=0 81 | UnsafeCast=0 82 | [Linker] 83 | MapFile=0 84 | OutputObjs=0 85 | ConsoleApp=1 86 | DebugInfo=0 87 | RemoteSymbols=0 88 | MinStackSize=16384 89 | MaxStackSize=1048576 90 | ImageBase=4194304 91 | ExeDescription= 92 | [Directories] 93 | OutputDir=..\Bin\ 94 | UnitOutputDir= 95 | PackageDLLOutputDir= 96 | PackageDCPOutputDir= 97 | SearchPath= 98 | Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;CoolTrayIcon_D6plus 99 | Conditionals= 100 | DebugSourceDirs= 101 | UsePackages=0 102 | [Parameters] 103 | RunParams= 104 | HostApplication= 105 | Launcher= 106 | UseLauncher=0 107 | DebugCWD= 108 | [Language] 109 | ActiveLang= 110 | ProjectLang= 111 | RootDir= 112 | [Version Info] 113 | IncludeVerInfo=1 114 | AutoIncBuild=0 115 | MajorVer=1 116 | MinorVer=1 117 | Release=8 118 | Build=27 119 | Debug=0 120 | PreRelease=0 121 | Special=0 122 | Private=0 123 | DLL=0 124 | Locale=1046 125 | CodePage=1252 126 | [Version Info Keys] 127 | CompanyName=Deploy Team 128 | FileDescription=Acesso Remoto 129 | FileVersion=1.1.8.27 130 | InternalName=Access PC 131 | LegalCopyright=Deploy Team 132 | LegalTrademarks=Deploy Team 133 | OriginalFilename=Access PC 134 | ProductName=Access PC 135 | ProductVersion=1.0.0.0 136 | Comments=Acesso Remoto 137 | [HistoryLists\hlUnitAliases] 138 | Count=1 139 | Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 140 | [HistoryLists\hlOutputDirectorry] 141 | Count=1 142 | Item0=..\Bin\ 143 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/Access_PC_Client.dpr: -------------------------------------------------------------------------------- 1 | {$IMAGEBASE 12348762} 2 | program Access_PC_Client; 3 | 4 | uses 5 | Forms, 6 | Conectar in 'Conectar.pas' {Form1}, 7 | Chat in 'Chat.pas' {Form2}; 8 | 9 | {$R *.res} 10 | 11 | begin 12 | Application.Initialize; 13 | Application.Title := 'Access PC'; 14 | Application.CreateForm(TForm1, Form1); 15 | Application.CreateForm(TForm2, Form2); 16 | Application.Run; 17 | end. 18 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/Access_PC_Client.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {0C310304-622A-49B2-8008-A8BDF78FA975} 4 | Access_PC_Client.dpr 5 | True 6 | Release 7 | 1 8 | Application 9 | VCL 10 | 15.4 11 | Win32 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Cfg_1 34 | true 35 | true 36 | 37 | 38 | true 39 | Base 40 | true 41 | 42 | 43 | true 44 | Cfg_2 45 | true 46 | true 47 | 48 | 49 | Access_PC_Client 50 | true 51 | 1 52 | 8 53 | vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;CoolTrayIcon_D6plus;$(DCC_UsePackage) 54 | 1046 55 | true 56 | 1 57 | false 58 | 00400000 59 | 27 60 | true 61 | ..\Bin\ 62 | false 63 | false 64 | Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;$(DCC_Namespace) 65 | CompanyName=Deploy Team;FileDescription=Acesso Remoto;FileVersion=1.1.8.27;InternalName=Access PC;LegalCopyright=Deploy Team;LegalTrademarks=Deploy Team;OriginalFilename=Access PC;ProductName=Access PC;ProductVersion=1.0.0.0;Comments=Acesso Remoto 66 | false 67 | 68 | 69 | $(BDS)\bin\default_app.manifest 70 | true 71 | 1033 72 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 73 | Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 74 | Access_PC_Client_Icon.ico 75 | 76 | 77 | Access_PC_Client_Icon.ico 78 | 79 | 80 | 0 81 | 0 82 | false 83 | RELEASE;$(DCC_Define) 84 | 85 | 86 | UAC.manifest 87 | CompanyName=;FileDescription=;FileVersion=1.1.8.27;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 88 | 1033 89 | 90 | 91 | DEBUG;$(DCC_Define) 92 | true 93 | false 94 | 95 | 96 | UAC.manifest 97 | 0 98 | 0 99 | 1033 100 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 101 | 0 102 | 103 | 104 | 105 | MainSource 106 | 107 | 108 |
Form1
109 |
110 | 111 |
Form2
112 |
113 | 114 | Cfg_2 115 | Base 116 | 117 | 118 | Base 119 | 120 | 121 | Cfg_1 122 | Base 123 | 124 |
125 | 126 | Delphi.Personality.12 127 | 128 | 129 | 130 | 131 | Access_PC_Client.dpr 132 | 133 | 134 | True 135 | False 136 | 1 137 | 1 138 | 8 139 | 27 140 | False 141 | False 142 | False 143 | False 144 | False 145 | 1046 146 | 1252 147 | 148 | 149 | Deploy Team 150 | Acesso Remoto 151 | 1.1.8.27 152 | Access PC 153 | Deploy Team 154 | Deploy Team 155 | Access PC 156 | Access PC 157 | 1.0.0.0 158 | Acesso Remoto 159 | 160 | 161 | Embarcadero C++Builder Office 2000 Servers Package 162 | Embarcadero C++Builder Office XP Servers Package 163 | Microsoft Office 2000 Sample Automation Server Wrapper Components 164 | Microsoft Office XP Sample Automation Server Wrapper Components 165 | 166 | 167 | 168 | True 169 | False 170 | 171 | 172 | 12 173 | 174 | 175 | 176 |
177 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/Access_PC_Client.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/Access_PC_Client.res -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/Access_PC_Client_Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/Access_PC_Client_Icon.ico -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/Chat.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/Chat.ddp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/Chat.dfm: -------------------------------------------------------------------------------- 1 | object Form2: TForm2 2 | Left = 553 3 | Top = 144 4 | Caption = 'Access PC - Chat' 5 | ClientHeight = 248 6 | ClientWidth = 557 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poDesktopCenter 15 | OnClose = FormClose 16 | PixelsPerInch = 96 17 | TextHeight = 13 18 | object Memo2: TMemo 19 | Left = 0 20 | Top = 0 21 | Width = 557 22 | Height = 167 23 | Align = alClient 24 | ReadOnly = True 25 | ScrollBars = ssVertical 26 | TabOrder = 1 27 | end 28 | object Memo1: TMemo 29 | Left = 0 30 | Top = 167 31 | Width = 557 32 | Height = 81 33 | Align = alBottom 34 | ScrollBars = ssVertical 35 | TabOrder = 0 36 | OnKeyDown = Memo1KeyDown 37 | OnKeyUp = Memo1KeyUp 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/Chat.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/Chat.pas -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/Conectar.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/Conectar.ddp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/Conectar.dfm: -------------------------------------------------------------------------------- 1 | object Form1: TForm1 2 | Left = 192 3 | Top = 124 4 | BorderIcons = [biSystemMenu, biMinimize] 5 | BorderStyle = bsSingle 6 | Caption = 'Access PC' 7 | ClientHeight = 164 8 | ClientWidth = 293 9 | Color = clBtnFace 10 | Font.Charset = DEFAULT_CHARSET 11 | Font.Color = clWindowText 12 | Font.Height = -11 13 | Font.Name = 'MS Sans Serif' 14 | Font.Style = [] 15 | OldCreateOrder = False 16 | Position = poDesktopCenter 17 | PixelsPerInch = 96 18 | TextHeight = 13 19 | object Label1: TLabel 20 | Left = 8 21 | Top = 16 22 | Width = 40 23 | Height = 13 24 | Caption = 'IP/Host:' 25 | end 26 | object Label2: TLabel 27 | Left = 200 28 | Top = 16 29 | Width = 28 30 | Height = 13 31 | Caption = 'Porta:' 32 | end 33 | object Label3: TLabel 34 | Left = 8 35 | Top = 48 36 | Width = 34 37 | Height = 13 38 | Caption = 'Senha:' 39 | end 40 | object Label4: TLabel 41 | Left = 8 42 | Top = 77 43 | Width = 64 44 | Height = 13 45 | Caption = 'Identifica'#231#227'o:' 46 | end 47 | object Edit1: TEdit 48 | Left = 56 49 | Top = 12 50 | Width = 121 51 | Height = 21 52 | TabOrder = 0 53 | end 54 | object Edit2: TEdit 55 | Left = 232 56 | Top = 12 57 | Width = 49 58 | Height = 21 59 | TabOrder = 1 60 | Text = '6651' 61 | end 62 | object Edit3: TEdit 63 | Left = 56 64 | Top = 44 65 | Width = 225 66 | Height = 21 67 | PasswordChar = '*' 68 | TabOrder = 2 69 | end 70 | object Button1: TButton 71 | Left = 8 72 | Top = 112 73 | Width = 75 74 | Height = 25 75 | Caption = 'Conectar' 76 | TabOrder = 4 77 | OnClick = Button1Click 78 | end 79 | object StatusBar1: TStatusBar 80 | Left = 0 81 | Top = 145 82 | Width = 293 83 | Height = 19 84 | Panels = < 85 | item 86 | Text = 'Status:' 87 | Width = 50 88 | end 89 | item 90 | Text = 'Desconectado' 91 | Width = 150 92 | end> 93 | end 94 | object Edit4: TEdit 95 | Left = 80 96 | Top = 73 97 | Width = 201 98 | Height = 21 99 | TabOrder = 3 100 | Text = 'Access PC - Cliente' 101 | end 102 | object CheckBox1: TCheckBox 103 | Left = 88 104 | Top = 116 105 | Width = 201 106 | Height = 17 107 | Caption = 'Auto reconectar se perder Conex'#227'o' 108 | TabOrder = 5 109 | end 110 | object CS1: TClientSocket 111 | Active = False 112 | ClientType = ctNonBlocking 113 | Port = 0 114 | OnConnecting = CS1Connecting 115 | OnConnect = CS1Connect 116 | OnDisconnect = CS1Disconnect 117 | OnRead = CS1Read 118 | OnError = CS1Error 119 | Left = 88 120 | Top = 88 121 | end 122 | object CS2: TClientSocket 123 | Active = False 124 | ClientType = ctNonBlocking 125 | Port = 0 126 | OnConnect = CS2Connect 127 | OnRead = CS2Read 128 | OnError = CS2Error 129 | Left = 120 130 | Top = 88 131 | end 132 | object CS3: TClientSocket 133 | Active = False 134 | ClientType = ctNonBlocking 135 | Port = 0 136 | OnConnect = CS3Connect 137 | OnRead = CS3Read 138 | OnError = CS3Error 139 | Left = 152 140 | Top = 88 141 | end 142 | object Timer1: TTimer 143 | Enabled = False 144 | Interval = 15000 145 | OnTimer = Timer1Timer 146 | Left = 256 147 | Top = 56 148 | end 149 | object Timer2: TTimer 150 | Enabled = False 151 | Interval = 15000 152 | OnTimer = Timer2Timer 153 | Left = 224 154 | Top = 56 155 | end 156 | object CS4: TClientSocket 157 | Active = False 158 | ClientType = ctNonBlocking 159 | Port = 0 160 | OnConnect = CS4Connect 161 | OnRead = CS4Read 162 | OnError = CS4Error 163 | Left = 184 164 | Top = 88 165 | end 166 | object CS5: TClientSocket 167 | Active = False 168 | ClientType = ctNonBlocking 169 | Port = 0 170 | OnConnect = CS6Connect 171 | OnRead = CS5Read 172 | OnError = CS6Error 173 | Left = 216 174 | Top = 88 175 | end 176 | end 177 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/Conectar.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/Conectar.pas -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/StreamManager.pas: -------------------------------------------------------------------------------- 1 | unit StreamManager; 2 | 3 | interface 4 | 5 | uses 6 | Windows, Classes, Graphics; 7 | 8 | procedure GetScreenToBmp(DrawCur: Boolean; StreamName: TMemoryStream); 9 | procedure CompareStream(MyFirstStream, MySecondStream, MyCompareStream 10 | : TMemoryStream); 11 | procedure ResumeStream(MyFirstStream, MySecondStream, MyCompareStream 12 | : TMemoryStream); 13 | 14 | implementation 15 | 16 | // Captura a tela 17 | procedure GetScreenToBmp(DrawCur: Boolean; StreamName: TMemoryStream); 18 | var 19 | Mybmp: Tbitmap; 20 | Cursorx, Cursory: integer; 21 | dc: hdc; 22 | Mycan: Tcanvas; 23 | R: TRect; 24 | DrawPos: TPoint; 25 | MyCursor: TIcon; 26 | hld: hwnd; 27 | Threadld: dword; 28 | mp: TPoint; 29 | pIconInfo: TIconInfo; 30 | begin 31 | Mybmp := Tbitmap.Create; 32 | Mycan := Tcanvas.Create; 33 | dc := GetWindowDC(0); 34 | try 35 | Mycan.Handle := dc; 36 | R := Rect(0, 0, GetSystemMetrics(SM_CXSCREEN), 37 | GetSystemMetrics(SM_CYSCREEN)); 38 | Mybmp.Width := R.Right; 39 | Mybmp.Height := R.Bottom; 40 | Mybmp.Canvas.CopyRect(R, Mycan, R); 41 | finally 42 | releaseDC(0, dc); 43 | end; 44 | Mycan.Handle := 0; 45 | Mycan.Free; 46 | 47 | if DrawCur then 48 | begin 49 | GetCursorPos(DrawPos); 50 | MyCursor := TIcon.Create; 51 | GetCursorPos(mp); 52 | hld := WindowFromPoint(mp); 53 | Threadld := GetWindowThreadProcessId(hld, nil); 54 | AttachThreadInput(GetCurrentThreadId, Threadld, True); 55 | MyCursor.Handle := Getcursor(); 56 | AttachThreadInput(GetCurrentThreadId, Threadld, False); 57 | GetIconInfo(MyCursor.Handle, pIconInfo); 58 | Cursorx := DrawPos.x - round(pIconInfo.xHotspot); 59 | Cursory := DrawPos.y - round(pIconInfo.yHotspot); 60 | Mybmp.Canvas.Draw(Cursorx, Cursory, MyCursor); 61 | DeleteObject(pIconInfo.hbmColor); 62 | DeleteObject(pIconInfo.hbmMask); 63 | MyCursor.ReleaseHandle; 64 | MyCursor.Free; 65 | end; 66 | Mybmp.PixelFormat := pf8bit; 67 | Mybmp.SaveToStream(StreamName); 68 | Mybmp.Free; 69 | end; 70 | 71 | // Compara as Streams e as Separam quando os Pixels da Bitmap forem iguais. 72 | procedure CompareStream(MyFirstStream, MySecondStream, MyCompareStream 73 | : TMemoryStream); 74 | var 75 | I: integer; 76 | P1, P2, P3: ^AnsiChar; 77 | begin 78 | MySecondStream.Clear; 79 | MyCompareStream.Clear; 80 | GetScreenToBmp(True, MySecondStream); 81 | 82 | P1 := MyFirstStream.Memory; 83 | P2 := MySecondStream.Memory; 84 | MyCompareStream.SetSize(MyFirstStream.Size); 85 | P3 := MyCompareStream.Memory; 86 | 87 | for I := 0 to MyFirstStream.Size - 1 do 88 | begin 89 | if P1^ = P2^ then 90 | P3^ := '0' 91 | else 92 | P3^ := P2^; 93 | Inc(P1); 94 | Inc(P2); 95 | Inc(P3); 96 | end; 97 | 98 | MyFirstStream.Clear; 99 | MyFirstStream.CopyFrom(MySecondStream, 0); 100 | end; 101 | 102 | // Modifica as Streams para reajustar os Pixels da Bitmap 103 | procedure ResumeStream(MyFirstStream, MySecondStream, MyCompareStream 104 | : TMemoryStream); 105 | var 106 | I: integer; 107 | P1, P2, P3: ^AnsiChar; 108 | begin 109 | P1 := MyFirstStream.Memory; 110 | MySecondStream.SetSize(MyFirstStream.Size); 111 | P2 := MySecondStream.Memory; 112 | P3 := MyCompareStream.Memory; 113 | 114 | for I := 0 to MyFirstStream.Size - 1 do 115 | begin 116 | if P3^ = '0' then 117 | P2^ := P1^ 118 | else 119 | P2^ := P3^; 120 | Inc(P1); 121 | Inc(P2); 122 | Inc(P3); 123 | end; 124 | 125 | MyFirstStream.Clear; 126 | MyFirstStream.CopyFrom(MySecondStream, 0); 127 | MySecondStream.Position := 0; 128 | end; 129 | 130 | end. 131 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/UAC.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/UAC.RES -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/UAC.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/UAC.rc: -------------------------------------------------------------------------------- 1 | 1 24 "UAC.manifest" -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/zlib/adler32.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/zlib/adler32.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/zlib/deflate.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/zlib/deflate.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/zlib/infblock.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/zlib/infblock.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/zlib/infcodes.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/zlib/infcodes.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/zlib/inffast.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/zlib/inffast.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/zlib/inflate.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/zlib/inflate.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/zlib/inftrees.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/zlib/inftrees.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/zlib/infutil.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/zlib/infutil.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Cliente/zlib/trees.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Cliente/zlib/trees.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Icones/Deleket-Sleek-Xp-Basic-Document-Blank.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Icones/Deleket-Sleek-Xp-Basic-Document-Blank.ico -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Icones/Deleket-Sleek-Xp-Basic-Folder-Open.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Icones/Deleket-Sleek-Xp-Basic-Folder-Open.ico -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Icones/Desktop (1).ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Icones/Desktop (1).ico -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Icones/Desktop.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Icones/Desktop.ico -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Icones/folder_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Icones/folder_blue.png -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Icones/icone.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Icones/icone.bmp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Icones/icone2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Icones/icone2.bmp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Projeto_Access_PC.groupproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {27A03785-5822-4E03-A03F-0BD60469294E} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | Default.Personality.12 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Access_PC.cfg: -------------------------------------------------------------------------------- 1 | -$A8 2 | -$B- 3 | -$C+ 4 | -$D+ 5 | -$E- 6 | -$F- 7 | -$G+ 8 | -$H+ 9 | -$I+ 10 | -$J- 11 | -$K- 12 | -$L+ 13 | -$M- 14 | -$N+ 15 | -$O+ 16 | -$P+ 17 | -$Q- 18 | -$R- 19 | -$S- 20 | -$T- 21 | -$U- 22 | -$V+ 23 | -$W- 24 | -$X+ 25 | -$YD 26 | -$Z1 27 | -cg 28 | -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 29 | -H+ 30 | -W+ 31 | -M 32 | -$M16384,1048576 33 | -K$00400000 34 | -E"..\Bin\" 35 | -LE"c:\program files (x86)\borland\delphi7\Projects\Bpl" 36 | -LN"c:\program files (x86)\borland\delphi7\Projects\Bpl" 37 | -w-UNSAFE_TYPE 38 | -w-UNSAFE_CODE 39 | -w-UNSAFE_CAST 40 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Access_PC.dof: -------------------------------------------------------------------------------- 1 | [FileVersion] 2 | Version=7.0 3 | [Compiler] 4 | A=8 5 | B=0 6 | C=1 7 | D=1 8 | E=0 9 | F=0 10 | G=1 11 | H=1 12 | I=1 13 | J=0 14 | K=0 15 | L=1 16 | M=0 17 | N=1 18 | O=1 19 | P=1 20 | Q=0 21 | R=0 22 | S=0 23 | T=0 24 | U=0 25 | V=1 26 | W=0 27 | X=1 28 | Y=1 29 | Z=1 30 | ShowHints=1 31 | ShowWarnings=1 32 | UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 33 | NamespacePrefix= 34 | SymbolDeprecated=1 35 | SymbolLibrary=1 36 | SymbolPlatform=1 37 | UnitLibrary=1 38 | UnitPlatform=1 39 | UnitDeprecated=1 40 | HResultCompat=1 41 | HidingMember=1 42 | HiddenVirtual=1 43 | Garbage=1 44 | BoundsError=1 45 | ZeroNilCompat=1 46 | StringConstTruncated=1 47 | ForLoopVarVarPar=1 48 | TypedConstVarPar=1 49 | AsgToTypedConst=1 50 | CaseLabelRange=1 51 | ForVariable=1 52 | ConstructingAbstract=1 53 | ComparisonFalse=1 54 | ComparisonTrue=1 55 | ComparingSignedUnsigned=1 56 | CombiningSignedUnsigned=1 57 | UnsupportedConstruct=1 58 | FileOpen=1 59 | FileOpenUnitSrc=1 60 | BadGlobalSymbol=1 61 | DuplicateConstructorDestructor=1 62 | InvalidDirective=1 63 | PackageNoLink=1 64 | PackageThreadVar=1 65 | ImplicitImport=1 66 | HPPEMITIgnored=1 67 | NoRetVal=1 68 | UseBeforeDef=1 69 | ForLoopVarUndef=1 70 | UnitNameMismatch=1 71 | NoCFGFileFound=1 72 | MessageDirective=1 73 | ImplicitVariants=1 74 | UnicodeToLocale=1 75 | LocaleToUnicode=1 76 | ImagebaseMultiple=1 77 | SuspiciousTypecast=1 78 | PrivatePropAccessor=1 79 | UnsafeType=0 80 | UnsafeCode=0 81 | UnsafeCast=0 82 | [Linker] 83 | MapFile=0 84 | OutputObjs=0 85 | ConsoleApp=1 86 | DebugInfo=0 87 | RemoteSymbols=0 88 | MinStackSize=16384 89 | MaxStackSize=1048576 90 | ImageBase=4194304 91 | ExeDescription= 92 | [Directories] 93 | OutputDir=..\Bin\ 94 | UnitOutputDir= 95 | PackageDLLOutputDir= 96 | PackageDCPOutputDir= 97 | SearchPath= 98 | Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;CoolTrayIcon_D6plus 99 | Conditionals= 100 | DebugSourceDirs= 101 | UsePackages=0 102 | [Parameters] 103 | RunParams= 104 | HostApplication= 105 | Launcher= 106 | UseLauncher=0 107 | DebugCWD= 108 | [Language] 109 | ActiveLang= 110 | ProjectLang= 111 | RootDir= 112 | [Version Info] 113 | IncludeVerInfo=1 114 | AutoIncBuild=0 115 | MajorVer=1 116 | MinorVer=1 117 | Release=4 118 | Build=49 119 | Debug=0 120 | PreRelease=0 121 | Special=0 122 | Private=0 123 | DLL=0 124 | Locale=1046 125 | CodePage=1252 126 | [Version Info Keys] 127 | CompanyName=Deploy Team 128 | FileDescription=Acesso Remoto 129 | FileVersion=1.1.4.49 130 | InternalName=Access PC 131 | LegalCopyright=Deploy Team 132 | LegalTrademarks=Deploy Team 133 | OriginalFilename=Access PC 134 | ProductName=Access PC 135 | ProductVersion=1.0.0.0 136 | Comments=Acesso Remoto 137 | [HistoryLists\hlUnitAliases] 138 | Count=1 139 | Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; 140 | [HistoryLists\hlOutputDirectorry] 141 | Count=1 142 | Item0=..\Bin\ 143 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Access_PC.dpr: -------------------------------------------------------------------------------- 1 | program Access_PC; 2 | 3 | uses 4 | Forms, 5 | Principal in 'Principal.pas' {Form1}, 6 | Desktop_Remoto in 'Desktop_Remoto.pas' {Form2}, 7 | File_Manager in 'File_Manager.pas' {Form3}, 8 | Chat in 'Chat.pas' {Form4}; 9 | 10 | {$R *.res} 11 | 12 | begin 13 | Application.Initialize; 14 | Application.Title := 'Access PC [ Servidor ]'; 15 | Application.CreateForm(TForm1, Form1); 16 | Application.CreateForm(TForm2, Form2); 17 | Application.CreateForm(TForm3, Form3); 18 | Application.CreateForm(TForm4, Form4); 19 | Application.Run; 20 | end. 21 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Access_PC.dproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {EEEFD055-EDBB-4D6E-95C9-17FBCB46DB59} 4 | Access_PC.dpr 5 | True 6 | Release 7 | 1 8 | Application 9 | VCL 10 | 15.4 11 | Win32 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Cfg_1 34 | true 35 | true 36 | 37 | 38 | true 39 | Base 40 | true 41 | 42 | 43 | true 44 | Cfg_2 45 | true 46 | true 47 | 48 | 49 | Access_PC 50 | true 51 | 1 52 | 4 53 | vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;CoolTrayIcon_D6plus;$(DCC_UsePackage) 54 | 1046 55 | true 56 | 1 57 | false 58 | 00400000 59 | 49 60 | true 61 | ..\Bin\ 62 | false 63 | false 64 | Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;$(DCC_Namespace) 65 | CompanyName=Deploy Team;FileDescription=Acesso Remoto;FileVersion=1.1.4.49;InternalName=Access PC;LegalCopyright=Deploy Team;LegalTrademarks=Deploy Team;OriginalFilename=Access PC;ProductName=Access PC;ProductVersion=1.0.0.0;Comments=Acesso Remoto 66 | false 67 | 68 | 69 | $(BDS)\bin\default_app.manifest 70 | true 71 | 1033 72 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 73 | Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 74 | Access_PC_Icon.ico 75 | 76 | 77 | Access_PC_Icon.ico 78 | 79 | 80 | 0 81 | 0 82 | false 83 | RELEASE;$(DCC_Define) 84 | 85 | 86 | 0 87 | 0 88 | UAC.manifest 89 | 1033 90 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 91 | 0 92 | 93 | 94 | DEBUG;$(DCC_Define) 95 | true 96 | false 97 | 98 | 99 | UAC.manifest 100 | 0 101 | 0 102 | 1033 103 | 0 104 | CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= 105 | 106 | 107 | 108 | MainSource 109 | 110 | 111 |
Form1
112 |
113 | 114 |
Form2
115 |
116 | 117 |
Form3
118 |
119 | 120 |
Form4
121 |
122 | 123 | Cfg_2 124 | Base 125 | 126 | 127 | Base 128 | 129 | 130 | Cfg_1 131 | Base 132 | 133 |
134 | 135 | Delphi.Personality.12 136 | 137 | 138 | 139 | 140 | Access_PC.dpr 141 | 142 | 143 | True 144 | False 145 | 1 146 | 1 147 | 4 148 | 49 149 | False 150 | False 151 | False 152 | False 153 | False 154 | 1046 155 | 1252 156 | 157 | 158 | Deploy Team 159 | Acesso Remoto 160 | 1.1.4.49 161 | Access PC 162 | Deploy Team 163 | Deploy Team 164 | Access PC 165 | Access PC 166 | 1.0.0.0 167 | Acesso Remoto 168 | 169 | 170 | Embarcadero C++Builder Office 2000 Servers Package 171 | Embarcadero C++Builder Office XP Servers Package 172 | Microsoft Office 2000 Sample Automation Server Wrapper Components 173 | Microsoft Office XP Sample Automation Server Wrapper Components 174 | 175 | 176 | 177 | True 178 | False 179 | 180 | 181 | 12 182 | 183 | 184 | 185 |
186 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Access_PC.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/Access_PC.res -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Access_PC_Icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/Access_PC_Icon.ico -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Chat.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/Chat.ddp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Chat.dfm: -------------------------------------------------------------------------------- 1 | object Form4: TForm4 2 | Left = 200 3 | Top = 149 4 | Width = 683 5 | Height = 359 6 | Caption = 'Chat' 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poDesktopCenter 15 | OnClose = FormClose 16 | PixelsPerInch = 96 17 | TextHeight = 13 18 | object Memo1: TMemo 19 | Left = 0 20 | Top = 240 21 | Width = 667 22 | Height = 81 23 | Align = alBottom 24 | ScrollBars = ssVertical 25 | TabOrder = 0 26 | OnKeyDown = Memo1KeyDown 27 | OnKeyUp = Memo1KeyUp 28 | end 29 | object Memo2: TMemo 30 | Left = 0 31 | Top = 0 32 | Width = 667 33 | Height = 240 34 | Align = alClient 35 | ReadOnly = True 36 | ScrollBars = ssVertical 37 | TabOrder = 1 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Chat.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/Chat.pas -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Desktop_Remoto.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/Desktop_Remoto.ddp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Desktop_Remoto.dfm: -------------------------------------------------------------------------------- 1 | object Form2: TForm2 2 | Left = 237 3 | Top = 129 4 | Caption = 'Access PC - Desktop Remoto de "fulano"' 5 | ClientHeight = 390 6 | ClientWidth = 696 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poDesktopCenter 15 | OnClose = FormClose 16 | OnResize = FormResize 17 | PixelsPerInch = 96 18 | TextHeight = 13 19 | object Panel1: TPanel 20 | Left = 0 21 | Top = 357 22 | Width = 696 23 | Height = 33 24 | Align = alBottom 25 | TabOrder = 0 26 | object CheckBox1: TCheckBox 27 | Left = 8 28 | Top = 8 29 | Width = 97 30 | Height = 17 31 | TabStop = False 32 | Caption = 'Mouse Remoto' 33 | TabOrder = 0 34 | OnKeyDown = CheckBox1KeyDown 35 | end 36 | object CheckBox2: TCheckBox 37 | Left = 120 38 | Top = 8 39 | Width = 105 40 | Height = 17 41 | TabStop = False 42 | Caption = 'Teclado Remoto' 43 | TabOrder = 1 44 | OnClick = CheckBox2Click 45 | OnKeyDown = CheckBox2KeyDown 46 | end 47 | object CheckBox3: TCheckBox 48 | Left = 232 49 | Top = 8 50 | Width = 137 51 | Height = 17 52 | TabStop = False 53 | Caption = 'Redimensionar Imagem' 54 | TabOrder = 2 55 | OnClick = CheckBox3Click 56 | OnKeyDown = CheckBox3KeyDown 57 | end 58 | end 59 | object ScrollBox1: TScrollBox 60 | Left = 0 61 | Top = 0 62 | Width = 696 63 | Height = 357 64 | HorzScrollBar.Smooth = True 65 | HorzScrollBar.Tracking = True 66 | VertScrollBar.Smooth = True 67 | VertScrollBar.Tracking = True 68 | Align = alClient 69 | TabOrder = 1 70 | object Image1: TImage 71 | Left = 0 72 | Top = 0 73 | Width = 233 74 | Height = 161 75 | AutoSize = True 76 | OnDblClick = Image1DblClick 77 | OnMouseDown = Image1MouseDown 78 | OnMouseMove = Image1MouseMove 79 | OnMouseUp = Image1MouseUp 80 | end 81 | end 82 | object Timer1: TTimer 83 | Interval = 1 84 | OnTimer = Timer1Timer 85 | Left = 136 86 | Top = 16 87 | end 88 | end 89 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Desktop_Remoto.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/Desktop_Remoto.pas -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/File_Manager.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/File_Manager.ddp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/File_Manager.dfm: -------------------------------------------------------------------------------- 1 | object Form3: TForm3 2 | Left = 310 3 | Top = 163 4 | Caption = 'Access PC - Compartilhador de Arquivos de "Fulano"' 5 | ClientHeight = 403 6 | ClientWidth = 622 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poDesktopCenter 15 | OnClose = FormClose 16 | OnCreate = FormCreate 17 | PixelsPerInch = 96 18 | TextHeight = 13 19 | object ListView1: TListView 20 | Left = 8 21 | Top = 32 22 | Width = 601 23 | Height = 193 24 | Columns = < 25 | item 26 | Caption = 'Pasta / Arquivo' 27 | Width = 470 28 | end 29 | item 30 | Caption = 'Tipo' 31 | Width = 100 32 | end> 33 | GridLines = True 34 | LargeImages = ImageList1 35 | ReadOnly = True 36 | RowSelect = True 37 | PopupMenu = PopupMenu1 38 | SmallImages = ImageList1 39 | StateImages = ImageList1 40 | TabOrder = 0 41 | ViewStyle = vsReport 42 | OnDblClick = ListView1DblClick 43 | end 44 | object Edit1: TEdit 45 | Left = 0 46 | Top = 0 47 | Width = 617 48 | Height = 21 49 | TabOrder = 1 50 | Text = 'C:\' 51 | OnKeyDown = Edit1KeyDown 52 | end 53 | object Panel1: TPanel 54 | Left = 0 55 | Top = 340 56 | Width = 622 57 | Height = 63 58 | Align = alBottom 59 | TabOrder = 2 60 | DesignSize = ( 61 | 622 62 | 63) 63 | object Label1: TLabel 64 | Left = 8 65 | Top = 8 66 | Width = 116 67 | Height = 13 68 | Caption = 'Progresso de Download:' 69 | end 70 | object Label2: TLabel 71 | Left = 8 72 | Top = 32 73 | Width = 102 74 | Height = 13 75 | Caption = 'Progresso de Upload:' 76 | end 77 | object ProgressBar1: TProgressBar 78 | Left = 128 79 | Top = 8 80 | Width = 482 81 | Height = 17 82 | Anchors = [akLeft, akRight, akBottom] 83 | TabOrder = 0 84 | end 85 | object ProgressBar2: TProgressBar 86 | Left = 128 87 | Top = 32 88 | Width = 482 89 | Height = 17 90 | Anchors = [akLeft, akRight, akBottom] 91 | TabOrder = 1 92 | end 93 | end 94 | object ImageList1: TImageList 95 | Left = 176 96 | Top = 144 97 | Bitmap = { 98 | 494C010102000400080010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 99 | 0000000000003600000028000000400000001000000001002000000000000010 100 | 0000000000000000000000000000000000000000000000000000000000000000 101 | 0000D8E8EE00FCFCFC000000000000000000FCFCFC00C5C5C500000000000000 102 | 0000000000000000000000000000000000000000000000000000000000000000 103 | 0000000000000000000000000000000000000000000000000000000000000000 104 | 0000000000000000000000000000000000000000000000000000000000000000 105 | 0000000000000000000000000000000000000000000000000000000000000000 106 | 0000000000000000000000000000000000000000000000000000000000000000 107 | 0000000000000000000000000000000000000000000000000000000000000000 108 | 0000000000000000000000000000000000000000000000000000000000000000 109 | 000070BAD800B0B0B000D5D5D500E2E2E200E8E7E80078929D005A97B0006CB3 110 | D000D2D2D200FBFBFB0000000000000000000000000000000000000000000000 111 | 0000000000000000000000000000000000000000000000000000000000000000 112 | 0000000000000000000000000000000000000000000000000000000000000000 113 | 0000000000000000000000000000000000000000000000000000000000000000 114 | 0000000000000000000000000000000000000000000000000000000000000000 115 | 0000000000000000000000000000000000000000000000000000000000000000 116 | 00000000000000000000000000000000000000000000000000000000000074BF 117 | DE0073BEDE0084848400C7C7C800E3E3E300ECECEC006F98AA005C99B20071B9 118 | D600D1D1D100DFDFDF0000000000000000000000000000000000000000000000 119 | 0000000000000000000000000000000000000000000000000000000000000000 120 | 0000000000000000000000000000000000000000000000000000000000000000 121 | 0000000000000000000000000000000000000000000000000000000000000000 122 | 0000000000000000000000000000000000000000000000000000000000000000 123 | 0000000000000000000000000000000000000000000000000000000000000000 124 | 0000000000000000000000000000000000000000000000000000DBEDF50077C3 125 | E30077C3E30088888900C7C7C800E4E4E400E8E8E800729CAF005F9DB80073BD 126 | DD00D3D3D300E6E6E600F4F4F4000000000000000000BFBDBB00BFBDBB00BFBD 127 | BB00A6AEB000BDBBB900BFBDBB00BFBDBB00BDBBB9009A989600BFBDBB00BFBD 128 | BB00BFBDBB00BFBDBB00BFBDBB00CCCCCB000000000000000000000000000000 129 | 0000000000000000000000000000000000000000000000000000000000000000 130 | 0000000000000000000000000000000000000000000000000000000000000000 131 | 0000000000000000000000000000000000000000000000000000000000000000 132 | 0000000000000000000000000000000000000000000000000000DDF0F8007CCB 133 | ED007CCBEC008C8C8C00CBCCCD00D6D6D700E8E8E80077A2B30063A2BC0078C3 134 | E300F4F4F400FDFDFD000000000000000000CFC8C300E0DCD900DCD7D500DBD7 135 | D400DEDAD700DAD6D300DAD6D300E6E5E400E6E5E400EBEBEB00ECECEC00EDED 136 | ED00F2F2F200F1F1F100EFEFEF00BDBAB8000000000000000000000000000000 137 | 0000000000000000000000000000000000000000000000000000000000000000 138 | 0000000000000000000000000000000000000000000000000000000000000000 139 | 0000000000000000000000000000000000000000000000000000000000000000 140 | 0000000000000000000000000000000000000000000000000000DEF1F90080CF 141 | F20080CFF100799AA9009B9B9C00E1E0E100EBECEB007AA5B70065A6C0007AC8 142 | E80000000000000000000000000000000000CFC8C300CBA88E00BB846000BA83 143 | 5D00BA815900B97F5700B97E5400B87C5100C2A08900E3E3E300E4E4E400E5E5 144 | E500EEEEEE00ECECEC00EAEAEA00BDBAB8000000000000000000000000000000 145 | 0000000000000000000000000000000000000000000000000000000000000000 146 | 0000000000000000000000000000000000000000000000000000000000000000 147 | 0000000000000000000000000000000000000000000000000000000000000000 148 | 0000000000000000000000000000000000000000000000000000DFF2FB0083D5 149 | F70082D4F6007BC3E00098989900D9D9D900E4E4E3007DA8BB0069A9C4007FCD 150 | ED0000000000000000000000000000000000CFC8C300D1B29600C08D6600BF8A 151 | 6300BE885E00BE875C00BD855900BD845700C7A89000E9E9E900E7E7E700E7E7 152 | E700EBEBEB00E9E9E900E7E7E700BCB9B7000000000000000000000000000000 153 | 0000000000000000000000000000000000000000000000000000000000000000 154 | 0000000000000000000000000000000000000000000000000000000000000000 155 | 0000000000000000000000000000000000000000000000000000000000000000 156 | 0000000000000000000000000000000000000000000000000000E0F4FC0087DB 157 | FD0086D9FB0080C8E5008C8C8D00DBDBDC00ECECEC0080ABBE006AACC80081D0 158 | F30000000000000000000000000000000000CDC7C100D9BB9C00C9996C00C999 159 | 6C00C9986B00C9986A00C9976800C9966600D1B59B00EEEEEE00EDEDED00EBEB 160 | EB00EEEEEE00EBEBEB00E9E9E900B9B7B5000000000000000000000000000000 161 | 0000000000000000000000000000000000000000000000000000000000000000 162 | 0000000000000000000000000000000000000000000000000000000000000000 163 | 0000000000000000000000000000000000000000000000000000000000000000 164 | 0000000000000000000000000000000000000000000000000000E0F4FD0089DC 165 | FE0088DCFE0082CAE7009B9C9C00CFCFD000E3E3E20081ACC0006DAFCB0084D4 166 | F60000000000000000000000000000000000CAC3BF00DEC29F00D1A37100D1A3 167 | 7100D1A37100D1A37100D1A27000D1A26F00D7BFA300F4F4F400F3F3F300F2F2 168 | F200EDEAEA00BF8D6C00E2E2E200B9B7B5000000000000000000000000000000 169 | 0000000000000000000000000000000000000000000000000000000000000000 170 | 0000000000000000000000000000000000000000000000000000000000000000 171 | 0000000000000000000000000000000000000000000000000000000000000000 172 | 0000000000000000000000000000000000000000000000000000E1F5FD008CE1 173 | FE008BE0FE0084CCE7008A8B8B00E4E4E500FAFAFA0084AFC2006EB1CD0087D8 174 | FB0000000000000000000000000000000000CAC3BF00E4C9A300D9AC7500D8AD 175 | 7600D9AD7600D9AD7700D9AD7600D8AD7600DDC7A900F4F4F400F4F4F400F2F2 176 | F200F1EEEE00C7966D00E6E6E600B8B6B4000000000000000000000000000000 177 | 0000000000000000000000000000000000000000000000000000000000000000 178 | 0000000000000000000000000000000000000000000000000000000000000000 179 | 0000000000000000000000000000000000000000000000000000000000000000 180 | 0000000000000000000000000000000000000000000000000000E2F6FD0090E5 181 | FE008FE3FE0086CEE700AEAEAF00FFFFFF00FFFFFF0086B1C4006FB1CE0087D8 182 | FB0000000000000000000000000000000000C9C2BF00EEDDBF00E7C89900E0B6 183 | 7A00E0B67B00DFB67B00DFB67B00DFB67B00E2CDAE00F3F3F300F2F2F200F2F2 184 | F200F4F1F100D3A77500EAEAEA00B8B6B4000000000000000000000000000000 185 | 0000000000000000000000000000000000000000000000000000000000000000 186 | 0000000000000000000000000000000000000000000000000000000000000000 187 | 0000000000000000000000000000000000000000000000000000000000000000 188 | 0000000000000000000000000000000000000000000000000000E2F8FD0092EA 189 | FE0091E8FE0088D1E800B0B0B000FDFDFD00F7F7F70087B2C5006FB2CF0087D8 190 | FB0000000000000000000000000000000000CAC4C100F0E0C400EED5AD00EBCF 191 | A200E4BD8000E3BB7D00E3BB7D00E2BB7D00E4D0AF00F7F7F700F6F6F600F6F6 192 | F600F6F3F200D9AE7700EBEBEB00B7B5B4000000000000000000000000000000 193 | 0000000000000000000000000000000000000000000000000000000000000000 194 | 0000000000000000000000000000000000000000000000000000000000000000 195 | 0000000000000000000000000000000000000000000000000000000000000000 196 | 0000000000000000000000000000000000000000000000000000E4F9FE0097EF 197 | FE0095EBFE009EE0F300FFFFFF00FEFEFE00F8FCFE0096DCFB0087D8FB0087D8 198 | FB0000000000000000000000000000000000D1CECD00F5E8CD00F5E1BC00F3DD 199 | B400F0D6A800EED29F00EDCD9600EBCA8F00E8D6B600F4F4F400F4F4F400F4F4 200 | F400F7F4F400E6BD7A00EDEDED00AEAEAE000000000000000000000000000000 201 | 0000000000000000000000000000000000000000000000000000000000000000 202 | 0000000000000000000000000000000000000000000000000000000000000000 203 | 0000000000000000000000000000000000000000000000000000000000000000 204 | 0000000000000000000000000000000000000000000000000000E4FAFE0099F3 205 | FE00E3F4FB00ADE4FC0087D8FB0090DBFB0091DCFB00A5E3FC00C2EBFD00E4F4 206 | FC0000000000000000000000000000000000D0CCCA00F7EDD600FBECCB00F9E7 207 | C000F6DEAF00F4DAA500F1D49B00F0D19300EAD9B800F5F5F500F5F5F500F5F5 208 | F500F8F5F500F4D18500EEEEEE00B1B0B0000000000000000000000000000000 209 | 0000000000000000000000000000000000000000000000000000000000000000 210 | 0000000000000000000000000000000000000000000000000000000000000000 211 | 0000000000000000000000000000000000000000000000000000000000000000 212 | 0000000000000000000000000000000000000000000000000000F4FBFD00DCF4 213 | FB00000000000000000000000000000000000000000000000000000000000000 214 | 000000000000000000000000000000000000CFCCC900FAF8F700F8F5F400F8F5 215 | F400F8F5F400F9F5F400F9F5F400F9F6F400FBF9F900FFFFFF00FFFFFF00FFFF 216 | FF00FEFEFE00F8F5F500FCFCFC00B1B1B0000000000000000000000000000000 217 | 0000000000000000000000000000000000000000000000000000000000000000 218 | 0000000000000000000000000000000000000000000000000000000000000000 219 | 0000000000000000000000000000000000000000000000000000000000000000 220 | 0000000000000000000000000000000000000000000000000000000000000000 221 | 0000000000000000000000000000000000000000000000000000000000000000 222 | 000000000000000000000000000000000000DEDDDC00F7F6F500F1F1F000E3EA 223 | EA00D4E0E000CED7D700E1DBD500DFD8D200DDD6D100C0CCD000BECDD100C3D0 224 | D500D9D1CE00DCD3D100D6CECC00BCBCBB000000000000000000000000000000 225 | 0000000000000000000000000000000000000000000000000000000000000000 226 | 0000000000000000000000000000000000000000000000000000000000000000 227 | 0000000000000000000000000000000000000000000000000000000000000000 228 | 000000000000000000000000000000000000424D3E000000000000003E000000 229 | 2800000040000000100000000100010000000000800000000000000000000000 230 | 000000000000000000000000FFFFFF00F33FFFFF00000000F003FFFF00000000 231 | E003FFFF00000000C001800000000000C003000000000000C00F000000000000 232 | C00F000000000000C00F000000000000C00F000000000000C00F000000000000 233 | C00F000000000000C00F000000000000C00F000000000000C00F000000000000 234 | CFFF000000000000FFFF00000000000000000000000000000000000000000000 235 | 000000000000} 236 | end 237 | object PopupMenu1: TPopupMenu 238 | OnPopup = PopupMenu1Popup 239 | Left = 328 240 | Top = 160 241 | object Atualizar1: TMenuItem 242 | Caption = 'Atualizar' 243 | OnClick = Atualizar1Click 244 | end 245 | object N1: TMenuItem 246 | Caption = '-' 247 | end 248 | object BaixarArquivo1: TMenuItem 249 | Caption = 'Baixar Arquivo' 250 | OnClick = BaixarArquivo1Click 251 | end 252 | object EnviarArquivo1: TMenuItem 253 | Caption = 'Enviar Arquivo' 254 | OnClick = EnviarArquivo1Click 255 | end 256 | end 257 | object SaveDialog1: TSaveDialog 258 | Filter = 'Arquivo|*.*' 259 | Left = 312 260 | Top = 120 261 | end 262 | object OpenDialog1: TOpenDialog 263 | Filter = 'Todos os Arquivos|*.*' 264 | Left = 344 265 | Top = 120 266 | end 267 | object Timer1: TTimer 268 | Enabled = False 269 | Interval = 200 270 | OnTimer = Timer1Timer 271 | Left = 480 272 | Top = 184 273 | end 274 | end 275 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/File_Manager.pas: -------------------------------------------------------------------------------- 1 | unit File_Manager; 2 | 3 | interface 4 | 5 | uses 6 | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 7 | Dialogs, StdCtrls, ComCtrls, ImgList, Menus, ScktComp, ExtCtrls; 8 | 9 | type 10 | TForm3 = class(TForm) 11 | ListView1: TListView; 12 | Edit1: TEdit; 13 | ImageList1: TImageList; 14 | PopupMenu1: TPopupMenu; 15 | BaixarArquivo1: TMenuItem; 16 | EnviarArquivo1: TMenuItem; 17 | SaveDialog1: TSaveDialog; 18 | OpenDialog1: TOpenDialog; 19 | Panel1: TPanel; 20 | Label1: TLabel; 21 | ProgressBar1: TProgressBar; 22 | ProgressBar2: TProgressBar; 23 | Label2: TLabel; 24 | Timer1: TTimer; 25 | Atualizar1: TMenuItem; 26 | N1: TMenuItem; 27 | procedure FormCreate(Sender: TObject); 28 | procedure PopupMenu1Popup(Sender: TObject); 29 | procedure Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); 30 | procedure ListView1DblClick(Sender: TObject); 31 | procedure BaixarArquivo1Click(Sender: TObject); 32 | procedure EnviarArquivo1Click(Sender: TObject); 33 | procedure Timer1Timer(Sender: TObject); 34 | procedure Atualizar1Click(Sender: TObject); 35 | procedure FormClose(Sender: TObject; var Action: TCloseAction); 36 | private 37 | { Private declarations } 38 | public 39 | Socket: TCustomWinSocket; 40 | LocalSalvar: String; 41 | ArquivoEnviar: TMemoryStream; 42 | { Public declarations } 43 | end; 44 | 45 | var 46 | Form3: TForm3; 47 | 48 | implementation 49 | 50 | uses Principal; 51 | 52 | {$R *.dfm} 53 | 54 | procedure TForm3.FormCreate(Sender: TObject); 55 | begin 56 | Edit1.Align := alTop; 57 | ListView1.Align := alClient; 58 | end; 59 | 60 | procedure TForm3.PopupMenu1Popup(Sender: TObject); 61 | begin 62 | if ListView1.ItemIndex < 0 then 63 | begin 64 | PopupMenu1.Items[2].Enabled := false; 65 | exit; 66 | end; 67 | 68 | if ListView1.Selected.SubItems[0] = 'Arquivo' then 69 | PopupMenu1.Items[2].Enabled := true 70 | else 71 | PopupMenu1.Items[2].Enabled := false; 72 | end; 73 | 74 | procedure TForm3.Edit1KeyDown(Sender: TObject; var Key: Word; 75 | Shift: TShiftState); 76 | begin 77 | 78 | try 79 | if Key = VK_RETURN then 80 | begin 81 | Socket.SendText('<|Folder|>' + Edit1.Text + '<<|'); 82 | end 83 | except 84 | exit; 85 | end; 86 | end; 87 | 88 | procedure TForm3.ListView1DblClick(Sender: TObject); 89 | begin 90 | if ListView1.Selected.SubItems[0] = 'Arquivo' then 91 | exit; 92 | 93 | if ListView1.Selected.Caption = '..' then 94 | begin 95 | Edit1.Text := ExtractFilePath(Copy(Edit1.Text, 1, Length(Edit1.Text) - 1)); 96 | Socket.SendText('<|Folder|>' + Edit1.Text + '<<|') 97 | end 98 | else 99 | begin 100 | if Copy(Edit1.Text, Length(Edit1.Text), Length(Edit1.Text)) = '\' then 101 | else 102 | Edit1.Text := Edit1.Text + '\'; 103 | 104 | Edit1.Text := Edit1.Text + ListView1.Selected.Caption + '\'; 105 | Socket.SendText('<|Folder|>' + Edit1.Text + '<<|'); 106 | end; 107 | 108 | end; 109 | 110 | procedure TForm3.BaixarArquivo1Click(Sender: TObject); 111 | begin 112 | SaveDialog1.Filter := 'Arquivo ' + ExtractFileExt(ListView1.Selected.Caption) 113 | + '|*' + ExtractFileExt(ListView1.Selected.Caption); 114 | if SaveDialog1.Execute then 115 | begin 116 | LocalSalvar := SaveDialog1.FileName + 117 | ExtractFileExt(ListView1.Selected.Caption); 118 | Socket.SendText('<|DownloadFile|>' + Edit1.Text + '\' + 119 | ListView1.Selected.Caption + '<<|'); 120 | end; 121 | end; 122 | 123 | procedure TForm3.EnviarArquivo1Click(Sender: TObject); 124 | begin 125 | if Copy(Edit1.Text, Length(Edit1.Text), Length(Edit1.Text)) = '\' then 126 | else 127 | Edit1.Text := Edit1.Text + '\'; 128 | 129 | if OpenDialog1.Execute then 130 | begin 131 | ArquivoEnviar := TMemoryStream.Create; 132 | ArquivoEnviar.LoadFromFile(OpenDialog1.FileName); 133 | Socket.SendText('<|UploadFile|>' + Edit1.Text + '\' + 134 | ExtractFileName(OpenDialog1.FileName) + '<<|'); 135 | // showMessage(intToStr(Form1.ArquivoEnviar.Size)); 136 | end; 137 | end; 138 | 139 | procedure TForm3.Timer1Timer(Sender: TObject); 140 | begin 141 | try 142 | ProgressBar2.Position := ArquivoEnviar.Position; 143 | except 144 | ProgressBar2.Position := 0; 145 | // ArquivoEnviar.Free; 146 | Timer1.Enabled := false; 147 | end; 148 | end; 149 | 150 | procedure TForm3.Atualizar1Click(Sender: TObject); 151 | begin 152 | try 153 | Socket.SendText('<|Folder|>' + Edit1.Text + '<<|'); 154 | except 155 | exit; 156 | end; 157 | end; 158 | 159 | procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction); 160 | var 161 | L: TListItem; 162 | begin 163 | L := Form1.LV1.FindCaption(0, intToStr(Socket.Handle), false, true, false); 164 | { try 165 | if L <> nil then begin 166 | L.SubItems.Objects[4] := nil; 167 | Free; 168 | end; 169 | except 170 | L.SubItems.Objects[4] := nil; 171 | end; } 172 | 173 | // Destroy; 174 | 175 | end; 176 | 177 | end. 178 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Principal.ddp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/Principal.ddp -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Principal.dfm: -------------------------------------------------------------------------------- 1 | object Form1: TForm1 2 | Left = 199 3 | Top = 146 4 | Caption = 'Access PC - Servidor' 5 | ClientHeight = 377 6 | ClientWidth = 832 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'MS Sans Serif' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | Position = poDesktopCenter 15 | PixelsPerInch = 96 16 | TextHeight = 13 17 | object Panel1: TPanel 18 | Left = 0 19 | Top = 335 20 | Width = 832 21 | Height = 42 22 | Align = alBottom 23 | TabOrder = 0 24 | object Bevel1: TBevel 25 | Left = 328 26 | Top = 0 27 | Width = 17 28 | Height = 41 29 | Shape = bsLeftLine 30 | end 31 | object Label1: TLabel 32 | Left = 104 33 | Top = 15 34 | Width = 28 35 | Height = 13 36 | Caption = 'Porta:' 37 | end 38 | object Label2: TLabel 39 | Left = 200 40 | Top = 14 41 | Width = 34 42 | Height = 13 43 | Caption = 'Senha:' 44 | end 45 | object Button1: TButton 46 | Left = 8 47 | Top = 9 48 | Width = 75 49 | Height = 25 50 | Caption = 'Ativar' 51 | TabOrder = 0 52 | OnClick = Button1Click 53 | end 54 | object Button3: TButton 55 | Left = 336 56 | Top = 8 57 | Width = 75 58 | Height = 25 59 | Caption = 'Sobre' 60 | TabOrder = 1 61 | OnClick = Button3Click 62 | end 63 | object Edit1: TEdit 64 | Left = 136 65 | Top = 11 66 | Width = 49 67 | Height = 21 68 | TabOrder = 2 69 | Text = '6651' 70 | end 71 | object Edit2: TEdit 72 | Left = 240 73 | Top = 10 74 | Width = 73 75 | Height = 21 76 | PasswordChar = '*' 77 | TabOrder = 3 78 | end 79 | end 80 | object LV1: TListView 81 | Left = 0 82 | Top = 0 83 | Width = 832 84 | Height = 316 85 | Align = alClient 86 | Columns = < 87 | item 88 | Caption = 'IDSock' 89 | Width = 70 90 | end 91 | item 92 | Caption = 'Identifica'#231#227'o' 93 | Width = 170 94 | end 95 | item 96 | Caption = 'Sistema Operacional' 97 | Width = 170 98 | end 99 | item 100 | Caption = 'Processador' 101 | Width = 190 102 | end 103 | item 104 | Caption = 'IP' 105 | Width = 150 106 | end 107 | item 108 | Caption = 'Ping' 109 | end> 110 | Enabled = False 111 | GridLines = True 112 | ReadOnly = True 113 | RowSelect = True 114 | PopupMenu = PopupMenu1 115 | TabOrder = 1 116 | ViewStyle = vsReport 117 | end 118 | object StatusBar1: TStatusBar 119 | Left = 0 120 | Top = 316 121 | Width = 832 122 | Height = 19 123 | Panels = < 124 | item 125 | Text = 'Status:' 126 | Width = 50 127 | end 128 | item 129 | Text = 'Desativado' 130 | Width = 100 131 | end> 132 | end 133 | object PopupMenu1: TPopupMenu 134 | Left = 344 135 | Top = 104 136 | object Fecharconexo1: TMenuItem 137 | Caption = 'Acessar Computador' 138 | OnClick = Fecharconexo1Click 139 | end 140 | object Chato1: TMenuItem 141 | Caption = 'Chat' 142 | OnClick = Chato1Click 143 | end 144 | object GerenciadordeArquivos1: TMenuItem 145 | Caption = 'Compartilhador de Arquivos' 146 | OnClick = GerenciadordeArquivos1Click 147 | end 148 | object N1: TMenuItem 149 | Caption = '-' 150 | end 151 | object FecharConexo2: TMenuItem 152 | Caption = 'Fechar Conex'#227'o' 153 | OnClick = FecharConexo2Click 154 | end 155 | end 156 | object SS1: TServerSocket 157 | Active = False 158 | Port = 6651 159 | ServerType = stNonBlocking 160 | OnListen = SS1Listen 161 | OnAccept = SS1Accept 162 | OnClientDisconnect = SS1ClientDisconnect 163 | OnClientError = SS1ClientError 164 | Left = 392 165 | Top = 104 166 | end 167 | object Timer1: TTimer 168 | Interval = 5000 169 | OnTimer = Timer1Timer 170 | Left = 432 171 | Top = 104 172 | end 173 | object ApplicationEvents1: TApplicationEvents 174 | OnException = ApplicationEvents1Exception 175 | Left = 464 176 | Top = 104 177 | end 178 | end 179 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/Principal.pas: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/Principal.pas -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/StreamManager.pas: -------------------------------------------------------------------------------- 1 | unit StreamManager; 2 | 3 | interface 4 | 5 | uses 6 | Windows,Classes,Graphics; 7 | 8 | procedure GetScreenToBmp(DrawCur:Boolean;StreamName:TMemoryStream); 9 | procedure CompareStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 10 | procedure ResumeStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 11 | 12 | implementation 13 | 14 | // Captura a tela 15 | procedure GetScreenToBmp(DrawCur:Boolean;StreamName:TMemoryStream); 16 | var 17 | Mybmp:Tbitmap; 18 | Cursorx, Cursory: integer; 19 | dc: hdc; 20 | Mycan: Tcanvas; 21 | R: TRect; 22 | DrawPos: TPoint; 23 | MyCursor: TIcon; 24 | hld: hwnd; 25 | Threadld: dword; 26 | mp: tpoint; 27 | pIconInfo: TIconInfo; 28 | begin 29 | Mybmp := Tbitmap.Create; 30 | Mycan := TCanvas.Create; 31 | dc := GetWindowDC(0); 32 | try 33 | Mycan.Handle := dc; 34 | R := Rect(0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN)); 35 | Mybmp.Width := R.Right; 36 | Mybmp.Height := R.Bottom; 37 | Mybmp.Canvas.CopyRect(R, Mycan, R); 38 | finally 39 | releaseDC(0, DC); 40 | end; 41 | Mycan.Handle := 0; 42 | Mycan.Free; 43 | 44 | if DrawCur then 45 | begin 46 | GetCursorPos(DrawPos); 47 | MyCursor := TIcon.Create; 48 | getcursorpos(mp); 49 | hld := WindowFromPoint(mp); 50 | Threadld := GetWindowThreadProcessId(hld, nil); 51 | AttachThreadInput(GetCurrentThreadId, Threadld, True); 52 | MyCursor.Handle := Getcursor(); 53 | AttachThreadInput(GetCurrentThreadId, threadld, False); 54 | GetIconInfo(Mycursor.Handle, pIconInfo); 55 | cursorx := DrawPos.x - round(pIconInfo.xHotspot); 56 | cursory := DrawPos.y - round(pIconInfo.yHotspot); 57 | Mybmp.Canvas.Draw(cursorx, cursory, MyCursor); 58 | DeleteObject(pIconInfo.hbmColor); 59 | DeleteObject(pIconInfo.hbmMask); 60 | Mycursor.ReleaseHandle; 61 | MyCursor.Free; 62 | end; 63 | Mybmp.PixelFormat:=pf8bit; 64 | Mybmp.SaveToStream(StreamName); 65 | Mybmp.Free; 66 | end; 67 | 68 | // Compara as Streams e as Separam quando os Pixels da Bitmap forem iguais. 69 | procedure CompareStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 70 | var 71 | I: Integer; 72 | P1, P2, P3: ^AnsiChar; 73 | begin 74 | MySecondStream.Clear; 75 | MyCompareStream.Clear; 76 | GetScreenToBmp(true,MySecondStream); 77 | 78 | P1 := MyFirstStream.Memory; 79 | P2 := MySecondStream.Memory; 80 | MyCompareStream.SetSize(MyFirstStream.Size); 81 | P3 := MyCompareStream.Memory; 82 | 83 | for I := 0 to MyFirstStream.Size - 1 do 84 | begin 85 | if P1^ = P2^ then 86 | P3^ := '0' 87 | else 88 | P3^ := P2^; 89 | Inc(P1); 90 | Inc(P2); 91 | Inc(P3); 92 | end; 93 | 94 | MyFirstStream.Clear; 95 | MyFirstStream.CopyFrom(MySecondStream,0); 96 | end; 97 | 98 | // Modifica as Streams para reajustar os Pixels da Bitmap 99 | procedure ResumeStream(MyFirstStream,MySecondStream,MyCompareStream:TMemorystream); 100 | var 101 | I: Integer; 102 | P1, P2, P3: ^AnsiChar; 103 | begin 104 | P1 := MyFirstStream.Memory; 105 | MySecondStream.SetSize(MyFirstStream.Size); 106 | P2 := MySecondStream.Memory; 107 | P3 := MyCompareStream.Memory; 108 | 109 | for I := 0 to MyFirstStream.Size - 1 do 110 | begin 111 | if P3^ = '0' then 112 | P2^ := p1^ 113 | else 114 | P2^ := P3^; 115 | Inc(P1); 116 | Inc(P2); 117 | Inc(P3); 118 | end; 119 | 120 | MyFirstStream.Clear; 121 | MyFirstStream.CopyFrom(MySecondStream,0); 122 | MySecondStream.Position:=0; 123 | end; 124 | 125 | end. 126 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/UAC.RES: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/UAC.RES -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/UAC.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/UAC.rc: -------------------------------------------------------------------------------- 1 | 1 24 "UAC.manifest" -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/zlib/adler32.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/zlib/adler32.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/zlib/deflate.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/zlib/deflate.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/zlib/infblock.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/zlib/infblock.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/zlib/infcodes.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/zlib/infcodes.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/zlib/inffast.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/zlib/inffast.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/zlib/inflate.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/zlib/inflate.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/zlib/inftrees.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/zlib/inftrees.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/zlib/infutil.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/zlib/infutil.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Servidor/zlib/trees.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Servidor/zlib/trees.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Units/StreamManager.pas: -------------------------------------------------------------------------------- 1 | unit StreamManager; 2 | 3 | interface 4 | 5 | uses 6 | Windows, Classes, Graphics; 7 | 8 | procedure GetScreenToBmp(DrawCur: Boolean; StreamName: TMemoryStream); 9 | procedure CompareStream(MyFirstStream, MySecondStream, MyCompareStream 10 | : TMemoryStream); 11 | procedure ResumeStream(MyFirstStream, MySecondStream, MyCompareStream 12 | : TMemoryStream); 13 | 14 | implementation 15 | 16 | // Captura a tela 17 | procedure GetScreenToBmp(DrawCur: Boolean; StreamName: TMemoryStream); 18 | var 19 | Mybmp: Tbitmap; 20 | Cursorx, Cursory: integer; 21 | dc: hdc; 22 | Mycan: Tcanvas; 23 | R: TRect; 24 | DrawPos: TPoint; 25 | MyCursor: TIcon; 26 | hld: hwnd; 27 | Threadld: dword; 28 | mp: TPoint; 29 | pIconInfo: TIconInfo; 30 | begin 31 | Mybmp := Tbitmap.Create; 32 | Mycan := Tcanvas.Create; 33 | dc := GetWindowDC(0); 34 | try 35 | Mycan.Handle := dc; 36 | R := Rect(0, 0, GetSystemMetrics(SM_CXSCREEN), 37 | GetSystemMetrics(SM_CYSCREEN)); 38 | Mybmp.Width := R.Right; 39 | Mybmp.Height := R.Bottom; 40 | Mybmp.Canvas.CopyRect(R, Mycan, R); 41 | finally 42 | releaseDC(0, dc); 43 | end; 44 | Mycan.Handle := 0; 45 | Mycan.Free; 46 | 47 | if DrawCur then 48 | begin 49 | GetCursorPos(DrawPos); 50 | MyCursor := TIcon.Create; 51 | GetCursorPos(mp); 52 | hld := WindowFromPoint(mp); 53 | Threadld := GetWindowThreadProcessId(hld, nil); 54 | AttachThreadInput(GetCurrentThreadId, Threadld, True); 55 | MyCursor.Handle := Getcursor(); 56 | AttachThreadInput(GetCurrentThreadId, Threadld, False); 57 | GetIconInfo(MyCursor.Handle, pIconInfo); 58 | Cursorx := DrawPos.x - round(pIconInfo.xHotspot); 59 | Cursory := DrawPos.y - round(pIconInfo.yHotspot); 60 | Mybmp.Canvas.Draw(Cursorx, Cursory, MyCursor); 61 | DeleteObject(pIconInfo.hbmColor); 62 | DeleteObject(pIconInfo.hbmMask); 63 | MyCursor.ReleaseHandle; 64 | MyCursor.Free; 65 | end; 66 | Mybmp.PixelFormat := pf8bit; 67 | Mybmp.SaveToStream(StreamName); 68 | Mybmp.Free; 69 | end; 70 | 71 | // Compara as Streams e as Separam quando os Pixels da Bitmap forem iguais. 72 | procedure CompareStream(MyFirstStream, MySecondStream, MyCompareStream 73 | : TMemoryStream); 74 | var 75 | I: integer; 76 | P1, P2, P3: ^AnsiChar; 77 | begin 78 | MySecondStream.Clear; 79 | MyCompareStream.Clear; 80 | GetScreenToBmp(True, MySecondStream); 81 | 82 | P1 := MyFirstStream.Memory; 83 | P2 := MySecondStream.Memory; 84 | MyCompareStream.SetSize(MyFirstStream.Size); 85 | P3 := MyCompareStream.Memory; 86 | 87 | for I := 0 to MyFirstStream.Size - 1 do 88 | begin 89 | if P1^ = P2^ then 90 | P3^ := '0' 91 | else 92 | P3^ := P2^; 93 | Inc(P1); 94 | Inc(P2); 95 | Inc(P3); 96 | end; 97 | 98 | MyFirstStream.Clear; 99 | MyFirstStream.CopyFrom(MySecondStream, 0); 100 | end; 101 | 102 | // Modifica as Streams para reajustar os Pixels da Bitmap 103 | procedure ResumeStream(MyFirstStream, MySecondStream, MyCompareStream 104 | : TMemoryStream); 105 | var 106 | I: integer; 107 | P1, P2, P3: ^AnsiChar; 108 | begin 109 | P1 := MyFirstStream.Memory; 110 | MySecondStream.SetSize(MyFirstStream.Size); 111 | P2 := MySecondStream.Memory; 112 | P3 := MyCompareStream.Memory; 113 | 114 | for I := 0 to MyFirstStream.Size - 1 do 115 | begin 116 | if P3^ = '0' then 117 | P2^ := P1^ 118 | else 119 | P2^ := P3^; 120 | Inc(P1); 121 | Inc(P2); 122 | Inc(P3); 123 | end; 124 | 125 | MyFirstStream.Clear; 126 | MyFirstStream.CopyFrom(MySecondStream, 0); 127 | MySecondStream.Position := 0; 128 | end; 129 | 130 | end. 131 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Units/sndkey32.pas: -------------------------------------------------------------------------------- 1 | (* 2 | SendKeys routine for 32-bit Delphi. 3 | 4 | Written by Ken Henderson 5 | 6 | Copyright (c) 1995 Ken Henderson 7 | 8 | This unit includes two routines that simulate popular Visual Basic 9 | routines: Sendkeys and AppActivate. SendKeys takes a PChar 10 | as its first parameter and a boolean as its second, like so: 11 | 12 | SendKeys('KeyString', Wait); 13 | 14 | where KeyString is a string of key names and modifiers that you want 15 | to send to the current input focus and Wait is a boolean variable or value 16 | that indicates whether SendKeys should wait for each key message to be 17 | processed before proceeding. See the table below for more information. 18 | 19 | AppActivate also takes a PChar as its only parameter, like so: 20 | 21 | AppActivate('WindowName'); 22 | 23 | where WindowName is the name of the window that you want to make the 24 | current input focus. 25 | 26 | SendKeys supports the Visual Basic SendKeys syntax, as documented below. 27 | 28 | Supported modifiers: 29 | 30 | + = Shift 31 | ^ = Control 32 | % = Alt 33 | 34 | Surround sequences of characters or key names with parentheses in order to 35 | modify them as a group. For example, '+abc' shifts only 'a', while '+(abc)' shifts 36 | all three characters. 37 | 38 | Supported special characters 39 | 40 | ~ = Enter 41 | ( = Begin modifier group (see above) 42 | ) = End modifier group (see above) 43 | { = Begin key name text (see below) 44 | } = End key name text (see below) 45 | 46 | Supported characters: 47 | 48 | Any character that can be typed is supported. Surround the modifier keys 49 | listed above with braces in order to send as normal text. 50 | 51 | Supported key names (surround these with braces): 52 | 53 | BKSP, BS, BACKSPACE 54 | BREAK 55 | CAPSLOCK 56 | CLEAR 57 | DEL 58 | DELETE 59 | DOWN 60 | END 61 | ENTER 62 | ESC 63 | ESCAPE 64 | F1 65 | F2 66 | F3 67 | F4 68 | F5 69 | F6 70 | F7 71 | F8 72 | F9 73 | F10 74 | F11 75 | F12 76 | F13 77 | F14 78 | F15 79 | F16 80 | HELP 81 | HOME 82 | INS 83 | LEFT 84 | NUMLOCK 85 | PGDN 86 | PGUP 87 | PRTSC 88 | RIGHT 89 | SCROLLLOCK 90 | TAB 91 | UP 92 | 93 | Follow the keyname with a space and a number to send the specified key a 94 | given number of times (e.g., {left 6}). 95 | *) 96 | 97 | unit sndkey32; 98 | 99 | interface 100 | 101 | Uses SysUtils, Windows, Messages; 102 | 103 | Function SendKeys(SendKeysString: PChar; Wait: Boolean): Boolean; 104 | function AppActivate(WindowName: PChar): Boolean; overload; 105 | function AppActivate(WindowHandle: HWND): Boolean; overload; 106 | 107 | { Buffer for working with PChar's } 108 | 109 | const 110 | WorkBufLen = 40; 111 | 112 | var 113 | WorkBuf: array [0 .. WorkBufLen] of Char; 114 | 115 | implementation 116 | 117 | type 118 | THKeys = array [0 .. pred(MaxLongInt)] of byte; 119 | 120 | var 121 | AllocationSize: integer; 122 | 123 | (* 124 | Converts a string of characters and key names to keyboard events and 125 | passes them to Windows. 126 | 127 | Example syntax: 128 | 129 | SendKeys('abc123{left}{left}{left}def{end}456{left 6}ghi{end}789', True); 130 | 131 | *) 132 | 133 | Function SendKeys(SendKeysString: PChar; Wait: Boolean): Boolean; 134 | type 135 | WBytes = array [0 .. pred(SizeOf(Word))] of byte; 136 | 137 | TSendKey = record 138 | Name: ShortString; 139 | VKey: byte; 140 | end; 141 | 142 | const 143 | { Array of keys that SendKeys recognizes. 144 | 145 | If you add to this list, you must be sure to keep it sorted alphabetically 146 | by Name because a binary search routine is used to scan it. } 147 | 148 | MaxSendKeyRecs = 41; 149 | SendKeyRecs: array [1 .. MaxSendKeyRecs] of TSendKey = ((Name: 'BACKSPACE'; 150 | VKey: VK_BACK), (Name: 'BKSP'; VKey: VK_BACK), (Name: 'BREAK'; 151 | VKey: VK_CANCEL), (Name: 'BS'; VKey: VK_BACK), (Name: 'CAPSLOCK'; 152 | VKey: VK_CAPITAL), (Name: 'CLEAR'; VKey: VK_CLEAR), (Name: 'DEL'; 153 | VKey: VK_DELETE), (Name: 'DELETE'; VKey: VK_DELETE), (Name: 'DOWN'; 154 | VKey: VK_DOWN), (Name: 'END'; VKey: VK_END), (Name: 'ENTER'; 155 | VKey: VK_RETURN), (Name: 'ESC'; VKey: VK_ESCAPE), (Name: 'ESCAPE'; 156 | VKey: VK_ESCAPE), (Name: 'F1'; VKey: VK_F1), (Name: 'F10'; VKey: VK_F10), 157 | (Name: 'F11'; VKey: VK_F11), (Name: 'F12'; VKey: VK_F12), (Name: 'F13'; 158 | VKey: VK_F13), (Name: 'F14'; VKey: VK_F14), (Name: 'F15'; VKey: VK_F15), 159 | (Name: 'F16'; VKey: VK_F16), (Name: 'F2'; VKey: VK_F2), (Name: 'F3'; 160 | VKey: VK_F3), (Name: 'F4'; VKey: VK_F4), (Name: 'F5'; VKey: VK_F5), 161 | (Name: 'F6'; VKey: VK_F6), (Name: 'F7'; VKey: VK_F7), (Name: 'F8'; 162 | VKey: VK_F8), (Name: 'F9'; VKey: VK_F9), (Name: 'HELP'; VKey: VK_HELP), 163 | (Name: 'HOME'; VKey: VK_HOME), (Name: 'INS'; VKey: VK_INSERT), 164 | (Name: 'LEFT'; VKey: VK_LEFT), (Name: 'NUMLOCK'; VKey: VK_NUMLOCK), 165 | (Name: 'PGDN'; VKey: VK_NEXT), (Name: 'PGUP'; VKey: VK_PRIOR), 166 | (Name: 'PRTSC'; VKey: VK_PRINT), (Name: 'RIGHT'; VKey: VK_RIGHT), 167 | (Name: 'SCROLLLOCK'; VKey: VK_SCROLL), (Name: 'TAB'; VKey: VK_TAB), 168 | (Name: 'UP'; VKey: VK_UP)); 169 | 170 | { Extra VK constants missing from Delphi's Windows API interface } 171 | VK_NULL = 0; 172 | VK_SemiColon = 186; 173 | VK_Equal = 187; 174 | VK_Comma = 188; 175 | VK_Minus = 189; 176 | VK_Period = 190; 177 | VK_Slash = 191; 178 | VK_BackQuote = 192; 179 | VK_LeftBracket = 219; 180 | VK_BackSlash = 220; 181 | VK_RightBracket = 221; 182 | VK_Quote = 222; 183 | VK_Last = VK_Quote; 184 | 185 | ExtendedVKeys: set of byte = [VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT, VK_HOME, 186 | VK_END, VK_PRIOR, { PgUp } 187 | VK_NEXT, { PgDn } 188 | VK_INSERT, VK_DELETE]; 189 | 190 | const 191 | INVALIDKEY = $FFFF { Unsigned -1 }; 192 | VKKEYSCANSHIFTON = $01; 193 | VKKEYSCANCTRLON = $02; 194 | VKKEYSCANALTON = $04; 195 | UNITNAME = 'SendKeys'; 196 | var 197 | UsingParens, ShiftDown, ControlDown, AltDown, FoundClose: Boolean; 198 | PosSpace: byte; 199 | I, L: integer; 200 | NumTimes, MKey: Word; 201 | KeyString: String[20]; 202 | 203 | procedure DisplayMessage(Message: PChar); 204 | begin 205 | // MessageBox(0,Message,UNITNAME,0); 206 | end; 207 | 208 | function BitSet(BitTable, BitMask: byte): Boolean; 209 | begin 210 | Result := ByteBool(BitTable and BitMask); 211 | end; 212 | 213 | procedure SetBit(var BitTable: byte; BitMask: byte); 214 | begin 215 | BitTable := BitTable or BitMask; 216 | end; 217 | 218 | Procedure KeyboardEvent(VKey, ScanCode: byte; Flags: Longint); 219 | var 220 | KeyboardMsg: TMsg; 221 | begin 222 | keybd_event(VKey, ScanCode, Flags, 0); 223 | If (Wait) then 224 | While (PeekMessage(KeyboardMsg, 0, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE)) do 225 | begin 226 | TranslateMessage(KeyboardMsg); 227 | DispatchMessage(KeyboardMsg); 228 | end; 229 | end; 230 | 231 | Procedure SendKeyDown(VKey: byte; NumTimes: Word; GenUpMsg: Boolean); 232 | var 233 | Cnt: Word; 234 | ScanCode: byte; 235 | NumState: Boolean; 236 | KeyBoardState: TKeyboardState; 237 | begin 238 | If (VKey = VK_NUMLOCK) then 239 | begin 240 | NumState := ByteBool(GetKeyState(VK_NUMLOCK) and 1); 241 | GetKeyBoardState(KeyBoardState); 242 | If NumState then 243 | KeyBoardState[VK_NUMLOCK] := (KeyBoardState[VK_NUMLOCK] and not 1) 244 | else 245 | KeyBoardState[VK_NUMLOCK] := (KeyBoardState[VK_NUMLOCK] or 1); 246 | SetKeyBoardState(KeyBoardState); 247 | exit; 248 | end; 249 | 250 | ScanCode := Lo(MapVirtualKey(VKey, 0)); 251 | For Cnt := 1 to NumTimes do 252 | If (VKey in ExtendedVKeys) then 253 | begin 254 | KeyboardEvent(VKey, ScanCode, KEYEVENTF_EXTENDEDKEY); 255 | If (GenUpMsg) then 256 | KeyboardEvent(VKey, ScanCode, KEYEVENTF_EXTENDEDKEY or 257 | KEYEVENTF_KEYUP) 258 | end 259 | else 260 | begin 261 | KeyboardEvent(VKey, ScanCode, 0); 262 | If (GenUpMsg) then 263 | KeyboardEvent(VKey, ScanCode, KEYEVENTF_KEYUP); 264 | end; 265 | end; 266 | 267 | Procedure SendKeyUp(VKey: byte); 268 | var 269 | ScanCode: byte; 270 | begin 271 | ScanCode := Lo(MapVirtualKey(VKey, 0)); 272 | If (VKey in ExtendedVKeys) then 273 | KeyboardEvent(VKey, ScanCode, KEYEVENTF_EXTENDEDKEY and KEYEVENTF_KEYUP) 274 | else 275 | KeyboardEvent(VKey, ScanCode, KEYEVENTF_KEYUP); 276 | end; 277 | 278 | Procedure SendKey(MKey: Word; NumTimes: Word; GenDownMsg: Boolean); 279 | begin 280 | If (BitSet(Hi(MKey), VKKEYSCANSHIFTON)) then 281 | SendKeyDown(VK_SHIFT, 1, False); 282 | If (BitSet(Hi(MKey), VKKEYSCANCTRLON)) then 283 | SendKeyDown(VK_CONTROL, 1, False); 284 | If (BitSet(Hi(MKey), VKKEYSCANALTON)) then 285 | SendKeyDown(VK_MENU, 1, False); 286 | SendKeyDown(Lo(MKey), NumTimes, GenDownMsg); 287 | If (BitSet(Hi(MKey), VKKEYSCANSHIFTON)) then 288 | SendKeyUp(VK_SHIFT); 289 | If (BitSet(Hi(MKey), VKKEYSCANCTRLON)) then 290 | SendKeyUp(VK_CONTROL); 291 | If (BitSet(Hi(MKey), VKKEYSCANALTON)) then 292 | SendKeyUp(VK_MENU); 293 | end; 294 | 295 | { Implements a simple binary search to locate special key name strings } 296 | 297 | Function StringToVKey(KeyString: ShortString): Word; 298 | var 299 | Found, Collided: Boolean; 300 | Bottom, Top, Middle: byte; 301 | begin 302 | Result := INVALIDKEY; 303 | Bottom := 1; 304 | Top := MaxSendKeyRecs; 305 | Found := False; 306 | Middle := (Bottom + Top) div 2; 307 | Repeat 308 | Collided := ((Bottom = Middle) or (Top = Middle)); 309 | If (KeyString = SendKeyRecs[Middle].Name) then 310 | begin 311 | Found := True; 312 | Result := SendKeyRecs[Middle].VKey; 313 | end 314 | else 315 | begin 316 | If (KeyString > SendKeyRecs[Middle].Name) then 317 | Bottom := Middle 318 | else 319 | Top := Middle; 320 | Middle := (Succ(Bottom + Top)) div 2; 321 | end; 322 | Until (Found or Collided); 323 | If (Result = INVALIDKEY) then 324 | DisplayMessage('Invalid Key Name'); 325 | end; 326 | 327 | procedure PopUpShiftKeys; 328 | begin 329 | If (not UsingParens) then 330 | begin 331 | If ShiftDown then 332 | SendKeyUp(VK_SHIFT); 333 | If ControlDown then 334 | SendKeyUp(VK_CONTROL); 335 | If AltDown then 336 | SendKeyUp(VK_MENU); 337 | ShiftDown := False; 338 | ControlDown := False; 339 | AltDown := False; 340 | end; 341 | end; 342 | 343 | begin 344 | AllocationSize := MaxInt; 345 | Result := False; 346 | UsingParens := False; 347 | ShiftDown := False; 348 | ControlDown := False; 349 | AltDown := False; 350 | I := 0; 351 | L := StrLen(SendKeysString); 352 | If (L > AllocationSize) then 353 | L := AllocationSize; 354 | If (L = 0) then 355 | exit; 356 | 357 | While (I < L) do 358 | begin 359 | case SendKeysString[I] of 360 | '(': 361 | begin 362 | UsingParens := True; 363 | Inc(I); 364 | end; 365 | ')': 366 | begin 367 | UsingParens := False; 368 | PopUpShiftKeys; 369 | Inc(I); 370 | end; 371 | '%': 372 | begin 373 | AltDown := True; 374 | SendKeyDown(VK_MENU, 1, False); 375 | Inc(I); 376 | end; 377 | '+': 378 | begin 379 | ShiftDown := True; 380 | SendKeyDown(VK_SHIFT, 1, False); 381 | Inc(I); 382 | end; 383 | '^': 384 | begin 385 | ControlDown := True; 386 | SendKeyDown(VK_CONTROL, 1, False); 387 | Inc(I); 388 | end; 389 | '{': 390 | begin 391 | NumTimes := 1; 392 | If (SendKeysString[Succ(I)] = '{') then 393 | begin 394 | MKey := VK_LeftBracket; 395 | SetBit(WBytes(MKey)[1], VKKEYSCANSHIFTON); 396 | SendKey(MKey, 1, True); 397 | PopUpShiftKeys; 398 | Inc(I, 3); 399 | Continue; 400 | end; 401 | KeyString := ''; 402 | FoundClose := False; 403 | While (I <= L) do 404 | begin 405 | Inc(I); 406 | If (SendKeysString[I] = '}') then 407 | begin 408 | FoundClose := True; 409 | Inc(I); 410 | Break; 411 | end; 412 | KeyString := KeyString + Upcase(SendKeysString[I]); 413 | end; 414 | If (Not FoundClose) then 415 | begin 416 | DisplayMessage('No Close'); 417 | exit; 418 | end; 419 | If (SendKeysString[I] = '}') then 420 | begin 421 | MKey := VK_RightBracket; 422 | SetBit(WBytes(MKey)[1], VKKEYSCANSHIFTON); 423 | SendKey(MKey, 1, True); 424 | PopUpShiftKeys; 425 | Inc(I); 426 | Continue; 427 | end; 428 | PosSpace := Pos(' ', KeyString); 429 | If (PosSpace <> 0) then 430 | begin 431 | NumTimes := StrToInt(Copy(KeyString, Succ(PosSpace), 432 | Length(KeyString) - PosSpace)); 433 | KeyString := Copy(KeyString, 1, pred(PosSpace)); 434 | end; 435 | If (Length(KeyString) = 1) then 436 | MKey := vkKeyScan(WideChar(KeyString[1])) 437 | else 438 | MKey := StringToVKey(KeyString); 439 | If (MKey <> INVALIDKEY) then 440 | begin 441 | SendKey(MKey, NumTimes, True); 442 | PopUpShiftKeys; 443 | Continue; 444 | end; 445 | end; 446 | '~': 447 | begin 448 | SendKeyDown(VK_RETURN, 1, True); 449 | PopUpShiftKeys; 450 | Inc(I); 451 | end; 452 | else 453 | begin 454 | MKey := vkKeyScan(SendKeysString[I]); 455 | If (MKey <> INVALIDKEY) then 456 | begin 457 | SendKey(MKey, 1, True); 458 | PopUpShiftKeys; 459 | end 460 | else 461 | DisplayMessage('Invalid KeyName'); 462 | Inc(I); 463 | end; 464 | end; 465 | end; 466 | Result := True; 467 | PopUpShiftKeys; 468 | end; 469 | 470 | { AppActivate 471 | 472 | This is used to set the current input focus to a given window using its 473 | name. This is especially useful for ensuring a window is active before 474 | sending it input messages using the SendKeys function. You can specify 475 | a window's name in its entirety, or only portion of it, beginning from 476 | the left. 477 | 478 | } 479 | 480 | var 481 | WindowHandle: HWND; 482 | 483 | function EnumWindowsProc(WHandle: HWND; lParam: lParam): BOOL; export; stdcall; 484 | var 485 | WindowName: array [0 .. MAX_PATH] of Char; 486 | begin 487 | { Can't test GetWindowText's return value since some windows don't have a title } 488 | GetWindowText(WHandle, WindowName, MAX_PATH); 489 | Result := (StrLIComp(WindowName, PChar(lParam), StrLen(PChar(lParam))) <> 0); 490 | If (not Result) then 491 | WindowHandle := WHandle; 492 | end; 493 | 494 | function AppActivate(WindowHandle: HWND): Boolean; overload; 495 | begin 496 | try 497 | SendMessage(WindowHandle, WM_SYSCOMMAND, SC_HOTKEY, WindowHandle); 498 | SendMessage(WindowHandle, WM_SYSCOMMAND, SC_RESTORE, WindowHandle); 499 | Result := SetForegroundWindow(WindowHandle); 500 | except 501 | on Exception do 502 | Result := False; 503 | end; 504 | end; 505 | 506 | function AppActivate(WindowName: PChar): Boolean; overload; 507 | begin 508 | try 509 | Result := True; 510 | WindowHandle := FindWindow(nil, WindowName); 511 | If (WindowHandle = 0) then 512 | EnumWindows(@EnumWindowsProc, integer(PChar(WindowName))); 513 | If (WindowHandle <> 0) then 514 | begin 515 | SendMessage(WindowHandle, WM_SYSCOMMAND, SC_HOTKEY, WindowHandle); 516 | SendMessage(WindowHandle, WM_SYSCOMMAND, SC_RESTORE, WindowHandle); 517 | SetForegroundWindow(WindowHandle); 518 | end 519 | else 520 | Result := False; 521 | except 522 | on Exception do 523 | Result := False; 524 | end; 525 | end; 526 | 527 | end. 528 | -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Units/zlib/adler32.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Units/zlib/adler32.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Units/zlib/deflate.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Units/zlib/deflate.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Units/zlib/infblock.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Units/zlib/infblock.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Units/zlib/infcodes.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Units/zlib/infcodes.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Units/zlib/inffast.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Units/zlib/inffast.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Units/zlib/inflate.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Units/zlib/inflate.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Units/zlib/inftrees.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Units/zlib/inftrees.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Units/zlib/infutil.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Units/zlib/infutil.obj -------------------------------------------------------------------------------- /Fontes Access PC - Delphi XE5/Units/zlib/trees.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Fontes Access PC - Delphi XE5/Units/zlib/trees.obj -------------------------------------------------------------------------------- /Informações do Access PC.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maickonn/Delphi_Remote_Access_PC/0815a735df4237a8e0172d44b7df1feedaa370b5/Informações do Access PC.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Aviso de Descontinuação 3 | Este projeto foi descontinuado e, portanto, arquivado. 4 | 5 | --- 6 | ## Nota de Esclarecimento 7 | Lamentavelmente, alguns indivíduos de má índole têm usado os códigos deste projeto para criar malwares. Quero deixar claro que não apoio nem compactuo com essas atividades. 8 | 9 | Peço desculpas por qualquer inconveniente que isso possa ter causado. Não era minha intenção que este projeto fosse usado de forma prejudicial. 10 | 11 | Já considerei remover este projeto do GitHub, mas isso não resolveria o problema, uma vez que vários forks foram criados e trechos de código estão disseminados pela internet. 12 | 13 | --- 14 | 15 | O acesso remoto foi escrito em **Delphi 7** e **Delphi XE5**. 16 | 17 | Recursos: 18 | * Acesso Remoto com algorítimo RFB (Captura apenas o que foi alterado na tela). 19 | * Compressões de Dados. 20 | * Compartilhador de Arquivos. 21 | * Chat. 22 | * Herança de Formulários (Permite que você acesse várias máquinas ao mesmo tempo em várias janelas). 23 | 24 | ------------------------------------------------------------------------------ 25 | 26 | *Todos os componentes utilizados são nativos do próprio Delphi.* 27 | 28 | Provavelmente quando você abrir o projeto, vai aparecer uma mensagem avisando que falta componente. 29 | O que você deve fazer é seguir os seguintes passos: 30 | 31 | 32 | -> Delphi 7: 33 | * Com o Delphi aberto, vá ao menu "Component" 34 | * Em seguida clique em "Install Packages..." 35 | * Clique no botão "Add" 36 | * Vá no diretório onde o Delphi está instalado e entre na pasta "Bin". ( C:\Program Files (x86)\Borland\Delphi7\Bin ) 37 | * Selecione o arquivo "dclsockets70.bpl" e clique em Abrir. 38 | * Feche o Delphi e abra o projeto novamente. 39 | 40 | -> Delphi XE5: 41 | * Com o Delphi aberto, vá ao menu "Component" 42 | * Em seguida clique em "Install Packages..." 43 | * Clique no botão "Add" 44 | * Vá no diretório onde o Delphi está instalado e entre na pasta "Bin". ( C:\Program Files (x86)\Embarcadero\RAD Studio\12.0\bin ) 45 | * Selecione o arquivo "dclsockets190.bpl" e clique em Abrir. 46 | * Feche o Delphi e abra o projeto novamente. 47 | 48 | 49 | Na pasta Units, você encontrará: 50 | * Unit zLibEx.pas com a pasta zLib - Usada para comprimir dados. (Você deve copiar a pasta zLib para dentro do Projeto). 51 | * StreamManager.pas - Criada para capturar a tela, e fazer a comparação. 52 | * SndKeys32.pas - Serve para simular tecla pressionada. 53 | 54 | Entendendo o funcionamento do Software. 55 | 56 | * Cliente conecta com o servidor. Ao conectar o primeiro Socket ele irá conectar os outros, 57 | que definem se vai ser para transferência de imagens, download e upload de arquivos ou de teclado remoto. 58 | O primeiro Socket transfere mensagens, a posição, e o clique do mouse. 59 | 60 | * Servidor pede a primeira imagem. Cliente irá capturar a tela (Captura é feita em Bitmap, 8bit para reduzir o tamanho) 61 | então ele irá receber uma compressão zLib. Após a compressão irá enviar a primeira 62 | imagem e logo após salvará a mesma na memória. 63 | Quando o servidor receber a imagem ele irá requisitar outra, onde o cliente irá comparar com a antiga e enviar só 64 | o que foi alterado. (Sempre comprimindo os dados). 65 | --------------------------------------------------------------------------------