我在用作终端服务器的Windows Server 2019上遇到了一个问题。
我的应用程序是一个 Delphi 32位可执行文件,当我要求Twain dll列出可用的扫描仪时,列表是空的。
当使用其他应用程序,如Twacker或EZTwain时,列表会正确填充。
在其他操作系统(WS 2022,WS 2019,但不用于TSE,W7,W10等...)上,没有问题,一切正常。
==〉问题是:为什么我看不到那些扫描仪?
在其他操作系统上测试=〉无问题
测试64bits可执行文件=〉问题是一样的
使用管理员权限运行=〉问题相同
1条答案
按热度按时间z3yyvxxp1#
由于编译选项,
LoadLibrary
调用出现问题IMAGE_DLLCHARACTER存储器_TERMINAL_SERVER_AWARE
如果未设置此选项,则Windows API(
Windows.GetWindowsDirectory
)给出的Windows目录为C:\User\xxxUserAccountxxx\WINDOWS
,而不是
C:\Windows
因此,应用程序无法正确加载Twain dll,也无法从twain_32目录中获取数据。
编辑:在dpr文件中添加的行