|
#1
|
|||
|
|||
LPCWSTR
как преобразовать переменную типа string в LPCWSTR
|
#2
|
||||
|
||||
для Delphi 7:
Код:
var s: String; p: LPCWSTR; begin s:='hello'; p:=PWideChar(WideString(s)); end; Пишу программы за еду. __________________ |
#3
|
|||
|
|||
тогда где мой касяк
Код:
CreateProcessWithLogonW(PWideChar(WideString(registry.ReadString('name1'))), 'elbor', 'пас', 0, nil, 'notepad',0, nil, nil, si, pif) ; |
#4
|
||||
|
||||
честный код:
Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} const LOGON_WITH_PROFILE = $00000001; LOGON_NETCREDENTIALS_ONLY = $00000002; function CreateProcessWithLogonW( lpUsername: LPCWSTR; lpDomain: LPCWSTR; lpPassword: LPCWSTR; dwLogonFlags: DWORD; lpApplicationName: LPCWSTR; lpCommandLine: LPCWSTR; dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: LPCWSTR; const lpStartupInfo: TStartupInfo; var lpProcessInfo: TProcessInformation ): BOOL; stdcall; external 'advapi32' name'CreateProcessWithLogonW'; function RunWithLogon(lpUsername: String; lpDomain: String; lpPassword: String; lpApplicationName: String): Integer; var si: TStartupInfo; pi: TProcessInformation; begin ZeroMemory(@si, SizeOf(TStartupInfo)); ZeroMemory(@pi, SizeOf(TProcessInformation)); si.cb:=SizeOf(TStartupInfo); if CreateProcessWithLogonW( PWideChar(WideString(lpUsername)), PWideChar(WideString(lpDomain)), PWideChar(WideString(lpPassword)), LOGON_WITH_PROFILE, PWideChar(WideString(lpApplicationName)), nil, 0, nil, nil, si, pi) then Result:=0 else Result:=GetLastError; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(SysErrorMessage(RunWithLogon('Test', '', '123', 'c:\WINDOWS\NOTEPAD.EXE'))); end; end. Пишу программы за еду. __________________ |
#5
|
|||
|
|||
Цитата:
Код:
ShowMessage(SysErrorMessage(RunWithLogon('tehspec', 'elbor', 'пас', 'c:\WINDOWS\NOTEPAD.EXE'))); Код:
d:='tehspec'; ShowMessage(SysErrorMessage(RunWithLogon(d, 'elbor', 'пас', 'c:\WINDOWS\NOTEPAD.EXE'))); |
#6
|
||||
|
||||
а какое сообщение выдает? по-любому должно быть сообщение.
Пишу программы за еду. __________________ |
#7
|
|||
|
|||
все спасибо работает я просто тупанул.
|