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

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

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

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

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

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

Всем привет! Использую следующий код:
Код:
procedure startApplication(filename, session: string);
var
struc1: STARTUPINFO;
begin
log('Attemp to start '+filename+' with params '+session);
log('Filling structure');
try
struc1.cb := SizeOf(STARTUPINFO);

struc1.lpDesktop := PChar('winsta0\default');
struc1.dwFlags := STARTF_USESHOWWINDOW;
struc1.wShowWindow := SW_SHOW;
except log('Filling structure failed') end;
CreateProcessAsUser(UserToken.TokenHandle, nil,
      PChar(gameDirectory+' '+session),
       nil, nil, false, Create_default_error_mode, nil, nil, struc1, struc2);
       log(inttostr(getLastError()));
end;
В логе получаю:
Код:
Attemp to start C:\testPrj\Project1.exe with params test
Filling structure
998
Приложение не запускается. В интернете говорят, что скорее всего проблема в том, что я неправильно работаю со структурой. Помогите пожалуйста разобраться с этим. Заранее спасибо!
Даниил_глазко вне форума Ответить с цитированием
Старый 17.02.2014, 16:07   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

И где описана struc2?
Человек_Борща вне форума Ответить с цитированием
Старый 17.02.2014, 16:09   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

у структуры должно быть заполненно каждое поле, или хотяб очищенна.
а то у вас структура хз с чем.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.02.2014, 16:55   #4
Даниил_глазко
Форумчанин
 
Аватар для Даниил_глазко
 
Регистрация: 25.10.2010
Сообщений: 155
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
И где описана struc2?
{$R *.DFM}
var
struc2: PROCESS_INFORMATION;

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
у структуры должно быть заполненно
каждое поле, или хотяб очищенна.
а то у вас структура хз с чем.
это которая ZeroMemory(@struc1, SizeOf(struc1));?
Даниил_глазко вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TJwSecurityToken и CreateProcessAsUser Даниил_глазко Общие вопросы Delphi 2 12.02.2014 14:35