Stereo 0 Denunciar post Postado Junho 2, 2014 Bom pessoal,to fazendo um Anti Cheater,ele ja tira prints e faz scan de processos,porém não sei como fazer upload desses dados automaticamente,alguem pode me ajudar? unit ACNB; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, tlhelp32, XPMan, ShellApi, ExtCtrls, ComCtrls, jpeg, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, Buttons; type TForm1 = class(TForm) Button1: TButton; ListBox1: TListBox; Button2: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Timer1: TTimer; Timer2: TTimer; Label1: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure Timer2Timer(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure ScreenShot (Arquivo:string); var Bitmap : TBitmap; DC : hDc; jpg:TJPEGImage; DesktopRect : TRect; DesktopCanvas : TCanvas; HoraAtu : DWord; begin HoraAtu := GetTickCount; while GetTickCount-HoraAtu < 500 do Application.ProcessMessages; try DC := GetDC(GetDesktopWindow); try DesktopCanvas := TCanvas.Create; Bitmap := TBitmap.Create; jpg:=TJPEGImage.Create; try Bitmap.Width := Screen.Width; Bitmap.Height := Screen.Height; DesktopCanvas.Handle := DC; DeskTopRect := Rect(0,0,Screen.Width,Screen.Height); Bitmap.Canvas.CopyRect(DeskTopRect,DeskTopCanvas,DeskTopRect); jpg.CompressionQuality:=50; jpg.Assign(Bitmap); jpg.SaveToFile(Arquivo); finally Bitmap.Free; jpg.Free; ReleaseDC(GetDesktopWindow,DC); end; finally Application.MainForm.Show; end; ReleaseDC(GetDesktopWindow,DC); finally Application.MainForm.Show; end; end; function KillTask(ExeFileName: string): Integer; const PROCESS_TERMINATE = $0001; var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin Result := 0; FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize := SizeOf(FProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); while Integer(ContinueLoop) <> 0 do begin if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName))) then Result := Integer(TerminateProcess( OpenProcess(PROCESS_TERMINATE, BOOL(0), FProcessEntry32.th32ProcessID), 0)); ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; end; procedure TForm1.Button1Click(Sender: TObject); var Bitmap : TBitmap; DC : hDc; jpg:TJPEGImage; DesktopRect : TRect; DesktopCanvas : TCanvas; HoraAtu : DWord; begin HoraAtu := GetTickCount; while GetTickCount-HoraAtu < 500 do Application.ProcessMessages; try DC := GetDC(GetDesktopWindow); try DesktopCanvas := TCanvas.Create; Bitmap := TBitmap.Create; jpg:=TJPEGImage.Create; try Bitmap.Width := Screen.Width; Bitmap.Height := Screen.Height; DesktopCanvas.Handle := DC; DeskTopRect := Rect(0,0,Screen.Width,Screen.Height); Bitmap.Canvas.CopyRect(DeskTopRect,DeskTopCanvas,DeskTopRect); jpg.CompressionQuality:=50; jpg.Assign(Bitmap); jpg.SaveToFile ('C:/Screenshots/''print.jpg' + FormatDateTime('dd-mm-yy_hh-MM-ss', Now()) + '.jpg'); finally Bitmap.Free; jpg.Free; ReleaseDC(GetDesktopWindow,DC); end; finally end; ReleaseDC(GetDesktopWindow,DC); finally end; end; procedure TForm1.Button2Click(Sender: TObject); var MyHandle: THandle; Struct: TProcessEntry32; begin MyHandle:=CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0); Struct.dwSize:=Sizeof(TProcessEntry32); if Process32First(MyHandle, Struct) then listbox1.Items.Add(Struct.szExeFile); while Process32Next(MyHandle, Struct) do listbox1.IteMs.Add(Struct.szExeFile); listbox1.Items.SaveToFile('c:\Screenshots\processo.txt' + FormatDateTime('dd-mm-yy_hh-MM-ss', Now()) + '.txt'); end; procedure TForm1.Timer1Timer(Sender: TObject); var Bitmap : TBitmap; DC : hDc; jpg:TJPEGImage; DesktopRect : TRect; DesktopCanvas : TCanvas; HoraAtu : DWord; begin HoraAtu := GetTickCount; while GetTickCount-HoraAtu < 500 do Application.ProcessMessages; try DC := GetDC(GetDesktopWindow); try DesktopCanvas := TCanvas.Create; Bitmap := TBitmap.Create; jpg:=TJPEGImage.Create; try Bitmap.Width := Screen.Width; Bitmap.Height := Screen.Height; DesktopCanvas.Handle := DC; DeskTopRect := Rect(0,0,Screen.Width,Screen.Height); Bitmap.Canvas.CopyRect(DeskTopRect,DeskTopCanvas,DeskTopRect); jpg.CompressionQuality:=50; jpg.Assign(Bitmap); jpg.SaveToFile ('C:/Screenshots/''print.jpg' + FormatDateTime('dd-mm-yy_hh-MM-ss', Now()) + '.jpg'); finally Bitmap.Free ; jpg.Free; ReleaseDC(GetDesktopWindow,DC); end; finally Application.MainForm.Show; end; ReleaseDC(GetDesktopWindow,DC); finally Application.MainForm.Show; end; end; procedure TForm1.Timer2Timer(Sender: TObject); var MyHandle: THandle; Struct: TProcessEntry32; begin MyHandle:=CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS, 0); Struct.dwSize:=Sizeof(TProcessEntry32); if Process32First(MyHandle, Struct) then listbox1.Items.Add(Struct.szExeFile); while Process32Next(MyHandle, Struct) do listbox1.IteMs.Add(Struct.szExeFile); listbox1.Items.SaveToFile('c:\Screenshots\processo.txt' + FormatDateTime('dd-mm-yy_hh-MM-ss', Now()) + '.txt'); end; procedure TForm1.FormCreate(Sender: TObject); begin end; end. Compartilhar este post Link para o post Compartilhar em outros sites
Alan Walking 5 Denunciar post Postado Junho 3, 2014 Há vários exemplos de como enviar e-mails utilizando tal linguagem de programação. No seu caso, busque isso pra Delphi, então envie os dados capturados por e-mail. Compartilhar este post Link para o post Compartilhar em outros sites
Stereo 0 Denunciar post Postado Junho 3, 2014 Alan,eu não sei como fazer isso,sempre da algum erro Compartilhar este post Link para o post Compartilhar em outros sites
Alan Walking 5 Denunciar post Postado Junho 3, 2014 Crie um novo projeto, exclusivo pra enviar um e-mail. Tão somente isso. Utilize uma conta no gmail para ser o destinatario. Há inúmeros tutorias e videos ensinando como fazer isso na net, basta seguir com calma. Caso ainda tenha problemas e dificuldade nisso, crie um novo tópico onde o assunto abordado seja tão somente o envio de e-mail em delphi. Enfim, foco nisso agora. Após conseguir criar seu projeto em delphi que envia e-mails com sucesso. Você vai utilizar o mesmo código no outro projeto. O segredo é: dividir, para conquistar, vai separando tudo que precisa ser feito em projetos individuais, resolvendo cada problema, depois vou une tudo no projeto final. Essa é a melhor dica que tenho para lhe dar. Boa sorte ai, []s Compartilhar este post Link para o post Compartilhar em outros sites
Stereo 0 Denunciar post Postado Junho 3, 2014 Obrigado,pode me adc no skype man? Tenho uma proposta: stereomygame Compartilhar este post Link para o post Compartilhar em outros sites
PrdoDelphi 3 Denunciar post Postado Junho 4, 2014 Olá Stereo.Qual erro está ocorrendo para enviar para o provedor?Você quer mandar para o seu servidor FTP certo? Para isso utilize um componente nativo do delphi "IdFTP",com isso estará resolvendo seus problemas... Só toma cuidado com esse protect que está muito fácil de ser burlado rsrsrsAbraço,boa sorte! Compartilhar este post Link para o post Compartilhar em outros sites