我想写一个程序实现将一个网络目录用net use映射到本地磁盘,那么需要一个磁盘号,并且是当前未使用的,比如已经有了c d e 那么我就将网络目录映射到f盘,

解决方案 »

  1.   

    GetLogicalDrivesThe GetLogicalDrives function retrieves a bitmask representing the currently available disk drives.
    DWORD GetLogicalDrives(void);取得了已经使用的盘符,自己算哪个是未使用的最小盘符。
      

  2.   

    枚举所有磁盘驱动器的api和流程大致如下
    FindFirstVolume
    while(...)
    {
    FindNextVolume
    GetVolumeInformation
    }
      

  3.   

    DentistryDoctor 推荐的GetLogicalDrives 更简单,用他的
      

  4.   

    //参考(列举这台机器上的逻辑驱动盘符)
    #include <windows.h>
    #include <iostream.h>
    void main()
    {
    DWORD len;
    char *pBuffer = new char[100];
    len=GetLogicalDriveStrings(100,pBuffer);
    cout<<len<<'\n';
    cout<<"这台机器上的逻辑驱动盘符:\n";
    while(*pBuffer)
    {
    cout<<pBuffer<<endl;
    while(*pBuffer!='\0')pBuffer++;
    pBuffer++;
    }
    pBuffer-=len;
    delete []pBuffer;
    pBuffer=NULL;
    }