Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[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
Autor Wiadomość
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?!)

C/C++
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.png
http://i.imgur.com/xNJMhjm.png
P-142796
Monika90
» 2016-01-03 20:20:54
Sprawdź kod błędu za pomocą GetLastError()
P-142801
aykax
Temat założony przez niniejszego użytkownika
» 2016-01-03 20:40:38
Wyskakuje wiadomosć "Operacja ukonczona pomyslnie"
P-142808
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.
P-142813
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.
P-142822
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!
P-142823
« 1 »
  Strona 1 z 1