delphi Twain扫描仪在Windows Server 2019中不可见- TSE

xmjla07d  于 2023-04-11  发布在  Windows
关注(0)|答案(1)|浏览(171)

我在用作终端服务器的Windows Server 2019上遇到了一个问题。
我的应用程序是一个 Delphi 32位可执行文件,当我要求Twain dll列出可用的扫描仪时,列表是空的。
当使用其他应用程序,如Twacker或EZTwain时,列表会正确填充。
在其他操作系统(WS 2022,WS 2019,但不用于TSE,W7,W10等...)上,没有问题,一切正常。
==〉问题是:为什么我看不到那些扫描仪?
在其他操作系统上测试=〉无问题
测试64bits可执行文件=〉问题是一样的
使用管理员权限运行=〉问题相同

z3yyvxxp

z3yyvxxp1#

由于编译选项,LoadLibrary调用出现问题
IMAGE_DLLCHARACTER存储器_TERMINAL_SERVER_AWARE
如果未设置此选项,则Windows API(Windows.GetWindowsDirectory)给出的Windows目录为
C:\User\xxxUserAccountxxx\WINDOWS
而不是
C:\Windows
因此,应用程序无法正确加载Twain dll,也无法从twain_32目录中获取数据。
编辑:在dpr文件中添加的行

{$R *.RES}
--> {$SetPEOptFlags IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE}

相关问题