Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Win API

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Win API
Имя
Сообщение << Старые топики   Новые топики >>
Win API - 2004-06-07 10:41:51   
HiM Corporation

Сообщений: 318
Оценки: 0
Присоединился: 2004-06-07 10:35:05
В Win API есть такая функция SHFormat Список параметров не подскажете? Для Дельфей 7. А то пАрят постоянные мессаги: "Данные будут уничтожены…", "Форматирование завершено" и т.д. Каждый раз жать ОК и Да надоедает…
Честное слово, исключительно в мирных целях!!!
Post #: 1
Win API - 2004-06-10 00:47:58   
Yanis

Сообщений: 63
Оценки: 0
Присоединился: 2004-04-19 00:32:13
Может я торможу :/ Я даже на msdn такой функции не нашел!
Post #: 2
Win API - 2004-06-10 08:24:52   
HiM Corporation

Сообщений: 318
Оценки: 0
Присоединился: 2004-06-07 10:35:05
Сорри, полное имя функции SHFormatDrive. Вызывает стандартное окно форматирования диска. Уже нашёл. Параметров (документированных) нет. Может какие недокументированные есть? В поиске онных, к сожалению, я не силён.
Post #: 3
Win API - 2004-06-17 23:06:39   
SomewhereSomehow

Сообщений: 66
Оценки: 0
Присоединился: 2004-06-17 22:15:49
Интересно если в мирных целях то тебе придется ставить хук и перехватывать ее вызов заменив ее своей функцией. =) А вот описание ее параметров (неужели в мсдн нет????) :
Функция SHFormatDrive.
Открывает стандартное диалоговое окно форматирования диска.
DWORD SHFormatDrive(
HWND hwnd,
UINT drive,
UINT fmtID,
UINT options
);
Параметры
hwnd
хэндл родительского окна диалога. Диалог обязательно должен иметь родительское окно, поэтому нельзя в этом параметре указывать null.
drive
номер диска, который мы хотим отформатировать. 0 для A: , 1 для B: , 2 для С: и т.д.
fmtID
ID физического формата.
SHFMT_ID_DEFAULT
ID формата поумолчанию.
options
Параметры форматирования, которые можно передать в диалоговое окошко.
SHFMT_OPT_FULL
Полное форматирование (для диска, который ещё ни разу не форматировался). Поумолчанию "Быстрое форматирование."
SHFMT_OPT_SYSONLY
Форматирование с созданием системного диска.
Возвращаемое значение
Возвращает значение DWORD приведённое в таблице, либо fmtID последнего удачного форматирования.
SHFMT_ERROR В процессе форматирования возникла ошибка.
SHFMT_CANCEL Форматирование было отменено.
SHFMT_NOFORMAT Диск не удалось отформатировать.
Post #: 4
Win API - 2004-06-18 19:37:44   
_eugrus

Сообщений: 174
Оценки: 0
Присоединился: 2004-05-04 15:44:59
если тебе не нужно окошко то не легче будет сделать

char drive;
system("format %s:", drive); ???

а ты же на делфях пишешь!
ну тогда

WinExec('format a:');


Зачем задачи усложнять?
Post #: 5
Win API - 2004-06-18 20:21:55   
SomewhereSomehow

Сообщений: 66
Оценки: 0
Присоединился: 2004-06-17 22:15:49
Хм…а он в таком случае разве не должен выдать нажмите йес\ноу чтобы начать и т.д. ведь человеку как раз и нужно чтоб без этих сообщений было, а ты просто предлагаешь из своей программы запустить стандартную утилю формат.
Post #: 6
Win API - 2004-07-12 12:44:04   
HiM Corporation

Сообщений: 318
Оценки: 0
Присоединился: 2004-06-07 10:35:05
Спасибо SomewhereSomehow! Это то, что нужно. А чтобы окна не появлялись, их убиваем через SendMessage. Точнее, посылаем этим окна сообщения о нажатии на них нужной кнопки (в данном случае 'OK' и 'Yes'). Других путей по-моему нет - обыскал всё и всех :). Либо что-нить мутить на asm……
Post #: 7
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Win API







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.