Вверх ↑
Этот топик читают: Гость
Ответов: 216
Рейтинг: -4
#16: 2012-01-17 02:22:14 ЛС | профиль | цитата
nesco, вот ссылка http://forum.sources.ru/index.php?showtopic=282970&hl= только он на c++ в самом конце
карма: 0

0
Разработчик
Ответов: 26161
Рейтинг: 2127
#17: 2012-01-17 08:54:23 ЛС | профиль | цитата
mestnyi писал(а):
вот ссылка

Знаю я этот код, есть он у меня, но тебя не устроит, тк не совпадает с тем, что написано в менеджере по номеру, по крайней мере, в Win7



Add(MainForm,2953706,126,70)
{
}
Add(InlineCode,605968,210,133)
{
WorkPoints=#11:doGetNumber|
EventPoints=#11:onGetNumber|
DataPoints=#4:Disk|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|32:uses Windows, Kol, Share, Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|10: Disk,|28: onGetNumber: THI_Event;|56: procedure doGetNumber(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|34:procedure THiAsmClass.doGetNumber;|3:var|14: Dsk: string;|2: |35: procedure GetDeviceList(D: Char);|5: var|18: Root: string; |24: DeviceName: string; |18: Drives: DWORD;|17: len: integer;|7: begin|33: Drives := GetLogicalDrives();|17: Root := 'A:';|24: while Drives <> 0 do|10: begin |52: if ((Drives and 1) = 1) and (Root[1] = D) then|12: begin |36: SetLength(DeviceName, 256); |61: len := QueryDosDevice(@Root[1], @DeviceName[1], 256);|24: if len <> 0 then|14: begin |37: SetLength(DeviceName, len);|53: _hi_onEvent(onGetNumber, Trim(DeviceName));|16: break;|14: end; |10: end;|20: inc(Root[1]); |31: Drives:= Drives shr (1); |12: end; |4:end;|5:begin|33: dsk := ReadString(_Data, Disk);|24: GetDeviceList(dsk[1]);|4:end;|0:|4:end.|
link(onGetNumber,14662440:doText,[])
link(Disk,6720202:Text,[])
}
Add(Edit,6720202,210,70)
{
Left=35
Top=10
Width=130
Cursor=1
Text="C"
}
Add(Button,12612004,126,133)
{
Left=75
Top=40
TabOrder=-1
link(onClick,605968:doGetNumber,[])
}
Add(Edit,14662440,280,133)
{
Left=35
Top=70
Width=245
Cursor=1
Text=""
}

карма: 22

0
Ответов: 16884
Рейтинг: 1239
#18: 2012-01-17 12:20:17 ЛС | профиль | цитата
Можно и упростить.
То же, но попроще.
code_26555.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_26555.txt [1KB] [155]
Разработчик
Ответов: 26161
Рейтинг: 2127
#19: 2012-01-17 12:25:09 ЛС | профиль | цитата
Tad писал(а):
Можно и упростить

Я не стал упрощать только потому, что быстро прицепил готовый блок, который уже был немнго для других целей, а не писал с нуля
карма: 22

0
Ответов: 216
Рейтинг: -4
#20: 2012-01-18 01:05:21 ЛС | профиль | цитата
nesco, ты прав он не подходить посмотри этот код если не трудно code_26561.txt взял отсюда http://www.kansoftware.ru/?tid=5278
карма: 0

0
файлы: 1code_26561.txt [2.6KB] [112]
Разработчик
Ответов: 26161
Рейтинг: 2127
#21: 2012-01-18 01:14:42 ЛС | профиль | цитата
mestnyi писал(а):
посмотри этот код если не трудно

Посмотрел, используется та же функция, что и у нас -- QueryDosDevice и возня вокруг '\Device\HarddiskVolume', получим то же самое. К тому же, этот код выдает тип драйвера, а не номер логического диска
карма: 22

0
Ответов: 216
Рейтинг: -4
#22: 2012-01-18 02:17:49 ЛС | профиль | цитата
nesco, вот ещё http://stackoverflow.com/questions/327718/how-to-list-physical-disks
карма: 0

0
Разработчик
Ответов: 26161
Рейтинг: 2127
#23: 2012-01-18 02:50:00 ЛС | профиль | цитата
mestnyi писал(а):
вот ещё

А откуда ты вот это брать будешь -- \?Volume{c4ee0265-bada-11dd-9cd5-806e6f6e6963}, к примеру
------------ Дoбавленo в 02.50:
Короче, получается то же самое



Add(MainForm,2229537,175,140)
{
}
Add(InlineCode,605968,259,203)
{
WorkPoints=#11:doGetNumber|
EventPoints=#11:onGetNumber|
DataPoints=#4:Disk|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|32:uses Windows, Kol, Share, Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|10: Disk,|28: onGetNumber: THI_Event;|56: procedure doGetNumber(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|34:procedure THiAsmClass.doGetNumber;|3:var|14: Dsk: string;|2: |65: function VolumeNameToDeviceName(const VolName: String): String;|5: var|14: s: String;|47: TargetPath: Array[0..MAX_PATH] of WideChar;|7: begin|17: Result := ';|17: s := VolName;|80: if QueryDosDeviceW(PWideChar(WideString(s)), TargetPath, MAX_PATH) <> 0 then|27: Result := TargetPath;|6: end;|5:begin|33: dsk := ReadString(_Data, Disk);|56: _hi_onEvent(onGetNumber, VolumeNameToDeviceName(dsk));|4:end;|0:|4:end.|
link(onGetNumber,14662440:doText,[])
link(Disk,6720202:Text,[])
}
Add(Edit,6720202,259,140)
{
Left=35
Top=10
Width=130
Cursor=1
Text="C:"
}
Add(Button,12612004,175,203)
{
Left=75
Top=40
TabOrder=-1
link(onClick,605968:doGetNumber,[])
}
Add(Edit,14662440,329,203)
{
Left=35
Top=70
Width=245
Cursor=1
Text=""
}

карма: 22

0
Ответов: 216
Рейтинг: -4
#24: 2012-01-26 21:42:34 ЛС | профиль | цитата
[b]nesco[/b],всем привет, такс вот нашел я три команды для командной строки в которых вся нужная мне инфа о дисках отображаеться ,
wmic path Win32_DiskDrive get InterfaceType,Size,Index,Name,Model,Signature,MediaType /format:listwmic path Win32_LogicalDisk get Caption,DeviceID,Name,Size,FileSystem,Description,DriveType,MediaType,VolumeName /format:list  
wmic path Win32_LogicalDiskToPartition get EndingAddress,antecedent,dependent,StartingAddress /format:list
, из этого что нибудь получиться у нас ?
карма: 0

0
файлы: 1code_26653.txt [338B] [86]
Ответов: 3889
Рейтинг: 362
#25: 2012-01-26 21:59:57 ЛС | профиль | цитата
mestnyi писал(а):
из этого что нибудь получиться у нас ?

У Вас - получится, дерзайте.
карма: 1

0
Ответов: 216
Рейтинг: -4
#26: 2012-01-26 22:02:28 ЛС | профиль | цитата
1nd1g0, помогать не бывает что ли?
карма: 0

0
Разработчик
Ответов: 26161
Рейтинг: 2127
#27: 2012-01-26 22:07:54 ЛС | профиль | цитата
mestnyi писал(а):
из этого что нибудь получиться у нас ?

Понятия не имею. Пробуй мучить через WinExec
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#28: 2012-01-28 15:10:40 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-06 12:09:09
карма: 0

0
Разработчик
Ответов: 26161
Рейтинг: 2127
#29: 2012-01-28 16:27:25 ЛС | профиль | цитата
46.16.229.18 писал(а):
вот здесь вроде бы то что надо посмотри если не трудно

Извини, но я не знаю C

У нас тут еще ребята есть -- Assasin, Ivann может они помогут
карма: 22

0
Ответов: 3889
Рейтинг: 362
#30: 2012-01-28 16:50:17 ЛС | профиль | цитата
nesco,там утилита извлечения флешек на C#. Что-то ТС много всего хочет и ничего конкретно. Сказал бы сразу "шпионю за флешками".
карма: 1

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)