Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.02.2014, 14:20   #1
Даниил_глазко
Форумчанин
 
Аватар для Даниил_глазко
 
Регистрация: 25.10.2010
Сообщений: 155
Вопрос TJwSecurityToken и CreateProcessAsUser

Всем привет. Нужно конвертировать переменную типа TJwSecurityToken в Cardinal для использования её в функции CreateProcessAsUser. Код который получает и пытается использовать эту переменную:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  UserToken : TJwSecurityToken;
  ConsoleUser : TJwSecurityId;
  UserSidString,
  UserName : TJwString;
struc1: PSTARTUPINFO;
struc2: PROCESS_INFORMATION;
begin

getmem(struc1, sizeof(TSTARTUPINFO));

struc1^.lpDesktop := PChar('winsta0\default');
struc1^.dwFlags := STARTF_USESHOWWINDOW;
struc1^.wShowWindow := SW_SHOW;
 //erst ab Windows XP
  UserToken := TJwSecurityToken.CreateWTSQueryUserToken(WTS_CURRENT_SESSION);
  try
    ConsoleUser := UserToken.TokenUser;
    try
      UserSidString := ConsoleUser.StringSID;
      UserName := ConsoleUser.GetAccountName('');
    finally
      FreeAndNil(ConsoleUser);
    end;
    //User personifizieren
    UserToken.ImpersonateLoggedOnUser;
     CreateProcessAsUser(UserToken, nil,
       PChar('c:\testPrj\Project1.exe'),
       nil, nil, false, Create_default_error_mode, nil, nil, struc1, struc2);
    UserToken.RevertToSelf;
  finally
    FreeAndNil(UserToken);
  end;
end;
Даниил_глазко вне форума Ответить с цитированием
Старый 12.02.2014, 14:29   #2
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

в каком модуле прописан TJwSecurityToken?
ZuBy вне форума Ответить с цитированием
Старый 12.02.2014, 14:35   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

свойство TokenHandle.
алгоритм->гугл по имени класса->офф дока.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц