欢迎来到皮皮网网首页

【雷鸟645c源码输出】【rdp 源码分析】【sonic系统源码】c 取硬盘id源码

来源:学java看源码有用吗 时间:2024-12-28 17:32:54

1.c语言如何得到磁盘分区名称
2.authorware如何获取硬盘ID
3.C语言 获取硬盘物理号

c 取硬盘id源码

c语言如何得到磁盘分区名称

       ä»£ç å¦‚下,VS亲测,可以运行,给你注释的很清楚了,不懂的地方可以问我。

       #include <windows.h>

       #include <stdio.h>

       int main()

       {

        int DSLength = GetLogicalDriveStrings(0,硬盘源码雷鸟645c源码输出NULL);

        //通过GetLogicalDriveStrings()函数获取所有驱动器字符串信息长度。

        char* DStr = new char[DSLength];//用获取的长度在堆区创建一个c风格的字符串数组

        GetLogicalDriveStrings(DSLength,(LPTSTR)DStr);

        //通过GetLogicalDriveStrings将字符串信息复制到堆区数组中,其中保存了所有驱动器的信息。

        int DType;

        int si=0;

        for(int i=0;i<DSLength/4;++i)

        //为了显示每个驱动器的状态,则通过循环输出实现,由于DStr内部保存的数据是A:\NULLB:\NULLC:\NULL,这样的信息,所以DSLength/4可以获得具体大循环范围

        {

        char dir[3]={ DStr[si],':','\\'};

        //cout<<dir;

       DType = GetDriveType((LPCWSTR)DStr+i*4);

        //GetDriveType函数,可以获取驱动器类型,参数为驱动器的根目录

        if(DType == DRIVE_FIXED)

        {

        printf("%c",*dir);

        printf("硬盘\n");

        }

        si+=4;

       }

        system("pause");//

        return 1;

        }

authorware如何获取硬盘ID

       C++硬件编程中如下代码可以获得硬盘ID,你想想在你的这个多媒体开发软件能不能混合C++编程:include #include #include #include #include char *GetAscii(unsigned int inData[], int offStart, int offEnd);int main(void){ unsigned intdiskData[];/* Disk data*/unsigned intoffset;/* Disk data offset*/intloop;intnumDrv;/* Number of IDE hard drives*/union REGSregisters;unsigned intbiosCyl[2];/* Cylinders, Heads, Sectors */unsigned intbiosHead[2];unsigned intbiosSec [2];numDrv = peekb(0x, 0x);/* BIOS Data area, Number of Hard disks */for (loop = 0; loop < numDrv; loop++){ while (inp(0xf7) .= 0x);/* Wait for controller not busy*/outp(0xf6, (loop == 0 ? 0xa0 : 0xb0));/* Get first/second drive*/outp(0xf7, 0xec);/* Get drive info data*/while (inp(0x1f7) .= 0x);/* Wait for data ready*/for (offset = 0; offset .= ; offset++) /* Read "sector"*/diskData[offset] = inpw(0x1f0);/* Get BIOS drive info */registers.ah = 0x;/* Get drive info*/registers.dl = 0x + loop; /* Drive is H for Disk 0, H for Disk 1 */int(0x, ?isters, ?isters);if (.registers.cflag)/* All OK if carry not set */{ biosHead[loop] = registers.dh + 1;/* Heads are from 0 */biosSec[loop]= registers.cl & 0x3f;/* sec is bits 5 - 0 *//* +1 because starts from 0 and +1 for FDISK leaving one out */biosCyl[loop]= ((regi希望对你有帮助。

       è®°å¾—采纳啊

C语言 获取硬盘物理号

       èŽ·å–的大多数是磁盘序列号而已

       ç‰©ç†å·ä¸å®¹æ˜“获取

       å¯ä»¥å‚考下

       //

       å°±äºŽé€»è¾‘序列号而言

       æˆ‘把VB改写成C的,可以参考下:

       #include

       #include

       main()

       {

       DWORD

       VolumeSerialNumber;

       char

       VolumeName[];

       GetVolumeInformation(

       "c:\\

       ",

       VolumeName,,

       &VolumeSerialNumber,

       NULL,NULL,NULL,

       );

       printf("c盘的卷标:%s

       \n",VolumeName);

       printf("c盘的序列号:%ld

       \n",VolumeSerialNumber);

       }