Pada Kesempatan kali ini saya mau berbagi seputar CARA MEMBUAT PLINK DENGAN DELPHI7 yang mungkin anda butuhkan, ok tanpa basa basi lagi mari kita langsung praktek saja tetapi sebelum anda praktek mungkin anda mau download proxifier paling terbaru silahkan cek dimari Download Proxifier Terbaru v3.28 Rilis 1 April 2015 ok dan berikut step by step cara buat plink single plink,, dan tutorial ini masih ada klanjutannya terutama menambahkan fitur multinya, auto reconectnya dan lain lain, penambahan injektornya, dan penambahan dialer atau mmdnya yang akan dikemas dalam 1 aplikasi final plink nantinya dan harap jadi catatan jika saya disuruh memilih antara plink dan bitvise sudah barang tentu saya akan pilih plink karena plink tidak memakan reseources ram tidak seperti bitvise yang boros ram, dan silahkan dicoba dulu yang bagian pertama ini.
1. Pertama buka dulu program desktop andalan anda disini saya menggunakan delphi 7 lalu anda langsung saja tambahkan uses ,Tlhelp32, Registry,ShellAPI, seperti dibawah ini.
2. Yang kedua silahkan kumpulan dulu bahan bakunya seperti pada gambar dibawah ini, 6 edit, 1 memo atau anda bisa gunakan rich edit, 1 checkbox, 2 button dan 1 doscommand , pada umumnya doscommand ini harus anda tambahkan sendiri komponennya dalam artian anda harus download dulu karena defaultnya delphi ini tidak ada doscommandnya..
3. Yang ketiga Lalu double klik button 1 atau bisa anda namain on atau start lalu masukan coding; contoh lihat digambar bawah.
varReg: TRegistry;Path: String;cmd1: String;proxymetode: Integer;proxy: string;UserName,password,porthost,host,portproxy:string;Proxifier,plinkplonk : string;beginProxifier:='Proxifier\Proxifier.exe';plinkplonk:='Proxifier\Profiles\zonksel.ppx silent-load';shellexecute(handle,'open',pchar(Proxifier),pchar(plinkplonk),nil,SW_HIDE);username:=Edit1.Text ;password:=Edit2.Text;host:=Edit3.Text;porthost:=Edit4.Text;proxy:=Edit5.Text;portproxy:=Edit6.Text; Button2.Enabled := true;Button1.Enabled := false;if CheckBox1.Checked thenproxymetode:=3elsebeginproxymetode:=0;end;Reg := Tregistry.CReate;
trywith Reg dobeginRootKey:=HKEY_CURRENT_USER;Path := '\Software\SimonTatham\PuTTY\Sessions\'+host;
If Not KeyExists(Path) ThenBeginOpenKey(Path,True);WriteInteger('Present', 1);WriteString('HostName', host);WriteInteger('PortNumber', strToInt(porthost));WriteInteger('PingInterval', 0);WriteInteger('PingIntervalSecs', 10);WriteInteger('TCPNoDelay', 1);WriteInteger('TCPKeepalives', 1);WriteInteger('ProxyMethod', proxymetode);WriteString('ProxyHost', proxy);WriteInteger('ProxyPort', strToInt(portproxy));WriteString('Cipher', 'blowfish');End elseBeginOpenKey(Path,False);WriteInteger('Present', 1);WriteString('HostName', host);WriteInteger('PortNumber', strToInt(porthost));WriteInteger('PingInterval', 0);WriteInteger('PingIntervalSecs', 10);WriteInteger('TCPNoDelay', 1);WriteInteger('TCPKeepalives', 1);WriteInteger('ProxyMethod', proxymetode);WriteString('ProxyHost', proxy);WriteInteger('ProxyPor', strToInt(portproxy));WriteString('Cipher', 'blowfish');End;End;FinallyReg.closekey;Reg.Free;End;CMD1:=extractfilepath(application.exename)+'Plink.exe -v -N -C -D 1080 ' +username+ '@' +host+ ' -P ' +porthost+ ' -pw ' +password; DosCommand1.CommandLine:=CMD1;DosCommand1.OutputLines := Memo1.Lines;DosCommand1.Execute;end;
4. Yang keempat lalu tambahkan function tepat dibawah {$R *.dfm}
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; CloseHandle(FSnapshotHandle);end;
5. Yang kelima double klik Button 2 atau anda kasih nama stop atau Off lalu masukan kode;
varReg: TRegistry;Path: String;host:string;beginKilltask('Proxifier.exe');Button1.Enabled := true;Button2.Enabled := false;Memo1.Clear;Reg := Tregistry.CReate;trywith Reg dobeginRootKey:=HKEY_CURRENT_USER;Path := '\Software\SimonTatham\PuTTY\Sessions\'+host;If Not KeyExists(Path) ThenBeginDeleteKey(Path);End elseBeginDeleteKey(Path);End;End;FinallyReg.closekey;Reg.Free;End;end;procedure TForm1.FormCreate(Sender: TObject);beginmemo1.Clear;end;
6. Yang terakhir silahkan tekan run atau simbol segitiganya, jika tampilannya normal berarti tidak ada yang error kalau gak normal berarti ada yang salah silahkan lihat lihat lagi aja, mungkin anda kekurangan kode end; atau kelebihan kode end; atau ada begin sebelum var yang seharusnya tidak ada.
7. Yang ketujuh buat folder dulu kasih nama apa saja contoh saya bikin folder latihan buat plink, lalu klik file Save project as silahkan arahkan ke folder yang sudah anda buat tadi yaitu "latihan buat plink" file name kasih nama terserah anda atau default juga gak apa apa yang penting nama unit namanya tidak sama dengan project dpr saja.
8. Yang kedelapan berikut contoh hasil save as dan save as projectnya.
9. Yang terakhir silahkan testing projectnya apakah penempatan host, pass, user, port, proxy, port udah benar belum, untuk folder proxifier dan plinknya ada diakhir postingan.
smoga work :D
Sumber:http://andikabae81.blogspot.com