【问题标题】:Reading/Writing files using nothing but a handle只使用句柄读取/写入文件
【发布时间】:2012-04-14 10:53:29
【问题描述】:

工作中出现了一个我不确定答案的问题。假设在进程内有一个指向目录的句柄。手柄设置了 RW,可以说它指向桌面。有没有办法只使用句柄来读取或写入文件到桌面?

感谢您的任何想法!

编辑:澄清一下,这是在 Windows 上,是一个指向桌面的文件句柄。假设您已经知道句柄的值,并希望在同一进程中使用它,以便将文件读/写到它指向的桌面。允许使用任何代码,包括 Windows API。

【问题讨论】:

  • 你说的是什么手柄?操作系统句柄?如果有,是什么操作系统?
  • 目录句柄不好。为了写文件,你需要一个文件句柄。如果允许任何 Win API 调用,那么您当然可以做任何事情。这不是一个真正的问题。
  • 换种说法:你有一个未知目录的句柄,你想找出它指向哪个目录,以便你可以写一个文件?

标签: c++ c windows windows-7 handle


【解决方案1】:

您可以在目录句柄上使用GetFinalPathNameByHandle() 来获取路径名,将要写入的文件附加到它的末尾,然后照常使用CreateFile()

【讨论】:

    【解决方案2】:

    标准 C 和 C++ 没有目录的概念,因此严格的答案是

    要说更多,我们需要更多信息。你说的手柄是什么意思?您可以使用哪些平台/库?

    另外,不清楚您所说的“只有把手”是什么意思。函数不是句柄;你可以调用函数吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多