Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сменить метку диска [D6, WinXP]


seesm ©   (2007-02-06 14:26:00) 

Знаю что есть это
BOOL SetVolumeLabel(
   LPCTSTR lpRootPathName,     // адрес имени корневой директории тома
   LPCTSTR lpVolumeName        // метка тома
  );

как применить?

как S сменить на Q?
диск типа "DRIVE_REMOVABLE"


гостъ   (2007-02-06 17:14:00) [1]

Нуу... как-то так.


function SetMountPoint ( const strOldPoint, strNewPoint : String ) : Boolean;
var
 dwRet      : Cardinal;
 rgszDosDev : array [0..MAX_PATH - 1] of Char;
begin
 dwRet := QueryDosDevice ( PChar ( strOldPoint ), rgszDosDev, MAX_PATH );
 if ( dwRet = 0 ) then
   RaiseLastOSError;

 dwRet := Cardinal ( DefineDosDevice ( DDD_RAW_TARGET_PATH, PChar ( strNewPoint ), rgszDosDev ) );
 if ( dwRet = 0 ) then
   RaiseLastOSError;

 Result := dwRet <> 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 SetMountPoint ( 'Z:', 'J:' );
end;


Не совсем корректно, конечно, упрощенный вариант, но работать будет.
RTFM MSDN :)


seesm   (2007-02-06 14:42:00) [2]

Да SetVolumeLabel('S:\', 'Q') это работает, блин! Я не заметил.
Но это метка меняется. Сам лабел.
А мне, старому, надо букву менять. Понимаете, перемонтировать локальный диск на другую букву. Как, подскажие пожалста....
Kolan? DiamondShark?


DiamondShark   (2007-02-06 14:39:00) [3]

Что такое S и что такое Q?


Kolan   (2007-02-06 14:36:00) [4]

Не проверял но помоему все просто:
SetVolumeLabel('S:\', 'Q')


Наверх

Титульная страница Поиск, карта сайта Написать письмо