Эй хэй, ребят, нид хелпа с апи функциями. Пердолюсь уже пару дней, все никак не могу сделать. Нужно с помощью GetVolumeInformation определить метку диска C:\ Функцию задекларировал, но вот как вытащить метку - хз. Хелпаните кто может. Я сам не прогер нихуя. Просто пытаюсь чем-то себя занять. Моя телега если че - @jefflebowski
Возьми другой язык, например хаскелл. >Your father's Haskell. This is the weapon of a Working Mathematician. Not as clumsy or random as Scala. An elegant weapon... for a more civilized age.
>>855492 (OP) Никогда не писал на WinAPI, тем более на бейсике. Вот, попробовал запилить нужную тебе хрень. Это FreeBasic. Под Wine'ом у меня это компилируется, но ничего не печатает. Возможно, это из-за Wine, либо я где-то накосячил. http://pastebin.com/ztK57p6G
>>855589 Братишка, я бы тебе отлил канистру нефти за то что ты пытался) но у меня это ваще нихера не работает(. А так спасибо тебе:) Буду дальше пытаться сделать
>>855604 Ну, ясное дело, что конкретно этот код у тебя не запустится, т.к. он для другого бейсика. Ты просто пойми сам принцип, что функции GetVolumeInformation надо передать ссылку на буфер, в который будет записана метка диска. А вообще, лучше покажи свой код.
>>855610 я кароч нашел похожую тему, только оно выбивало серийник диска, а я хочу переделать чтобы оно показывало метку раздела. вот сижу читаю разное чтиво по апи функциям, но мало что вдупляю тк особо этим не занимался. так что с этого недокода особо не смейся)
>>855628 Тебе нужны только первые три аргумента. Остальное можно смело занулять. Попробуй переписать функцию так. Вызов тоже отредактируй, как в 8 строке. http://pastebin.com/nSicmq6g
>>855652 Мне кажется, ошибка может быть либо при возрате значения из функции (5 строка), либо при передаче значения в функцию. Попробуй в 4 строке заменить rootPathName на Nothing. Если не поможет, то ставь брейкпоинт на строке "GetVolumeNameBuffer = volName" и запускай под отладчиком, чтобы увидеть, какое значение хранится в volName.
>>855664 Ага, у тебя после вызова GetVolumeInformation в стоке volName одни нули почему-то. Во второй строке, где ты объявляешь внешнюю функцию, проверь, чтобы перед вторым параметром стояло byRef.
Пердолюсь уже пару дней, все никак не могу сделать.
Нужно с помощью GetVolumeInformation определить метку диска C:\
Функцию задекларировал, но вот как вытащить метку - хз. Хелпаните кто может.
Я сам не прогер нихуя. Просто пытаюсь чем-то себя занять.
Моя телега если че - @jefflebowski