2011-06-16 239 views
1

最近,我构建了一个GUI应用程序,它将网络连接映射到Windows中的驱动器。不幸的是它使用WNetAddConnection2()调用来实现这一点。这很不幸,因为当涉及到映射远程WebDAV连接时,Windows API很糟糕。在Vista中似乎可以正常工作,除非尝试启用SSL,除非您指定一个文件夹(您无法将其映射到根URL,例如:http://mywebdavserver.tld),否则它在XP中不起作用。另外SSL在XP中不起作用。 基本上,我发现使用WNetAddConnection2()极不可靠。使用Delphi映射网络驱动器没有WNetAddConnection2

这就是说,有没有什么办法用WebDAV映射网络驱动器而不使用WNetAddConnection2()?

提前许多感谢, 布拉德

+0

-1这个问题属于超级用户的本质。即使[维基百科](http://en.wikipedia.org/wiki/WebDAV#Microsoft_Windows)也列出了WNetAddConnection2“吸引”的原因(请参见全面的[table](http://www.greenbytes.de /tech/webdav/webdav-redirector-list.html)的版本和相应的问题)。 – 2011-06-16 18:13:15

+0

你如何执行一个DOS无声命令网络使用“drivepath” – 2016-12-14 19:55:17

回答

4

基本上你是抱怨的WebDAV支持该操作系统的实现不符合您的期望。这也难怪,即使在Windows 7中,这个客户端实现也存在严重的兼容性和标准兼容性问题。我认为,也许this product会更好地完成这项工作(我们不使用它,因为我们有我们自己的WebDAV客户端和服务器实现,所以我不能说它的质量)。

+0

该产品确实看起来很有趣。我试过了,但当我去连接时,它总是呻吟着服务器无法理解的请求。也许稍微调整一下我可以让它工作 – user198470 2011-06-16 13:37:52

+0

@ user198470或者它可能是不完全符合标准的服务器?我不能肯定地说,猜你需要联系供应商。 – 2011-06-16 13:45:56

2

我认为可以使用WMI。 类WIN32_Share有一个方法创建与此注释:“启动共享服务器资源的类方法”。

搜索WMI并执行方法。你会发现一些关于这个(和响应)的问题。

{RRUZ}blog有很多关于此的信息。

问候。