0

有没有一种很好的方法可以在 C# 中以编程方式获取已注册 COM 服务器的路径?

我们有一个在 C# 项目中引用的进程外 COM 服务器(即 exe 文件);但是我们想强制我们从特定位置运行 COM 服务器,所以我们想在启动它之前检查注册的 exe 文件的路径。除了潜入注册表之外,还有什么好方法可以做到这一点?

4

1 回答 1

0

QueryPathOfRegTypeLib函数就是这样做的。

但是,我确实注意到了一个奇怪的怪癖:

如果我首先以每个用户为基础从一条路径注册:

c:\Path1\comserver.exe /regserverperuser

然后在系统级别的基础上从另一个路径注册:

c:\Path2\comserver.exe /regserver

然后QueryPathOfRegTypeLib返回c:\Path1\comserver.exe,其实是加载类型库时启动的c:\Path2\comserver.exe...

于 2016-07-25T12:39:22.027 回答