【发布时间】:2010-10-08 06:08:59
【问题描述】:
我正在尝试在 Windows 服务器上的 Lotus Domino 中运行一些 LotusScript 代码(非常类似于 Visual Basic)。
该代码调用了一些 Windows API 函数,在 32 位 Windows 2003 服务器上运行良好,但在我们尝试过的一台 64 位服务器上却无法运行。
这是我们的外部函数声明之一:
Declare Function FindExecutable Lib "shell32.dll" Alias "FindExecutableA" _
(Byval lpFile As String, Byval lpDirectory As String, Byval lpResult As String) As Long
尝试调用该函数时,LotusScript 会产生错误消息“未找到外部函数”。
我已经尝试从声明中删除别名,并将别名更改为“FindExecutable”,结果相同。
我也有:
- 作为比较,尝试在 user32.dll 中调用 GetForegroundWindow 函数 - 这有效。
- 使用 Dir 函数确认 shell32 存在,路径为“c:\windows\syswow64\shell32.dll”,然后...
- 将声明中的 Lib 更改为 dll 的完整路径 - 这会在调用函数时产生“加载 DLL 时出错”。
在 64 位服务器上调用 shell32 函数时有什么必须做的不同的事情吗?
函数调用在特定服务器上失败的任何其他原因?
【问题讨论】:
标签: dll 64-bit windows-server-2003 lotus-domino