Yönetici Modunda Çalıştırıldığında kullanıcı adını alma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
goabdullah
Üye
Mesajlar: 17
Kayıt: 23 Eyl 2015 12:43

Yönetici Modunda Çalıştırıldığında kullanıcı adını alma

Mesaj gönderen goabdullah »

Merhaba arkadaşlar,

Forumunuza yeni üye oldum. Bir konuda sıkıntı yaşıyorum uygulamamı standart bir windows kullanıcısı ile login olduktan sonra yönetici olarak çalıştırdığımda, Oturum açmış olduğum kullanıcının adını almaya çalışıyorum. Fakat yönetici olarak çalıştırdığımdan bana sürekli yönetici adı dönüyor.

Örnek: Test kullanıcısı ile oturum açıyorum. Std. kullanıcı uygulamayı yönetici olarak çalıştırıyorum yönetici kullanıcı adı:admin, ben bir türlü test kullanıcı adını alamıyorum sürekli admin kullanıcı adı dönmektedir.


Bir cevabı olan varsa beklerim. Saygılar...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Yönetici Modunda Çalıştırıldığında kullanıcı adını alma

Mesaj gönderen mrmarman »

Foruma hoş geldiniz.
Öncelikle bu tip sorular için uyguladığınız koddan bir örnek yazarsanız, vereceğimiz cevap ile ilişkili karşılaştırma bazında daha kısa sürede sonuca ulaşabilirsiniz.

Kendi projelerimde kullandığım kodu paylaşıyorum (ön yetkilendirme işlemlerinde, Domain (etki alanı) altında ISA Server'dan kullanıcı oturum adını alarak oturum açan kullanıcıya kullandığım koddur)

Kod: Tümünü seç

function UN : string; // UserName
const
  cnMaxUserNameLen = 254;
var
  sUserName     : string;
  dwUserNameLen : DWord;
begin
  dwUserNameLen := cnMaxUserNameLen-1;
  SetLength( sUserName, cnMaxUserNameLen );
  GetUserName(
    PChar( sUserName ),
    dwUserNameLen );
  SetLength( sUserName, dwUserNameLen );
  Result := Trim(sUserName);
end;
Resim
Resim ....Resim
goabdullah
Üye
Mesajlar: 17
Kayıt: 23 Eyl 2015 12:43

Re: Yönetici Modunda Çalıştırıldığında kullanıcı adını alma

Mesaj gönderen goabdullah »

Değerli arkadaşım GetUsername fonksiyonları ile windows api kullanarak çağırdığımızda değişen bir şey yok. Sizde kodunuzu test ederseniz dediğim sorunla karşılaşacaksın buna aslında sorun dememekte gerekiyor. windows uygulamayı hangi kullanıcı ile çalıştırırsanız aktif olarak o kullanıcıyı baz alıyor.

saygılarımla..
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Re: Yönetici Modunda Çalıştırıldığında kullanıcı adını alma

Mesaj gönderen ikra »

Muharrem abi'de yanlis olmaz. Olmussada yanlislikla olmustur. : )

Kod: Tümünü seç

function GetCurrentComputerAndUserName: string;
const
     Winlogonkey = '\Software\Microsoft\Windows\CurrentVersion\Authentication\LogonUI';
begin
     Result := '';
     with TRegistry.Create do begin
          RootKey := HKEY_LOCAL_MACHINE;
          if OpenKeyReadOnly(WinLogonKey) then
             Result := ReadString('LastLoggedOnSAMUser');
          CloseKey;
          Free;
     end;
end;
Bir de böyle dene!
Kolay gelsin.
kıdemsiz üye
goabdullah
Üye
Mesajlar: 17
Kayıt: 23 Eyl 2015 12:43

Re: Yönetici Modunda Çalıştırıldığında kullanıcı adını alma

Mesaj gönderen goabdullah »

Aynen, Muharrem Bey değerli bir insan foruma katkıları çok büyük, size de teşekkür ederim.
başka bir şey deniyorum. Sizin kod örneğini de deneyip bilgi vereceğim.

İyi Bayramlar.
goabdullah
Üye
Mesajlar: 17
Kayıt: 23 Eyl 2015 12:43

Re: Yönetici Modunda Çalıştırıldığında kullanıcı adını alma

Mesaj gönderen goabdullah »

Sizin Kodunuz da çalışıyor. Teşekkürler.
Cevapla