Вылетает api-ка CreateProcessAsUser()
От: Druidoff  
Дата: 21.01.08 08:48
Оценка:
Народ помогти а то чет парюсь уже назаю скоко вот есть код

boost::shared_ptr<PROCESS_INFORMATION> pi;
STARTUPINFO si;
ZeroMemory(&si, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
si.lpDesktop =_T("winsta0\\default");
si.dwFlags=STARTF_USEPOSITION|STARTF_USESIZE|STARTF_USESHOWWINDOW;
si.dwX=100;
si.dwY=100;
si.dwXSize=200;
si.dwYSize=200;
si.wShowWindow=SW_SHOW;

if (0 == CreateProcessAsUser( spNewToken.get(),
NULL,
L"notepad.exe",// по моему ошибка тут!!!!
NULL,
NULL,
FALSE,
NORMAL_PRIORITY_CLASS,
NULL,
NULL,
&si,
pi.get()
))
{ATLTRACE("Failed to CreateProcessAsUser\n");
Запускаю его на сборку ошибок нет ни одной даже варнингов.а как пробую запустить на выполнение то сразу вылетат пишет шото типа
ошибка доступа памяти. И на етом все заканчивается. На скоко я понял то вроде бы ошибка где-то сдесь L"notepad.exe", что ета функция CreateProcessAsUser() причитывает 3 параметр (имя запускаемого приложения) потом не останавлтвается и читеат всю подряд память все шо попадется. И как эт исправить я не знаю. Пытался в VS 2005 менять MultiByte string на Unicode и наоборот без разницы одна эта ошибка на все случаи жизни!!! Но эт так пальцем в небо.
P.S. Заранее всем кто напишет пасиба!!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.