Запустить процесс в защищенной области другого пользователя
Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch
uses
JwaWinBase; ( http://members.chello.nl/m.vanbrakel2/ )
//...
procedure TForm1.Button1Click(Sender: TObject);
var
si: STARTUPINFOW;
pif: PROCESS_INFORMATION;
res: Bool;
s: string ;
begin
//erstmal die StartUpInfoW setzen
//set StartUpInfoW first
si.cb := SizeOf(startupinfow);
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := SW_SHOWDEFAULT;
si.lpReserved := nil ;
si.lpDesktop := nil ;
si.lpTitle := "Konsole";
// dann CreateProcessWithLogonW ausfьhren...
// run CreateProcessWithLogonW...
res := CreateProcessWithLogonW("Security", "ArViCor", "test", LOGON_WITH_PROFILE,
"c:\win2kas\system32\regedt32.exe", nil
, CREATE_DEFAULT_ERROR_MODE, nil , nil , si, pif);
if booltostr(res) = "0" then
begin
//wenn ein Fehler auftritt, soll der Fehlercode ausgegeben werden
//ьber "net helpmsg " in der Kommandoeingabeaufforderung
//kann dieser entziffert werden
//if an error occures, show the error-code
//this code can be "translated" with "net helpmsg " on command-prompt
str(GetLastError, s);
ShowMessage("CreateProcessWithLogonResult: " + booltostr(res) + #10 +
"GetLastError: " + s);
end ;
end ;
// Verbesserungen gerne als Mail an mich!
Если Вас заинтересовала или понравилась информация по разработке на Delph - "Запустить процесс в защищенной области другого пользователя", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:
Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи , в сообщение обязательно указывайте название или ссылку на статью!