Windows CurDir 函数 - 它的低级声明是什么?是否有 Unicode 版本?
对于 REAL Studio 程序,我需要查询特定驱动器号的当前目录,因为它出现在如下路径中:
d:filename
请注意,这里是 D: 上的相对路径。
有一个 GetCurrentDirectory 函数,但它不允许我指定 D 驱动器,所以它在这里没有用。
我找到了 CurDir 函数,这是我在功能上需要的,但我在 MSDN 站点上找不到有关它所在的 DLL 的任何信息,也找不到该 DLL 中导出的名称。
我尝试过名称 CurDir 和 CurDirA,以及 DDL 名称 user32.dll 和 win32.dll 以及 kernel32.dll。
此外,提供给 VB 的 CurDir 函数似乎返回 ASCII 字符串,而不是 Unicode 字符串。是否有 Unicode 版本,例如“CurDirW”?
For a REAL Studio program I need to inquire a specific drive letter's current directory, as it occurs in a path like this:
d:filename
Note that it's a relative path on D: here.
There is a GetCurrentDirectory function, but that doesn't let me specify the D drive, so it's of no use here.
I found the CurDir function, which is what I need functionally, but I can't find any info on the MSDN site about the DLL it lives in, nor it exported name in that DLL.
I've tried the names CurDir and CurDirA, and the DDL names user32.dll and win32.dll and kernel32.dll.
Also, it appears the CurDir function as provided to VB returns a ASCII, not a Unicode, string. Is there a Unicode version, e.g. "CurDirW"?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Windows 不会为不同的驱动器维护单独的当前目录。这是 DOS 过去所做的事情,cmd.exe 通过记住每个驱动器的值来模拟。当您在 cmd.exe 中更改驱动器时,它会设置当前目录,包括驱动器。如果您想要相同的功能,则必须自己完成。
Raymond Chen 对此发表了博客: http://blogs.msdn .com/b/oldnewthing/archive/2010/10/11/10073890.aspx
Windows doesn't maintain separate current directories for separate drives. That's something that DOS used to do and cmd.exe emulates by remembering values for each drive. When you change drive in cmd.exe it sets the current directory, including the drive. If you want the same functionality you'll have to do it yourself.
Raymond Chen blogged about this: http://blogs.msdn.com/b/oldnewthing/archive/2010/10/11/10073890.aspx