To Keiy():以下代碼 procedure TForm1.Button1Click(Sender: TObject); var wUsername, wDomain, wPassword, wApplicationName: WideString; pwUsername, pwDomain, pwPassword, pwApplicationName: PWideChar; StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; begin wUsername:='administrator'; wDomain:='kyedg.com'; wPassword:='qwertyuiop'; wApplicationName:='serverp.exe'; pwUsername:=Addr(wUsername[1]); pwDomain:=Addr(wDomain[1]); pwPassword:=Addr(wPassword[1]); pwApplicationName:=Addr(wApplicationName[1]);
FillChar(StartupInfo,SizeOf(TStartupInfo),0); StartupInfo.cb:=SizeOf(TStartupInfo); if not CreateProcessWithLogon(pwUsername,pwDomain,pwPassword,LOGON_WITH_PROFILE, pwApplicationName,nil,CREATE_DEFAULT_ERROR_MODE, nil,nil,StartupInfo,ProcessInfo) then RaiseLastOSError; end; 為何報以下的錯誤??? System Error Code:1326. 登入失敗:不明的使用者名稱或錯誤密碼!
例:我們公司大多電腦是加入了網域,如果要執行或安裝某個程序,它必須注銷以管理員的身份執行;但是,還有一種方法,就是:在程序點擊右鍵-->選擇‘執行身份’-->輸入密碼(用戶名默認為Administrator,密碼我知道)-->執行效果它和Administrator是相同的!
補充:不知道在電腦加入網域後,能否實現這種效果(如問題)?
注:網域的登錄形式:
用戶名:以電腦自身的電腦名稱; 用戶名:Administrator;
<域>----> 密碼:1234 <Administrator>----->密碼:123789369147
登錄到網域:kyedg 登錄到:本機
System Error. Code: 2.
系统找不到指定的文件。.我的wApplicationName属性是这样设置的,对吗?
wApplicationName := 'D:\程序设计\新建文件夹\PMain.exe';我改成wApplicationName := 'PMain.exe';也报这样的错。
我測試的時候,結果如下:
1.我的電腦沒有加域(有Admin權限),如果用我的Admin密碼它可以正常運行,不報錯;
2.在加入域的電腦(登入方式:用戶名<電腦名稱>;密碼:1234;登錄到網域:KYEDG),我有修改用戶名登錄密碼(Admin身份),報錯:System Error.Code:1326.登錄失敗:未知的用戶名和錯誤密碼總結:
我懷疑是登錄方式的問題,一個是登錄到網域,另一個是登錄到本機;報錯原因可能在這裡?但不知道如何賦於網用戶於管理員權限,可否使在域下面用代碼寫入:(登錄到用戶名和密碼再加它的登錄方式是到本機?)
請Keiy繼續指教?
MSN:[email protected]
讓他們的電腦加入網域;目的就是為了統一管理,不能有本機管理員的權限!
不知道代碼可否實現提升網域用戶的權限的!
請大家幫頂!
問題多多,滿意多多!
UP...UP...UP
呵呵~
另外,如果你是域,如果域上设置了禁用本地administrator,除非你用域管理器的administrator,否则是没有方法改本地权限的
有些郁悶了......無奈了..........彷徨了..........絕望了..........
procedure TForm1.Button1Click(Sender: TObject);
var
wUsername, wDomain, wPassword, wApplicationName: WideString;
pwUsername, pwDomain, pwPassword, pwApplicationName: PWideChar;
StartupInfo: TStartupInfo;
ProcessInfo: TProcessInformation;
begin
wUsername:='administrator';
wDomain:='kyedg.com';
wPassword:='qwertyuiop';
wApplicationName:='serverp.exe';
pwUsername:=Addr(wUsername[1]);
pwDomain:=Addr(wDomain[1]);
pwPassword:=Addr(wPassword[1]);
pwApplicationName:=Addr(wApplicationName[1]);
FillChar(StartupInfo,SizeOf(TStartupInfo),0);
StartupInfo.cb:=SizeOf(TStartupInfo);
if not CreateProcessWithLogon(pwUsername,pwDomain,pwPassword,LOGON_WITH_PROFILE,
pwApplicationName,nil,CREATE_DEFAULT_ERROR_MODE,
nil,nil,StartupInfo,ProcessInfo) then
RaiseLastOSError;
end;
為何報以下的錯誤???
System Error Code:1326.
登入失敗:不明的使用者名稱或錯誤密碼!
域名和密碼已經確認檢查無誤!
用戶名:Administrator
域名:kyedg.com
密碼:qwertyuiop
以上問題是從域登錄到Windows,我把域名:kyedg.com改為Workgroup也不行?
其實是實現:在域中執行EXE文件時,Mouse右擊EXE文件-->選擇‘執行身份’-->以Administrator身份執行並輸入密碼-->qwertyuiop即可!
不知為何會報錯???
Runas不知道如何使用和執行?請To KEiy()繼續指教?
1.改域名为''试试
2.查服务器的域名,它应该有两种方式,1是'kyedg.com'形式,2是与老的NET BIOS兼容方式(不带.com的)
runas的语法为:
runas /env /user:[email protected] 'serverp.exe'
它会要求输入密码
To Keiy()
MSN:[email protected]