Показать сообщение отдельно
  #14  
Старый 07.01.2013, 10:52
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
function CreateProcessWithLogonW(
    lpUsername: LPCWSTR;
    lpDomain: LPCWSTR;
    lpPassword: LPCWSTR;
    dwLogonFlags: DWORD;
    lpApplicationName: LPCWSTR;
    lpCommandLine: LPWSTR;
    dwCreationFlags: DWORD;
    lpEnvironment: Pointer;
    lpCurrentDirectory: LPCWSTR;
    const lpStartupInfo: _STARTUPINFOA;
    var lpProcessInfo: _PROCESS_INFORMATION
  ): Boolean; stdcall; external 'Advapi32.dll';

procedure TForm1.Button1Click(Sender: TObject);
var
  startupinfo: _STARTUPINFOA;
  processinformation: _PROCESS_INFORMATION;
begin
  ZeroMemory(@startupinfo, SizeOf(_STARTUPINFOA));
  startupinfo.cb:=SizeOf(_STARTUPINFOA);
  startupinfo.dwFlags:=STARTF_USESHOWWINDOW;
  startupinfo.wShowWindow:=SW_SHOW;
  if CreateProcessWithLogonW('test', nil, '1248', 0, nil, 'calc.exe', 0, nil, nil, startupinfo, processinformation) then
  begin
    CloseHandle(processinformation.hThread);
    CloseHandle(processinformation.hProcess);
  end else RaiseLastOSError;
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием