Главная страница
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.057 c
7-1081617380
CAHEK
2004-04-10 21:16
2004.05.23
Как в XP перезагрузить комп???


9-1073915310
Black Fur
2004-01-12 16:48
2004.05.23
Доделал движок к своей игре!!!Мастера, оцените!


14-1083741378
darkstalker
2004-05-05 11:16
2004.05.23
Создание нового документа в Экселе.


3-1082795753
Сказочник
2004-04-24 12:35
2004.05.23
Почему не работает count(*)


1-1083927840
NovyeVasyuki
2004-05-07 15:04
2004.05.23
Запускаю RAR через CreateProcess. Как свернуть окно MS-DOS ?