Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

CreateProcessWithLogonW   Найти похожие ветки 

 
AlexTregubov ©   (2003-09-09 16:07) [0]

Мастера!!! Подскажите, как с этой функцией работать.
Весь день бьюсь с ней и никак не могу одолеть.
Постоянно Access Violation возникает, хотя вроде бы все верно.

Заранее спасибо


 
clickmaker ©   (2003-09-09 16:12) [1]

Такое впечатление, что тут не форум по дельфи, а конкурс телепатов какой-то...

Хоть бы код публиковали, уважаемые вопрошающие, а ?


 
AlexTregubov ©   (2003-09-09 16:24) [2]

Вот пример


ZeroMemory(@SInfo,SizeOf(SInfo));
SInfo.cb:=SizeOf(SInfo);
ZeroMemory(@PInfo,SizeOf(PInfo));
if not CreateProcessWithLogonW(PWideChar(strUserName),
nil,
PWideChar(strPassword),
0,
PWideChar(strAppName),
nil,
CREATE_DEFAULT_ERROR_MODE or
CREATE_NEW_CONSOLE or
CREATE_NEW_PROCESS_GROUP,
nil,
nil,
SInfo,
Pinfo)
then ShowMessage("Не работает");


 
clickmaker ©   (2003-09-09 16:38) [3]

А как описана функция? В Д5 source ее ведь нет


 
AlexTregubov ©   (2003-09-09 16:41) [4]

Она есть в Advapi32.dll

BOOL CreateProcessWithLogonW(
LPCWSTR lpUsername, // user"s name
LPCWSTR lpDomain, // user"s domain
LPCWSTR lpPassword, // user"s password
DWORD dwLogonFlags, // logon option
LPCWSTR lpApplicationName, // executable module name
LPWSTR lpCommandLine, // command-line string
DWORD dwCreationFlags, // creation flags
LPVOID lpEnvironment, // new environment block
LPCWSTR lpCurrentDirectory, // current directory name
LPSTARTUPINFOW lpStartupInfo, // startup information
LPPROCESS_INFORMATION lpProcessInfo // process information
);


 
clickmaker ©   (2003-09-09 16:44) [5]

Понятно, что там она есть )
В дельфях она как описана?


 
AlexTregubov ©   (2003-09-09 16:45) [6]


unit Win2kUtils;

interface

uses
Windows;

function CreateProcessWithLogonW(
lpUsername: PWideChar; // user"s name
lpDomain: PWideChar; // user"s domain
lpPassword: PWideChar; // user"s password
dwLogonFlags: integer; // logon option
lpApplicationName: PWideChar; // executable module name
lpCommandLine: PWideChar; // command-line string
dwCreationFlags: integer; // creation flags
lpEnvironment: Pointer; // new environment block
lpCurrentDirectory: PWideChar; // current directory name
lpStartupInfo: TStartupInfo; // startup information
lpProcessInfo: TProcessInformation // process information
): boolean; stdcall;

implementation

function CreateProcessWithLogonW; external "Advapi32.dll" name "CreateProcessWithLogonW";

end.


 
clickmaker ©   (2003-09-09 16:57) [7]

Правильней так:

function CreateProcessWithLogonW(
const lpUsername: PWideChar; // user"s name
const lpDomain: PWideChar; // user"s domain
const lpPassword: PWideChar; // user"s password
dwLogonFlags: Cardinal; // logon option
const lpApplicationName: PWideChar; // executable module name
lpCommandLine: PWideChar; // command-line string
dwCreationFlags: Cardinal; // creation flags
lpEnvironment: Pointer; // new environment block
const lpCurrentDirectory: PWideChar; // current directory name
lpStartupInfo: TStartupInfo; // startup information
var lpProcessInfo: TProcessInformation // process information
): BOOL; stdcall;


В lpProcessInfo она возвращает инфу о процессе, поэтому var.
Либо и lpStartupInfo и lpProcessInfo обозначить как Pointer и передавать @SInfo и @PInfo


 
clickmaker ©   (2003-09-09 17:02) [8]

Сорри, нужно const lpStartupInfo: STARTUPINFO, а то скорей всего опять AV будет


 
Игорь Шевченко ©   (2003-09-09 17:03) [9]

И где же наконец, GetLastError ? точно, телепатов ищем :)


 
Игорь Шевченко ©   (2003-09-09 17:05) [10]

И еще: как объявлены переменные strUserName и прочие ?



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
1-41584
Users
2003-10-27 12:11
2003.11.13
Вставка в EXCEL OLAP куба средствами Delphi


1-41179
Ольга
2003-11-04 16:44
2003.11.13
решить легкий пример


4-42303
pirat
2003-09-07 00:06
2003.11.13
как сделать PeekThreadMessage ?


6-41835
Vint45
2003-09-13 14:48
2003.11.13
Пересылка файлов посредством NMHTTP


3-41059
Новичок
2003-10-24 06:22
2003.11.13
Проблема с SQL-запросами. Виснут.