Ответы пользователя по тегу API
  • Как в Delphi запустить процесса из сервиса?

    MaxiMonster
    @MaxiMonster
    Здравствуйте. Погуглил для вас и нашел такой вариант решения:

    procedure RunApp(str: pchar);
    var
    struc1: PSTARTUPINFO;
    struc2: PROCESS_INFORMATION;
    begin

    getmem(struc1, sizeof(TSTARTUPINFO));

    struc1^.lpDesktop := PChar('winsta0\default');
    struc1^.dwFlags := STARTF_USESHOWWINDOW;
    struc1^.wShowWindow := SW_SHOW;

    CreateProcess(nil, str, nil, nil, False,
    NORMAL_PRIORITY_CLASS,
    nil, nil, struc1^, struc2);

    end;

    Помогает, но будут утечки памяти.

    Майкрософт говорит использовать в вашем случае такие функции:
    CreateProcessWithLogonW
    CreateProcessAsUser
    Ответ написан
    5 комментариев