|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.11.2011, 14:17 | #21 |
Пользователь
Регистрация: 01.11.2011
Сообщений: 13
|
Или чего-то не так или я не догоняю. Из функции
Код:
Код:
Вы действительно хотите удалить " "? и количество файлов 66 Что я не так делаю? |
14.11.2011, 15:09 | #22 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
28 это шестнадцатеричная система. Получение имени первого файла вроде как все верно, адрес массива находится (он понадобится если объектов удаления более одного) по смещению в 8 байт назад от начала строки имени файла. Ну и не забывайте, что строки в юникоде.
int xSplorer = *(int*)lParam; int addr_first_name = *(int*) xSplorer[0x4]; int count_file = *(int)xSplorer[0x28]; int mass_name = *(int*)addr_first_name[-0x8]; int c = 1; while (c != 0) { //в массиве имен сейчас указатель на первое\последующее имя c = lstrlenW(mass_name); mass_name = mass_name+c+2; }; принципиально как то так.
Нет, ну правда..
|
15.11.2011, 17:45 | #23 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
Вот, испробуйте небольшой семпл. Инжектор подключает библиотеку к эксплореру из корня диска С: или же инжектте вручную. Выводит список удаляемых объектов по очереди в МсгБокс и запрещает удаление если в диалоговом окне нажата кнопка "Да". В ХР работает.
Нет, ну правда..
|
08.12.2011, 14:11 | #24 |
Пользователь
Регистрация: 01.11.2011
Сообщений: 13
|
Блин, задолбали своими командировками! Спокойно попрограммировать не дают!
Да, все работает. Только как это сделано? У меня полчается отлавливать удаление и распознавать папку, файл или группу файлов, но с именем файла никак. Последний раз редактировалось Fanliss; 08.12.2011 в 14:47. |
08.12.2011, 14:41 | #25 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
Давайте icq, попробую объяснить, а то мы тут долго разбираться будем. Архив не битый.
Нет, ну правда..
|
09.12.2011, 09:01 | #26 |
Пользователь
Регистрация: 01.11.2011
Сообщений: 13
|
аська 259721159
блин, я просто походу не знаю как вот это на паскале записать int xSplorer = *(int*)lParam; int addr_first_name = *(int*) xSplorer[0x4]; int count_file = *(int)xSplorer[0x28]; int mass_name = *(int*)addr_first_name[-0x8]; хотя со смещение 28h у меня все норм и количество файлов отображается нормально. с массивом я не пробовал, в нем пока нет необходимости, а вот имя файла/папки не получается Последний раз редактировалось Fanliss; 09.12.2011 в 10:59. |
09.12.2011, 22:06 | #27 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
У вас кошку как звать? Или отключите антиспам.
Нет, ну правда..
|
13.12.2011, 09:44 | #28 |
Пользователь
Регистрация: 01.11.2011
Сообщений: 13
|
я на работе-то отключил антиспам. Дома не догадался Я работаю с 8 до 17 по московскому.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Отмена удаления в Windows | artemavd | Общие вопросы Delphi | 8 | 30.11.2010 13:43 |
Защита файлов от удаления (assembler) | Omega1 | Помощь студентам | 16 | 17.11.2010 16:14 |
Программа для удаления файлов | 1malder1 | Софт | 10 | 29.05.2010 15:38 |
Защита файлов от удаления | Viteef | Свободное общение | 5 | 15.06.2007 22:44 |
Защита файлов от удаления | Viteef | Общие вопросы Delphi | 10 | 02.06.2007 07:40 |