【问题标题】:I don't see COM DLL in the Process Explorer我在进程资源管理器中看不到 COM DLL
【发布时间】:2011-04-09 13:54:14
【问题描述】:

我正在与我的 C# 项目中的自定义 COM 组件进行交互。

我用 IDisposable 包装它。

我面临的问题是,一旦程序运行,我在Process Explorer 中看不到 CSCCOM 的 DLL。

【问题讨论】:

  • 不要删除得到好的答案的问题。你从 MrDosu 那里得到了很好的回答,你剥夺了他应得的代表。以及许多依靠 SO 来寻找问题答案的程序员。此网站不是为您个人使用而创建的。
  • 嗯,已经解决了。好东西。
  • @Hans Passant:我同意。但我认为我过度暴露了我的代码。但我觉得我应该编辑它而不是删除它。感谢您对我的这一行为的批评:)

标签: c# com process-explorer


【解决方案1】:

如果无法加载 COM 服务器 DLL,那么您会从这段代码中听到一声巨响。 CSCCOMWRAP 构造函数将引发异常。可能你没有猜对服务器的DLL名称,不是那么容易找到的。您必须在注册表中查找 InProcServer32 注册表项值才能知道 DLL 名称。

请注意,您的 IDisposable 实现什么也没做。

【讨论】:

  • 1.似乎正在加载 DLL,因为我的组合框列出了 COM 的 GetCodes() 方法中的值。 2. 对 COM 组件的引用确实存在于注册表中 3. 请您帮助我,以便我的 IDisposable 实现完成它应该做的事情!
  • 没什么可处理的,直接删除就行了。
【解决方案2】:

您是只检查了自己的进程还是搜索了 COM-DLL? ProcessExplorer 允许您搜索文件等。

可能是,DLL 没有直接加载到您的进程中,而是加载到单独的包装进程甚至 Windows 服务中。

【讨论】:

    【解决方案3】:

    好的。刚刚发现代码没有问题。但我看不到 COM dll 的原因是 ProcessExplorer 中没有打开“显示下窗格”。

    在 ProcessExplorer 中查看正在运行的进程的所有相关 dll 的步骤:

    1. 确保在 ProcessExplorer 中选中 View > Show Lower Pane。
    2. 确保选中“视图”>“下窗格视图”>“DLL”。
    3. 从上方窗格中选择进程以在下方窗格中查看所有相关 DLL。

    希望这对像我这样的 ProcessExplorer 新手有所帮助!

    【讨论】:

      猜你喜欢
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      • 2022-01-14
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多