-1

我正在使用打印作业,PrintSystemJobInfo并且此类没有文件的路径(打印作业)。所以,我想知道是否有一个类可以使用打开的文件名(在内存中)并且这个类返回完整路径。此打开的文件可能是.doc.pdf.xls.txt等。

拜托,有人可以指出我正确的方向或有一个想法......这将非常有帮助......

4

2 回答 2

0

查找打开文件句柄的唯一方法是使用 NtQuerySystemInformation 调用。这是一个将其作为资源管理器上下文菜单完成的项目。在这个人的案例中,他查找在特定文件夹中打开的文件。

然后,您必须将文件名与打印作业中的文件匹配。

顺便说一句,这不是 C#,但您可以包装和调用他正在使用的相同调用。剩下的就靠你自己想办法了。;)

于 2013-07-22T19:31:24.993 回答
0

假设您有一个Stream对象,FileStream那么只需进行强制转换和询问:

Stream str = printJob.JobStream;
FileStream fileStream = str as FileStream
if( fileStream != null ) {

    String fileName = fileStream.Name;
}
于 2013-07-22T19:34:06.193 回答