全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2523
推到 Plurk!
推到 Facebook!

元件服務-"我的電腦"內容設定

缺席
SleepWalker
一般會員


發表:16
回覆:20
積分:12
註冊:2004-06-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-03-28 17:52:10 IP:220.229.xxx.xxx 訂閱
因為常常要幫使用者安裝設定中間層原件, 提議寫一隻自動設定的程式來設定原件服務中的一些設定值
我的電腦->內容的基本參數我已經透過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;
系統時間:2017-10-23 17:55:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!