当路径不包含驱动器号时,如何告诉编译器路径是绝对的
Posted
技术标签:
【中文标题】当路径不包含驱动器号时,如何告诉编译器路径是绝对的【英文标题】:How to tell the compiler a path is absolute, when the path doesn't contain a drive letter 【发布时间】:2016-06-23 23:30:24 【问题描述】:我正在构建一个 Windows 应用程序,它可以在不将它们复制到磁盘的情况下查看相机(可移动设备)上的图片。
大多数通过 USB 连接的相机的问题是它们的路径是相对于 MyComputer 的,这是一个虚拟路径,因此不包含驱动器号(参见 C:\)。
使用“Computer\[Camera Name]\Removable storage\AnotherDirectory\”作为路径使编译器认为我使用的是相对路径: ...\Project\bin\Release\Computer\[相机名称]\Removable storage\AnotherDirectory\
我在Using FolderBrowserDialog on a Removable Device / Removable storage 上找到了一个先前的问题,但我不习惯 COM shell 接口,想知道是否有办法告诉编译器给定路径是绝对路径?
更新
回答理查兹关于如何阅读图片的问题,
首先我按顺序收集所有 jpg 的路径。 然后我用下面的函数映射这个序列:
let loadPic path=
let bitmap = new BitmapImage()
if System.IO.File.Exists path then
bitmap.BeginInit()
bitmap.UriSource <- Uri(path)
bitmap.CacheOption <- BitmapCacheOption.OnLoad
bitmap.EndInit()
bitmap
生成一系列位图,然后可以查看。
【问题讨论】:
在 API 级别,除了在 Shell 命名空间(构建在文件系统命名空间之上并大量扩展文件系统命名空间)之外,“路径是相对于 MyComputer 的”。你会更好地描述你如何以编程方式从相机中读取图像数据...... 【参考方案1】:它们不会被枚举为磁盘。这是不同的东西。
试试这个:
https://github.com/geersch/WPD/blob/master/src/part-3/README.md
这个有如何访问MTP设备的代码示例:
https://bitbucket.org/derekwilson/podcastutilities/src/b18a9926c1dcbfb884b34b9865ebaec96abfdb82/PodcastUtilities.PortableDevices/?at=default
希望对你有帮助!
【讨论】:
以上是关于当路径不包含驱动器号时,如何告诉编译器路径是绝对的的主要内容,如果未能解决你的问题,请参考以下文章
cookie的路径决定服务器在发送请求时候 是否决定发送 当路径匹配时候 则发送给服务器