论坛风格切换切换到宽版
  • 2650阅读
  • 5回复

【Inno】请教虎版,如何判断硬盘某个盘符是否存在? [复制链接]

上一主题 下一主题
离线mingping
 

发帖
17
金钱
170
威望
17
只看楼主 倒序阅读 0 发表于: 2014-05-04
如题,在写一个脚本,想通过判断硬盘里某个盘符是否存在?比如“D:”盘。

想要实现的效果:
if D盘存在时 then
begin
  NewDirEdit.Text ='D:\FavoriteVideo';
end;

反之,

if D盘不存在时 then
begin
  NewDirEdit.Text ='C:\FavoriteVideo';
end;


从网上找了张图片作说明



离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 1 发表于: 2014-05-05
用 DirExists 函数。比如:
if DirExists('D:\') then

离线mingping

发帖
17
金钱
170
威望
17
只看该作者 2 发表于: 2014-05-05
回 1楼(gnatix) 的帖子
首先感谢虎版回复!您说那个判断路径的方法我也试过,但是感觉不严谨。
因为某些电脑里,如果所需要判断的盘符刚好对应光驱或刻录机,那么指定文件就无法写入。不知有没有办法将光驱或者一些可移动磁盘排除在外?
离线lovelost

发帖
140
金钱
1060
威望
106
只看该作者 3 发表于: 2014-05-06
也许用这个可以:
function GetDriveType(lpDisk: array of Char): Integer;
  external 'GetDriveTypeW@kernel32.dll stdcall';

.
.
.
if GetDriveType('D:\') = 3 then





离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 4 发表于: 2014-05-06
离线zhfi

发帖
461
金钱
190
威望
19
只看该作者 5 发表于: 2014-05-07
佩服虎版,一直坚持到如今
人生若只如初见@@一轩果

MyMPC 2013(104210239)