Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Функция CreateProcessWithLogonW [D7, WinXP]


SergeyGood ©   (2005-09-16 08:09:00) 

Помогите запустить код программы по ссылке:
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1126694897&n=5

Останавливается в разделе
implementation
uses
HSAdvApi;

и говорит HSAdvApi file not found

У меня 2003 Винтукей!


SergeyGood   (2005-09-21 11:20:00) [1]

Приветы пацана, проблему решил. Если у кого будет такая же проблема, вот код, работает на 8, 2003 винтукее, под .Net. Мыльте если чё SergeyGood@yandex.ru (Бескорыстно!!!)

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, System.ComponentModel, Borland.Vcl.StdCtrls;

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 *.nfm}

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('Ваш юзер', nil, 'Пароль вашего юзера', 0,
    nil, 'Программа вашего юзера',0, nil, nil, si, pif);
end;

end.

P.S. Модыраторы, будьте людьми, не удаляйте сообщения!!!


Игорь Шевченко   (2005-09-20 11:31:00) [2]


> А чисто теоретически можно такое приложение создать именно
> для .Net или не стоит даже и пытаться?


Можно. Сумму я озвучил.


SergeyGood   (2005-09-20 09:12:00) [3]

А чисто теоретически можно такое приложение создать именно для .Net или не стоит даже и пытаться? Например не с именно этим кодом.
Этот код лишь часть моей программы и с 8 версии на более ранние версии Делфи её будет проблемно перенести!


Игорь Шевченко   (2005-09-19 14:21:00) [4]


> Он говорит Undeclared Identifier PStartupInfo, в чём причина?


Тебе уже сказали, для .Net это не работает.


SergeyGood   (2005-09-19 14:09:00) [5]

Он говорит Undeclared Identifier PStartupInfo, в чём причина?


xmed   (2005-09-16 09:28:00) [6]

так ведь в данном коде 2 Unit-a
первый это форма fMain: TfMain;

а втарой Unit начинается со слов


unit HSAdvApi;

interface
uses
Windows;
...


Создаем новое приложения, делаем форму с названием fMain
потом добавляем в проэкт еще один Unit, который и будет HSAdvApi;

и всё...


Наверх

Титульная страница Поиск, карта сайта Написать письмо