[C++] WinApi - Program dotyczący informacji o dyskach. Błędne informacje przy dysku z którego odpalam program.
Ostatnio zmodyfikowano 2016-01-03 21:54
aykax Temat założony przez niniejszego użytkownika |
[C++] WinApi - Program dotyczący informacji o dyskach. Błędne informacje przy dysku z którego odpalam program. » 2016-01-03 19:10:22 Mam problem z programem. Napisałam program który odczytuje informacje o dyskach i działa on poprawnie dla każdego dysku, pendrive itp. poza tym dyskiem z którego odpalam program. Dla przykładu na swoim laptopie miałam program na dysku C: więc czytał on info o wszystkich innych dyskach( E: i 2 pendrive) a gdy przeniosłam program na pendrive, podpięłam do komputera stacjonarnego i odpaliłam to czytał info z każdego dysku poza pendrivem. Ogólnie zastanawia mnie to, że czyta informacje o typie dysku, pamięci ale już nie o jego nazwie czy numerze seryjnym. Dodam dla wyjaśnienia, że nie czyta tylko informacji zawartych w funkcji GetVolumeInformation. (ale te funkcja działa dla innych dysków więc o co chodzi?!) GetVolumeInformation( ListItem, volumeNameBuffer, MAX_PATH, & volumeSerialNumber, & maximumComponentLength, & fileSystemFlags, fileSystemNameBuffer, MAX_PATH );
Podsumowując: Rozmiar i typ dysku działają dla każdego dysku, "Pozostałe informacje" działają tylko dla dysków z których nie jest aktualnie odpalany program. http://i.imgur.com/q67Sayc.pnghttp://i.imgur.com/xNJMhjm.png |
|
Monika90 |
» 2016-01-03 20:20:54 Sprawdź kod błędu za pomocą GetLastError() |
|
aykax Temat założony przez niniejszego użytkownika |
» 2016-01-03 20:40:38 Wyskakuje wiadomosć "Operacja ukonczona pomyslnie" |
|
Monika90 |
» 2016-01-03 21:06:44 GetLastError() należy wywołać zaraz po GetVolumeInformation. Sprawdź też wartość zwracaną z GetVolumeInformation, zero oznacza błąd, a nie-zero sukces. |
|
aykax Temat założony przez niniejszego użytkownika |
» 2016-01-03 21:39:10 http://i.imgur.com/8P1nh3W.png - widać zwracane wartości. |
|
aykax Temat założony przez niniejszego użytkownika |
» 2016-01-03 21:54:52 Problem rozwiązany. Jak wpisywałam wszystkie dyski w ścieżce "E:" to działało. Dla każdego prócz tego z którego odpalałam program. Ale ściezka w formacie "E:\\" już działa dla każdego dysku w tym C. Zamykam temat. GetLastError pomogło, dziękuje! |
|
« 1 » |