首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

com元件路径,该如何解决

2012-03-29 
com元件路径問題描述﹕公司上了一套erp﹐客戶端有需要改的程序﹐改好之后﹐要一台一台地去更新﹐覺得挺麻煩的。

com元件路径
問題描述﹕公司上了一套erp﹐客戶端有需要改的程序﹐改好之后﹐要一台一台地去更新﹐覺得挺麻煩的。想寫一個程序﹐讓它自動在客戶端從一個位置拷貝文件﹐由于安裝時安裝的路徑不一樣﹐所以無法取得固定路徑。后來想到erp中的元件在注冊表中有注冊﹐從注冊的元件可以解析出erp安裝的路徑。一句話﹕如何從安裝的com元件找到其存放路徑?

[解决办法]
http://www.delphibbs.com/keylife/iblog_show.asp?xid=12146
作者: 轻舞肥羊
标题: 列出COM+应用程序所有组件的DLL
关键字: COM+
分类: 开发技巧
密级: 公开
(评分: , 回复: 0, 阅读: 859) »»
轻舞肥羊发表于大富翁论坛
转载请标明出处,谢谢

procedure EnumDll ;stdcall;
const
SComApplicationName = 'MyApp ';
var
COMAdminCatalog : OleVariant;
Applications : OleVariant;
Components : OleVariant;
i : Integer;
j : Integer;
begin
COMAdminCatalog := CreateOleObject( 'COMAdmin.COMAdminCatalog ');
Applications :=
COMAdminCatalog.GetCollection( 'Applications ');
Applications.Populate;
for i := 0 to Applications.Count - 1 do
begin
if Applications.Item[i].Name = SComApplicationName then
begin
Components := Applications.GetCollection(
'Components ', Applications.Item[i].Key);
Components.Populate;
for j := 0 to Components.Count - 1 do
MessageBox(0, PChar(string(Components.Item[j].Value[ 'DLL '])), 'Path ', 0);
end;
end;
end;

热点排行