IT 时常会碰到一个困扰,就是当用户权限太大时,容易出现各种问题,比如乱装软件,病毒等问题。但权限太小,也很麻烦,时常要IT给用户装一些允许的软件。一下程序允许用户以管理员的身份安装IT允许用户自己安装的软件而不用给用户管理员密码。
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Label1: TLabel; procedure FormCreate(Sender: TObject); procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } end;
type _STARTUPINFOW = record cb: DWORD; lpReserved: LPWSTR; lpDesktop: LPWSTR; lpTitle: LPWSTR; dwX: DWORD; dwY: DWORD; dwXSize: DWORD; dwYSize: DWORD; dwXCountChars: DWORD; dwYCountChars: DWORD; dwFillAttribute: DWORD; dwFlags: DWORD; wShowWindow: Word; cbReserved2: Word; lpReserved2: PByte; hStdInput: THandle; hStdOutput: THandle; hStdError: THandle; end; STARTUPINFOW = _STARTUPINFOW; var Form1: TForm1;
implementation
{$R *.dfm}
function CreateProcessWithLogonW(lpUserName, lpDomain, lpPassword: LPCWSTR; dwLogonFlags: DWORD; lpApplicationName: LPCWSTR; lpCommandLine: LPWSTR; dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: LPCWSTR; const lpStartupInfo: STARTUPINFOW; var lpProcessInformation: PROCESS_INFORMATION): BOOL; stdcall; external advapi32 Name 'CreateProcessWithLogonW'
procedure TForm1.FormCreate(Sender: TObject); var STARTUPINFO: StartupInfoW; ProcessInfo: TProcessInformation; AUser, ADomain, APass, AExe: WideString; const LOGON_WITH_PROFILE = $00000001; LOGON_NETCREDENTIALS_ONLY = $00000002; begin FillChar(STARTUPINFO, SizeOf(StartupInfoW), 0); STARTUPINFO.cb := SizeOf(StartupInfoW); STARTUPINFO.dwFlags := STARTF_USESHOWWINDOW; STARTUPINFO.wShowWindow := SW_SHOW; AUser := 'administrator'; ADomain := 'msic.com.cn'; APass := 'xxxxxx'; AExe := '\\it\tools\install_flash_player_ax.exe'; if not CreateProcessWithLogonW(PWideChar(AUser), PWideChar(ADomain), PWideChar(APass), LOGON_WITH_PROFILE, nil, PWideChar(AExe), NORMAL_PRIORITY_CLASS, nil, nil, STARTUPINFO, ProcessInfo) then RaiseLastOSError; end; procedure TForm1.FormActivate(Sender: TObject); begin close; end;
end.
|
请发表评论