delphi CreateProcessWithLogonW用法


本文整理自网络,侵删。

 
{
function CreateProcessWithLogonW(
  lpUsername,                 // user's name
  lpDomain,                   // user's domain
  lpPassword:PWideChar;       // user's password
  dwLogonFlags:dword;         // logon option
  lpApplicationName: PWideChar;
  lpCommandLine: PWideChar;
  dwCreationFlags: DWORD;
  lpEnvironment: Pointer;
  lpCurrentDirectory: PWideChar;
  const lpStartupInfo: tSTARTUPINFO;
  var lpProcessInformation: TProcessInformation
  ): BOOL; stdcall;external  'advapi32.dll';
  }
Function RunAsUser(const filename,username,password:string):boolean;
var
  StartupInfo: tStartupInfo;
  ProcessInfo: TProcessInformation;
  wfilename,wusername,wpassword:pwidechar;
begin
  FillChar (StartupInfo, SizeOf(StartupInfo), #0);
  StartupInfo.cb := SizeOf(StartupInfo);
  StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartupInfo.wShowWindow := SW_SHOWNORMAL;
  GetMem( wfilename, Length( filename ) * SizeOf( WideChar ) + SizeOf(
WideChar ) ) ;
  GetMem( wusername, length(username) * SizeOf( WideChar ) + SizeOf(
WideChar ) ) ;
  GetMem( wpassword, length(password) * SizeOf( WideChar ) + SizeOf(
WideChar ) ) ;
  StringToWideChar( filename, wfilename, Length( filename ) * SizeOf(
WideChar ) + SizeOf( WideChar ) ) ;
  StringToWideChar( username, wusername, Length( username ) * SizeOf(
WideChar ) + SizeOf( WideChar ) ) ;
  StringToWideChar( password, wpassword, Length( password ) * SizeOf(
WideChar ) + SizeOf( WideChar ) ) ;
  result:=CreateProcessWithLogonW(wusername,nil,wpassword,0, wfilename, nil,
0, nil, nil,StartupInfo , ProcessInfo);
  freemem(wfilename);
  freemem(wusername);
  freemem(wpassword);
end;


RunAsUser('D:\Program Files (x86)\7-Zip\7zFM.exe','username','pass');

相关阅读 >>

Delphi fmx自定义对话框样式,多屏幕布局

Delphi研究之驱动开发篇(五)--使用后备列表

Delphi 自我复制源码

Delphi getdir 获取指定驱动器的当前路径名

Delphi如何判断一个combobox是否处于下拉状态

Delphi socket connect timeout 套字节链接超时设置

Delphi xe5 android 设置权限

Delphi 关于注释

Delphi 时间年月日,星期

Delphi通过代码实现模拟按键的函数

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...