[python] Test vložení diskety pod windows-y

superman feed na centrum.cz
Středa Duben 23 00:45:33 CEST 2008


 >A mimochodem, jak byste to řešil Vy?

Uvědomil bych si, že přenositelně to napsat nejde a obalil bych si pár 
Win API funkcí buď sám pomocí Python C API, nebo bych použil modul win32.

Pomocí Win API funkce SetErrorMode(unsigned int mode) bych nastavil 
režim chyb, který bych chtěl pro svůj program.

Pomocí Win API funkce GetLogicalDrives(), nebo GetLogicalDriveStrings() 
bych zjistil, jaká písmena disků jsou k dispozici.

Win API funkce GetDriveType(string* adresar) mi umožní zjistit typ disku 
- zda je disk výměnný, nebo ne.

A konečně pomocí funkce GetDiskFreeSpace(...), nebo 
GetDiskFreeSpaceEx(...) bych se pokusil na daný výměnný disk sáhnout a 
tato funkce vrací informaci o chybě, ze které jde vyčíst zda se 
podařilo, případně proč ne (nejsou práva, disk není v mechanice, apod.). 
(Detailnější informace jsou přístupné pomocí GetLastError()).

Miloslav Ponkrác

 >Chudák pan Kosina, který byl ochotný to vyzkoušet, má evidentně ve 
svém xpsp2 zničeno veškeré upozorňování na vážné chyby".

Vzhledem k tomu, že takto snadno může přehlédnou upozornění na vážnou hw 
chybu například, takže může snadno přijít o data, aniž by dostal 
jakékoli varování. Stejně mu můžou náhle mizet programy (které by 
předtím normálně hlásily proč spadly), a další. A může klidně měsíc 
hledat problém, na který by byl dávno předtím upozorněn.

Miloslav Ponkrác



Další informace o konferenci Python