![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Функция CreateProcessWithLogonW [D7, WinXP]
SergeyGood © (2005-09-15 12:19:00)Пытаюсь запустить прогу функцией CreateProcessWithLogonW, из-под другого пользователя.
Код такой:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, StdCtrls, shellapi, System.ComponentModel;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
function CreateProcessWithLogonW(user:pwidechar; domain:pwidechar;
passw:pwidechar; flags: DWORD; lpApplicationName: PwideChar; lpCommandLine: PwideChar;
dwCreationFlags: DWORD; lpEnvironment: Pointer;
lpCurrentDirectory: PWideChar; const lpStartupInfo: TStartupInfo;
var lpProcessInformation: TProcessInformation): BOOL; stdcall;external 'advapi32.dll' name 'CreateProcessWithLogonW';
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
si: TSTARTUPINFO;
pif: PROCESS_INFORMATION;
begin
si.cb := SizeOf(tstartupinfo);
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow := SW_SHOWDEFAULT;
si.lpReserved := nil;
si.lpDesktop := nil;
si.lpTitle := nil;
CreateProcessWithLogonW('test', nil, 'password', 0,
nil, 'notepad.exe',0, nil, nil, si, pif);
end;
Говорит
[Warning] Unit1.pas(33): File not found:'Unit1.dfm'
[Error] Unit1.pas(47): Unsafe pointer variables, parametters or constsonly allowed in unsafe procedure
Имеется форма с кнопкой, а этот код я вставляю вместо кода по умолчанию.
Объясните чем лечить, или поделитесь исходником плиз.
Игорь Шевченко (2005-09-15 12:45:00) [1]По сабжу
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1126694897&n=5
Игорь Шевченко (2005-09-15 12:44:00) [2]
> [Error] Unit1.pas(47): Unsafe pointer variables, parametters
> or constsonly allowed in unsafe procedure
Нам предлагается посчитать строки в посте ?