【发布时间】:2014-03-12 11:03:14
【问题描述】:
我已经在这里阅读了将近 5 年,但这是我在这里的第一篇文章。
我目前正在开发一个 VB.NET 项目,在该项目中我需要在窗口窗体中打开 Lotus Notes。正如我在这里看到的那样,我尝试使用 SetParent 功能
http://xtremevbtalk.com/showthread.php?t=272163.
它对我有用,但问题是,当我的 Lotus Notes 客户端上的一个窗口关闭时,整个客户端都会关闭。当我尝试重新打开邮件时,它会显示内存不足的错误或根本没有响应。
图像显示在 VB.NET 表单中打开的 Lotus Notes
我尝试按此处所述增加注册表上的堆大小值,但问题仍然存在。
http://forum.sysinternals.com/insufficient-memory_topic17945.html
图像显示当我单击按钮 1 时 Lotus Notes 没有打开
我也怀疑内存不足错误是否正确,因为当我检查任务管理器时,内存使用率并不高。
http://i61.tinypic.com/33jtyxe.png
非常欢迎任何 cmets 和解决方案。
TIA。
罗斯
【问题讨论】:
-
Lotus Notes 不是一个简单的程序。实际上有两个主要的可执行文件,notes.exe 和 nlnotes.exe,还有一些其他的也可以运行。涉及很多共享内存。我的猜测是在另一个应用程序的窗口中运行它不是一个好主意。 Notes 是一个 OLE 服务器,这意味着您可以嵌入它并使用 API 调用自动执行它。也许如果您告诉我们为什么要尝试在窗口中运行它,您希望用户做什么以及您期望发生什么,这里的人们可以建议不同的方法来完成它。
-
谢谢理查德。这些也是我的感想。我们的管理层想要一个能够提供员工所需的所有常用程序的系统,例如电子邮件、办公工具、浏览器等。起初我的方法是使其基于浏览器,并使用 iNotes 作为电子邮件程序,它成功了,但管理层拒绝了,因为它要求所有员工都使用 iNotes,从而使我们的 Lotus Notes 多米诺服务器无法使用。 (我们有 Notes 和 iNotes 的差异服务器)
-
关于主要可执行文件,是的,我尝试调用这两个。 notes.exe 不是一个选项,因为它在调用实际客户端之前会打开一个初始屏幕,因此,初始屏幕是停靠在窗口而不是客户端上的那个。所以我选择调用 nlnotes.exe,它只是工作区。
-
谢谢 Richard,我昨天说服了管理层,我们将在我们的备用多米诺服务器中激活 iNotes。所以是的,我可能没有解决这个问题的方法,但我的问题现在已经解决了。我们将使用 iNotes。
-
不错的选择。让管理层改变主意做得很好! :-)
标签: vb.net lotus-notes ui-automation setparent