windows oturum bilgileri nasıl alınır.?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
xcom
Üye
Mesajlar: 83
Kayıt: 05 Ağu 2003 05:56

windows oturum bilgileri nasıl alınır.?

Mesaj gönderen xcom »

Merhaba Arkadaşlar,

Formu taradım ama bulamadım. windows oturum bilgilerini nasıl alırız. kullanıcı adı, şifresi, bilgisayar adı, ip adresi.

yazdığım uygulama Domain deki kullanıcılarda çalışacak. açılışta oturum bilgilerini kontrol ederk o kullanıcının adıyla uygulamayı çalıştırıcam. nasip olursa. herşey için teşekkürler.
--------------------------------------------------------------------------------------------------

Sadece iylik için yaşa ve iylik ile hayat et...

-------------------------------------------------------------------------------------------------
Kullanıcı avatarı
fatihtolgaata
Üye
Mesajlar: 382
Kayıt: 04 Mar 2004 09:46
Konum: K.çekmece / İstanbul
İletişim:

Mesaj gönderen fatihtolgaata »

Şifre hariç diğerlerini winapi komutları ile öğrenebilirsin. Şifre hash yapıldığından geri dönüşü yoktur. Şifreyi kontrol ederken windows karşılaştıracağı değeri de aynı yöntemle hash yapar ve iki hash değerini karşılaştırır. Domain kullanıcısının adını öğrenebilmek için :

Kod: Tümünü seç

 type
  EXTENDED_NAME_FORMAT = (
    NameUnknown,
    NameFullyQualifiedDN,
    NameSamCompatible,
    NameDisplay,
    NameUniqueId,
    NameCanonical,
    NameUserPrincipal,
    NameCanonicalEx,
    NameServicePrincipal);

function GetUserNameExA( NameFormat: Extended_Name_Format;
  PUserName: PChar; var nSize: DWORD): bool stdcall; external
'secur32.dll';

procedure GetUserInformation(var UserID: string; var Error: string);
var
 Buffer: array[0..255] of char;
 BufferSize: Cardinal;
 CallResult: LongBool;

begin
 Error := 'None';
 UserID := 'Unknown';
 BufferSize := 255;

 CallResult := getusernameexa(NameSamCompatible, @Buffer, BufferSize);

 if callresult then
 begin
  userID := Trim(buffer);
 end
 else
 begin
  Error := 'Kullanıcı bilgileri alınamıyor.';
 end;

end;
Bu fonksiyonu bir zamanlar bir yerlerden bulmuştum. Umarım işini görür.

vesselam.
Kullanıcı avatarı
xcom
Üye
Mesajlar: 83
Kayıt: 05 Ağu 2003 05:56

Mesaj gönderen xcom »

teşekkürler işe yaradı.

type kısmını unit ın VAR ında declere edilecek eklemek isterim.
--------------------------------------------------------------------------------------------------

Sadece iylik için yaşa ve iylik ile hayat et...

-------------------------------------------------------------------------------------------------
Kullanıcı avatarı
fatihtolgaata
Üye
Mesajlar: 382
Kayıt: 04 Mar 2004 09:46
Konum: K.çekmece / İstanbul
İletişim:

Mesaj gönderen fatihtolgaata »

type kısmını unit ın VAR ında declere edilecek eklemek isterim.
"interface" bloğu demek istediniz herhalde.
Kullanıcı avatarı
Trial_Cooder
Üye
Mesajlar: 236
Kayıt: 17 Nis 2006 04:44

Mesaj gönderen Trial_Cooder »

Aktif Olan Hesap;

Kod: Tümünü seç

function GetNetUser : Ansistring;
var
  dwI : DWord;
begin
  dwI := MAX_PATH;
  SetLength (Result, dwI + 1);
  if WNetGetUser (Nil, PChar (Result), dwI) = NO_ERROR then
    SetLength (Result, StrLen (PChar (Result)))
  else
    SetLength (Result, 0)
end;


// Kullanım
ButtonClick;
Edit1.Text := GetNetUser;
Kolay Gelsin
Cevapla