元件服務-"我的電腦"內容設定 |
缺席
|
SleepWalker
一般會員 發表:16 回覆:20 積分:12 註冊:2004-06-21 發送簡訊給我 |
因為常常要幫使用者安裝設定中間層原件, 提議寫一隻自動設定的程式來設定原件服務中的一些設定值
我的電腦->內容的基本參數我已經透過Import Library COMAdmin.DLL 修改好了(EX: 使用COM Internet 服務) 但是! 在我的電腦頁簽還有"COM 安全性設定" & "MSDTC 設定"我找不出來要如何去控制她們的設定值請問有沒有人嘗試過呢? 以下是我寫的一些設定, 如果有需要請自便~ procedure TfrmMain.BtmSetupCOMClick(Sender: TObject); var i: Integer; objCOMAdminCata : ICOMAdminCatalog; objRemoteRootColl : COMAdminCatalogCollection; objRemoteComputerColl: COMAdminCatalogCollection; objRemoteComputerItem: COMAdminCatalogObject; tmp:IDispatch; begin try PageControl.ActivePageIndex := 0; //建立COMAdminCatalog objCOMAdminCata := CoCOMAdminCatalog.Create; //連結到本機電腦,設定RemoteRoot tmp := objCOMAdminCata.Connect('127.0.0.1'); objRemoteRootColl := IUnknown(tmp) as COMAdminCatalogCollection; //取回"我的電腦" Collection tmp := objRemoteRootColl.GetCollection('LocalComputer', objRemoteRootColl.Name); objRemoteComputerColl := IUnknown(tmp) as COMAdminCatalogCollection; //展開 objRemoteComputerColl.Populate; //取回"元件服務我的電腦內容" tmp := objRemoteComputerColl.Item[0]; objRemoteComputerItem := IUnknown(tmp) as COMAdminCatalogObject; EditCom.Font.Color := clLime; EditCom.Lines.Add('連線到元件服務成功.'); EditCom.Lines.Add('電腦名稱:' objRemoteComputerItem.Name); //Boolean EditCom.Lines.Add('設定:在這台電腦上啟用DCOM'); objRemoteComputerItem.Value['DCOMEnabled'] := True; //Boolean EditCom.Lines.Add('設定:在這台電腦上啟用COM Internet服務'); objRemoteComputerItem.Value['CISEnabled'] := True; //COMAdminAuthenticationDefault = 0 //COMAdminAuthenticationNone = 1 //COMAdminAuthenticationConnect = 2 //COMAdminAuthenticationCall = 3 //COMAdminAuthenticationPacket = 4 //COMAdminAuthenticationIntegrity = 5 //COMAdminAuthenticationPrivacy = 6 EditCOM.Lines.Add('設定:預設驗證等級[連線]'); objRemoteComputerItem.Value['DefaultAuthenticationLevel'] := 2; //COMAdminImpersonationAnonymous = 1 //COMAdminImpersonationIdentify = 2 //COMAdminImpersonationImpersonate = 3 //COMAdminImpersonationDelegate = 4 EditCOM.Lines.Add('設定:預設模擬等級[模擬]'); objRemoteComputerItem.Value['DefaultImpersonationLevel'] := 3; objRemoteComputerColl.SaveChanges; objRemoteComputerItem := nil; objCOMAdminCata := nil; objRemoteRootColl := nil; objRemoteComputerColl := nil; except on E: Exception do begin EditCom.Lines.Add(E.Message); EditCom.Lines.Add('設定元件服務失敗, 請手動設定'); objRemoteComputerItem := nil; objCOMAdminCata := nil; objRemoteRootColl := nil; objRemoteComputerColl := nil; end; end; end; |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |