NT Base sistemlerde Farklı kullanıcı hesabıyla program....

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

NT Base sistemlerde Farklı kullanıcı hesabıyla program....

Mesaj gönderen vkamadan »

Merhaba,
Ben Windows XP Professional işetim sisteminde Bir Programı Farklı kullanıcı hesabıyla delphi içinden çalıştırmak istiyorum nasıl bir metod kullanmalaıyım
Teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

Selamlar

Kod: Tümünü seç

function GetCurrentUserName: string;
const
  cnMaxUserNameLen = 254;
var
  sUserName: string;
  dwUserNameLen: DWORD;
begin
  dwUserNameLen := cnMaxUserNameLen - 1;
  SetLength(sUserName, cnMaxUserNameLen);
  GetUserName(PChar(sUserName), dwUserNameLen);
  SetLength(sUserName, dwUserNameLen);
  Result := sUserName;
end; 

procedure TForm1.Button1Click(Sender: TObject);

begin
ShowMessage(GetCurrentUserName);

end;
kodu ile kullanıcı adını alabilirsin. Programda da o kullanıcı için nasıl bir yol izleyeceğin sana kalmış.

İyi Çalışmlar.
I love my car.
Blog Yaptık
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Mesaj gönderen vkamadan »

MErhaba Olayı Çözdüm sizlerlede paylaşmak istdim.

Öncelikle,
içerisinde JwaWinBase'in bulunduğu Delphi API unitleri eklentisini lib içine yükleyin Paketler

Daha Sonra

Kod: Tümünü seç

uses JwaWinBase;

procedure RunAs;
var
  si: STARTUPINFOW;
  pif: PROCESS_INFORMATION;
  res: Bool;
  s: string;
  a:PWChar;
  Kul,Pas:Array [1..50] of WideChar;
begin
  si.cb := SizeOf(startupinfow);
  si.dwFlags  := STARTF_USESHOWWINDOW;
  si.wShowWindow := SW_SHOWDEFAULT;
  si.lpReserved := nil;
  si.lpDesktop := nil;
  si.lpTitle := 'Konsole';

  res := CreateProcessWithLogonW(StringToWideChar(kullanici,@Kul,50), '', StringToWideChar(sifre,@Pas,50), LOGON_WITH_PROFILE,
    'sigorta.exe', nil
    , CREATE_DEFAULT_ERROR_MODE, nil, nil, si, pif);
  if booltostr(res) = '0' then
  begin
    str(GetLastError, s);
    Application.MessageBox('Kullanıcı yada Şifresi Hatalı','LOGIN ERROR',mb_ok+MB_ICONERROR);
       
end;

end;
Bu çok güzel bir olay ilgilenen arkadaşlara denenmiş bir örnek.
Volkan KAMADAN
www.polisoft.com.tr
semenderip
Üye
Mesajlar: 42
Kayıt: 04 Nis 2007 03:57

Mesaj gönderen semenderip »

sevgili v.kadaman bahsettiğin component için yardım isteyeceğim.Komponentin adı JwaWinnt,jwawinbase sitede urlsini vermişsiniz fakat url uçmuş elinizde varsa lütfen upload edermisiniz şimdiden saolun
Cevapla