Mai friss fejjel átnézve a tegnapi kódomat, kijavítva most már tökéletes a meghajtó listázás. Már csak a fájlok listázását kell megoldani, amihez köszönöm szépen a linkeket!
Végleges meghajtó listázó kód:
#include <stdio.h>
unsigned char GetDefaultDrive()
{
static unsigned char r;
__asm
{
xor ax, ax
mov ah, 19h
int 21h
mov r, al
}
return r;
}
void SetDefaultDrive(unsigned char drive)
{
__asm
{
xor ax, ax
xor dx, dx
mov ah, 0Eh
mov dl, drive
int 21h
}
}
int main(int argc, char * argv[])
{
unsigned int i;
unsigned char defDrive = GetDefaultDrive();
for (i=0;i<26;i++)
{
SetDefaultDrive(i);
if (GetDefaultDrive() == i) printf ("%c:\r\n", 65+i);
}
SetDefaultDrive(defDrive);
return 0;
}