⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 logicaldriver.cpp

📁 自动寻找可移动设备
💻 CPP
字号:
// LogicalDriver.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

typedef struct _MyDriverType{
	UINT type;
	TCHAR *Str;
}MyDriverType;

DWORD *save;

MyDriverType fuck[]={{DRIVE_UNKNOWN,	L"DRIVE_UNKNOWN"},
					{DRIVE_NO_ROOT_DIR,	L"DRIVE_NO_ROOT_DIR"},
					{DRIVE_REMOVABLE,	L"DRIVE_REMOVABLE"},
					{DRIVE_FIXED,		L"DRIVE_FIXED"},
					{DRIVE_REMOTE,		L"DRIVE_REMOTE"},
					{DRIVE_CDROM,		L"DRIVE_CDROM"},
					{DRIVE_RAMDISK,		L"DRIVE_RAMDISK"}
					};

#define ToFind DRIVE_REMOVABLE

unsigned int reDrives;
TCHAR buffer[] = L"A:\\";
TCHAR buffer_2[] = L"a:\\";
#define Flag (buffer_2[0])
char cTemp;
int i,k;

char fucking[] = "可移动设备自动寻找\nFlag\tType\n";

int _tmain(int argc, _TCHAR* argv[])
{
	save = new DWORD[32];
	reDrives = GetLogicalDrives ();
	
	printf ("%s", fucking);

	for(i=0; i<32; i++)
	{
		cTemp = 'A'+i;
		wsprintf (buffer, L"%c:\\", cTemp);
		if( ( (reDrives>>i) & 0x01 ) == 0x01)
			save[i] = GetDriveType (buffer);
		else
			save[i] = 0xff;
	}
	
	for(i=0; i<32; i++)
		if(save[i] != 0xff)
			wprintf (L"%c\t%s\n", 'A'+i, fuck[save[i]].Str);
	fputc ('\n', stdout);

	printf ("可移动设备是:");
	k = 0;
	for(i=0; i<32; i++)
		if(save[i] == ToFind)
		{
			printf (" %c", 'A'+i);
			k++;
		}
	if(k==0){
		printf ("不存在可移动设备\n");
		goto end;
	}else fputc ('\n', stdout);

	printf ("试图打开他们\n");
	for(i=0; i<32; i++)
		if(save[i] == ToFind)
		{
			Flag = 'A'+i;
			ShellExecute(NULL, L"explore", buffer_2, NULL, NULL, SW_SHOW);
			wprintf (L"%s\n", buffer_2);
		}
end:
	printf ("按任意键退出...");
	_getwch();
	delete  [] save;
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -