Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

От чьего имени запущено приложение.   Найти похожие ветки 

 
Alexey   (2004-04-01 10:48) [0]

Уважаемые мастера,
как узнать от чьего имени запущено приложение.
Заранее спасибо.


 
N170   (2004-04-01 10:55) [1]

GetUserName() вам поможет.


 
Alexey   (2004-04-01 10:57) [2]

А для чужого процесса?


 
Игорь Шевченко ©   (2004-04-01 13:09) [3]

GetProcessToken


 
BiN ©   (2004-04-01 13:40) [4]

а точнее OpenProcessToken


 
Игорь Шевченко ©   (2004-04-01 15:12) [5]

BiN ©   (01.04.04 13:40)

Точно, ошибся, спасибо :)


 
Игорь Шевченко ©   (2004-04-01 15:12) [6]

+ GetTokenInformation


 
Wiz@rd ©   (2004-04-02 00:06) [7]

Тока таким образом хрен получишь user"a типа Local Service & Network Service - по крайней мере у меня не получалось  - наверное тут OpenProcess даже с дебаг привелегиями процесс не открывает


 
BiN ©   (2004-04-02 09:41) [8]

Wiz@rd ©   (02.04.04 00:06) [7]

Хм... у каких именно служб не определяется?


 
Alexey   (2004-04-02 10:21) [9]

Помогите разобраться, что не так.

unit Unit1;

interface

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

type SID_AND_ATTRIBUTES = record
   Sid: Pointer;
   Attributes:DWORD ;
end;

type TOKEN_USER = record
    SID_AND_ATTRIBUTES: DWORD;
end;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 TU: TOKEN_USER;

implementation

uses Procs;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
PID, Size: Dword;
Token: THandle;
begin
PID := FindProcess("delphi32.exe");
OpenProcessToken(PID,TOKEN_QUERY,Token);
Size:=SizeOf(TOKEN_USER);
if GetTokenInformation(Token,TokenUser,@TU,SizeOf(TOKEN_USER),Size) then
ShowMessage("Ok")
else
 ShowMessage(IntToStr(GetLastError))
end;

end.

Дает код ошибки 6.


 
Wiz@rd ©   (2004-04-02 10:32) [10]

Удалено модератором


 
Игорь Шевченко ©   (2004-04-02 10:39) [11]


> OpenProcessToken(PID,TOKEN_QUERY,Token);


Внимательно читаем F1 по функции OpenProcessToken и видим, что первым параметром должен быть Handle процесса.
Для этого используем функцию OpenProcess


 
Alexey   (2004-04-02 13:22) [12]

Спасибо за помщь, все получилось.



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.036 c
1-1084208904
ArthurKhamitov
2004-05-10 21:08
2004.05.23
CD-ROM


1-1083942512
Ivolg
2004-05-07 19:08
2004.05.23
Обои


14-1083753802
}|{yk
2004-05-05 14:43
2004.05.23
Интернет и коммунизм


3-1083262711
Plus
2004-04-29 22:18
2004.05.23
Проблема с выполнением SQL запроса, Oracle 8, Delphi 6, DOCI 1.19


1-1083736941
Dogless
2004-05-05 10:02
2004.05.23
Передача TNotifyEvent в качестве константы