Главная страница
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.045 c
3-1083154655
Slon_SCG
2004-04-28 16:17
2004.05.23
Кто-нибудь пробовал восстанавливать удаленные записи?


3-1083079941
Kein
2004-04-27 19:32
2004.05.23
как открыть InterBase базу


8-1076577194
programania
2004-02-12 12:13
2004.05.23
Получение с экрана изображения в программу delphi.


14-1083533521
Blackgrin
2004-05-03 01:32
2004.05.23
Pocket PC


14-1083450258
хм
2004-05-02 02:24
2004.05.23
Про Бил Гейца