有方法可以做到切換"執行身份"嗎 |
尚未結案
|
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
原因:
公司想要鎖user的隨身碟功能,我找到了從登錄檔限制的方法了,
也可以從程式去改登錄檔,可是因為user端的pc是 winXP 且使用
個人帳號登入,沒有administrator的權限,因此程式也不能去改
變那一段機碼的值,會error,只好請問各位大大有什麼方法可以
解決。 目前試過的方法
1.
將要變更的機碼存成reg檔,在檔案總管對它按右鍵,選"執行身份"
改成administrator的身份來執行,可是它要user輸入密碼,過程太
繁鎖了,而且我不希望讓user輸入密碼。 1.
Win 2000/XP 有個指令叫 runas 可以在執行程式時先變更user
權限再執行,可是密碼不能用代入的,一定要手動key in,但是
我不可能讓user知道administrator的密碼,也試過使用
dos command 的 重導向指令(
|
jcjroc
高階會員 發表:21 回覆:279 積分:115 註冊:2002-09-18 發送簡訊給我 |
|
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
|
daywb
一般會員 發表:4 回覆:7 積分:2 註冊:2002-04-17 發送簡訊給我 |
試試看以下程式碼 Var UserToken : Cardinal;
Username,Password:String; begin
RevertToSelf;
Username:='administrator';
Password:='******';//administrator 的 Password if not LogonUser(PChar(Username), '.', PChar(Password),
LOGON32_LOGON_INTERACTIVE ,
LOGON32_PROVIDER_DEFAULT, UserToken) then RevertToSelf //不成功 轉回原先的login user else
ImpersonateLoggedOnUser(UserToken); ....... {
finally
RevertToSelf; //轉回原先的login user
}
|
GeorgeKu
中階會員 發表:1 回覆:120 積分:74 註冊:2004-10-13 發送簡訊給我 |
folkchen你好,
我針對你提出的第一項去模擬與實作,我的做法是程式中執行RUNAS然後到要輸入密碼的時候,使用sendinput去模擬輸入密碼,以下是我簡單的寫了一些CODE供參用.
void sendkey(const char*); int main(int argc, char *argv[]) { WinExec("runas /evn /user:administrator \"notepad\"",SW_SHOW); Sleep(1000); char pw[20]={}; strcpy(pw,"12345678"); //password st[strlen(pw)]=(char)13; //enter code sendkey(pw); Sleep(1000); system("PAUSE"); return 0; } void sendkey(const char* str) { INPUT in; for(;*str!=0;str ){ in.type=INPUT_KEYBOARD; in.ki.wVk=0; in.ki.wScan=MapVirtualKey(VkKeyScan(*str),0); in.ki.time=1000; in.ki.dwFlags=KEYEVENTF_SCANCODE; in.ki.dwExtraInfo=GetMessageExtraInfo(); SendInput(1,&in,sizeof(INPUT)); in.ki.dwFlags=KEYEVENTF_SCANCODE|KEYEVENTF_KEYUP; SendInput(1,&in,sizeof(INPUT)); } } |
GeorgeKu
中階會員 發表:1 回覆:120 積分:74 註冊:2004-10-13 發送簡訊給我 |
|
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |