怎样在Windows服务编程中使用剪贴板

[复制链接]
查看11 | 回复3 | 2021-1-27 06:56:54 | 显示全部楼层 |阅读模式
本人在开发一个Windows服务,目的是把文件夹中的PDF转换成PNG文件,使用到了Acrobat.CAcroPDPage的CopyToClipboard方法,但是使用Clipboard.GetDataObject()的时候却返回nothing。
相同的代码,放到Windows应用程序中可以正常执行并生成最终的PNG文件。
IfNotpdfPage.CopyToClipboard(pdfRect,0,0,100)Then
ContinueFor
EndIf
DimclipboardDataAsIDataObject=Clipboard.GetDataObject()
IfclipboardDataIsNothingThen
ContinueFor
EndIf

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:56:54 | 显示全部楼层
你在安装服务的时候,用户选择为system试试。看是否权限问题。
回复

使用道具 举报

千问 | 2021-1-27 06:56:54 | 显示全部楼层
pdfPage.CopyToClipboard确认是否复制成功,是否有数据。
回复

使用道具 举报

千问 | 2021-1-27 06:56:54 | 显示全部楼层
调用线程的SetApartmentState()方法,修改成ApartmentState.STA之后,在XP环境下可以生成图片,但是安装到WindowsServer2008中就无法生成图片了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行