2013-07-22 75 views
-1

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

请,有人可以点我朝着正确的方向或有一个想法......那将是非常有益的......

+1

你所问的是找一本书的标题没有盖。除非您检查图书馆的所有书籍并比较内容,否则无法找到它。 –

+0

[我如何获得打印作业文件名(文件地址)?](http://stackoverflow.com/questions/7902406/how-do-i-get-print-job-documnet-name-file-地址) – CodeCaster

回答

0

为您找到打开的文件句柄的唯一方法是使用NtQuerySystemInformation调用。 Here is a project,这已经作为一个资源管理器上下文菜单完成。在这个人的情况下,他寻找在特定文件夹中打开的文件。

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

顺便说一下,这不是C#,但你可以打包和调用他正在使用的相同的调用。剩下的事实际上取决于你自己。 ;)

0

假设你有一个Stream对象,它是一个FileStream然后就做了演员和审讯:

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

    String fileName = fileStream.Name; 
}