Форум: "WinAPI";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
ВнизОт чьего имени запущено приложение. Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c