Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从打开的文件中获取完整路径-C#_C# - Fatal编程技术网

从打开的文件中获取完整路径-C#

从打开的文件中获取完整路径-C#,c#,C#,我正在使用PrintSystemJobInfo处理打印作业,该类没有文件路径(打印作业)。所以,我想知道是否有一个类可以使用打开的文件名(在内存中),这个类返回完整路径。打开的文件可以是.doc、.pdf、.xls、.txt等 请,有人可以告诉我正确的方向或有一个想法。。。这将非常有用…查找打开的文件句柄的唯一方法是使用NtQuerySystemInformation调用。这是一个浏览器上下文菜单。在这个人的例子中,他查找特定文件夹中打开的文件 然后,您必须将文件名与打印作业中的文件相匹配 顺便

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


请,有人可以告诉我正确的方向或有一个想法。。。这将非常有用…

查找打开的文件句柄的唯一方法是使用NtQuerySystemInformation调用。这是一个浏览器上下文菜单。在这个人的例子中,他查找特定文件夹中打开的文件

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


顺便说一下,这不是C#,但你可以包装并调用他正在使用的相同调用。剩下的就要看你自己了

假设您有一个
对象,它是
文件流
,那么只需执行强制转换和询问:

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

    String fileName = fileStream.Name;
}

你所要求的是找到一本没有封面的书的书名。除非你检查了图书馆的所有书籍并比较了内容,否则你就找不到它的副本