Amsterdammed 发表于 2005-8-27 07:59:27

当前正在运行多个 Acad 会话?

您好,
我为我们公司编写了一些会计程序; 使起草者很容易在一天结束时输入他们正在处理的内容。
它启动一个包含 BeginQuit 事件的对话框,从文本文件中读取日志数据,将数据写入将用户输入添加到 Excel 工作表中。最后,txt文件将被删除,因为信息已经存储。
一切正常,但有一个可能的错误来源:同时打开两个Autocad会话,并在关闭第一个会话时运行记帐对话框。
我知道没有理由同时运行两个会话,但是我们使用以C++编写的第三方的HVAC应用程序,该软件有时会执行奇怪的操作。
有没有一种简单的方法来找出是否有第二个acadApp。对象跑出来了吗?
提前致谢,
贝恩德
**** Hidden Message *****

Amsterdammed 发表于 2005-8-27 08:29:54

将> this
这个

Amsterdammed 发表于 2005-8-27 08:54:59

您只需将Command1_Click Sub中的代码复制到一个名为“让我们看看GetAcadAppCount”的公共函数,并修改do循环中的逻辑,以便它测试up process . szexefile字符串中是否包含“acad.exe”(不要被up process . szexefile字符串中的大小写或附加信息绊倒),而不是将其推送到listbox,计算并返回找到的实例数。我试过了,在SP2的Windows XP下运行良好;非常简单的东西。
可以考虑让它成为一个通用函数,接受一个参数,即您希望记录其运行实例的可执行文件的名称。
我会张贴我的版本,但我尊重作者的意愿,通过他的网站。

Amsterdammed 发表于 2005-8-27 14:09:07

谢谢Mike
我在院子里做我的船,所以我花了一段时间才读到你的帮助帖子。
当然,我一开始读得不够好(或者不理解),被字符串上的信息弄糊涂了,但现在它起作用了。
我也会在他的网站上尊重作者的愿望。
Bernd

Amsterdammed 发表于 2005-8-27 14:10:39

很高兴听到它伯恩德;感谢您的入住。
页: [1]
查看完整版本: 当前正在运行多个 Acad 会话?