用程式設定COM+應用程式的屬性。 (轉)
用設定COM+應用程式的屬性。:namespace prefix = o ns = "urn:schemas--com::office" />
今天從別人機器上匯出了個程式,註冊在自己的機器上,在服務裡檢視COM+應用程式的屬性,發現代理程式有一個屬性是可以修改的,就是名稱,在更改了此名稱後,程式中不需要用CreateRemote,也可以申請到遠端介面指標。可是我們應該給一個友好的介面,不能總讓使用者開啟元件服務吧,來,我們寫個程式吧。
這次我們只用好啦(唉,懶就一個字^_^)
定義三個變數
CataColl:TCOMAdminCatalogCollection;
CataObj:TCOMAdminCatalog;
COMADminCata:TCOMAdminCatalog;
begin
COMADminCata := TCOMAdminCatalog.Create(self);
CataColl := COMADminCata.GetCollection('Applications');
CataColl.Populate;
for i := 0 to CataColl.Count - 1 do
begin
CataObj := CataColl.Get_Item(i);
if CataObj.Name = 你的應用程式名 then
begin
CataObj.Set_Value('ApplicationServerName',新伺服器名);
CataColl.SaveChanges; //記著儲存修改
break;
end;
end;
end;
程式碼並不長,關鍵的函式是Set_Value,函式原型如下:
procedure Set_Value(const bstrPropName: WString; retval: OleVariant);
關鍵是這個bstrPropName――屬性的名稱,字串型別,到底是什麼字串呢?我翻了一通MSDN,還是沒找到到底該用什麼值,瞎猜了一通也不對。就是搞笑,給了一個函式,卻不給怎麼,或許是我笨,沒找到。不過笨人也有笨辦法,把這些屬性值找出來。
TCOMAdminCatalogCollection這個變數儲存的是一個集合(Collection),變數透過GetCollection函式來賦值,MSDN中有對這些集合的說明,找到了一個PropertyInfo集合(看著像),於是把它取了出來,用for迴圈進行遍歷,就可以得到相應的屬性名了,程式碼如下:
CataColl := CataColl.GetCollection('PropertyInfo',CataObj.Get_Key);
CataColl.Populate;
for j := 0 to CataColl.Count - 1 do
begin
CataObj := CataColl.Get_Item(j);
self.Memo1.Lines.Add(CataObj.Name);
end;
從Memo中就可以讀出各個屬性值了。對COM+目錄的操作就是一個取集合和遍歷集合的過程,大家自己去舉一反三吧^_^
以下是PropertyInfo集合的各個屬性名稱,也就是Set_Value方法的第一個引數bstrPropName的值:
Name
ID
Description
IsSystem
Authentication
ShutdownAfter
RunForever
Identity
Pass
Activation
Changeable
Deleteable
Createy
AccessChecksLevel
ApplicationAccessChecksEnabled
CommandLine
ImpersonationLevel
CRMEnabled
AuthenticationCapability
3GigSupportEnabled
QueuingEnabled
QueueListenerEnabled
EventsEnabled
ApplicationProxy
ApplicationProxyServerName
CRMLogFile
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-956461/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mac基礎設定—應用程式Mac
- 深入解析 Java 物件導向程式設計與類屬性應用Java物件程式設計
- Notepad++設定為預設應用程式
- 好程式設計師web前端詳解HTML5中download屬性的應用程式設計師Web前端HTML
- 檔案屬性-3.2.linux應用程式設計和網路程式設計第2部分Linux程式設計
- Spring Boot 2.0.2 參考指南(通用的應用程式屬性 ②)中文文件Spring Boot
- [譯] 設計 QA 在應用程式設計中的重要性程式設計
- 2.3 應用程式容器中的應用程式概述
- 確保應用程式安全性
- 5種設定ASP.NET Core應用程式URL的方法ASP.NET
- 譯:原生iOS應用程式和原生Android應用程式設計之間的差異iOSAndroid程式設計
- 用JS設定一個人的程式的話JS
- Python - 物件導向程式設計 - 公共屬性、保護屬性、私有屬性Python物件程式設計
- 表屬性設定
- Xcode設定自己的個性屬性XCode
- 設定Jenkins伺服器構建Spring Boot應用程式 - MarcusJenkins伺服器Spring Boot
- API(Application Programming Interface,應用程式程式設計介面)APIAPP程式設計
- 關於使用 SAP UI5 程式碼設定應用 theme 的技巧UI
- spring AOP 程式設計式應用Spring程式設計
- framebuffer應用程式設計實踐程式設計
- [譯] 設計大型 JavaScript 應用程式JavaScript
- 如何提高程式碼複用性,定義骨架?
- 雲原生應用的十個關鍵屬性
- Kotlin基礎:抽象屬性的應用場景Kotlin抽象
- socket程式設計在TCP中的應用程式設計TCP
- 實驗3 轉移指令跳轉原理及其簡單應用程式設計程式設計
- jQuery設定disabled屬性與移除disabled屬性jQuery
- 應用程式安全的看法
- AppTheme屬性設定集合APP
- Cookie設定HttpOnly屬性CookieHTTP
- CSS中常用的屬性設定CSS
- Django 安全性與防禦性程式設計:如何保護 Django Web 應用Django程式設計Web
- 將網站轉化為應用程式:Unite mac啟用版網站Mac
- 使用MATLAB compiler將matlab程式轉成獨立應用程式exeMatlabCompile
- border-sizing屬性詳解和應用
- 深入剖析 Java 類屬性與類方法的應用Java
- Python的tkinter獲取元件屬性和設定元件屬性Python元件
- 應用設定Setting的實現
- 如何使用 Kubernetes 實現應用程式的彈性伸縮