kravam
быдлокодер
1704 / 891 / 45
Регистрация: 04.06.2008
Сообщений: 5,521
|
|||||||||||
#1 | |||||||||||
предлагаю программу людям "альтернативное копирование файлов в проводнике" - C++10.07.2011, 23:39. Просмотров 2506. Ответов 44
Метки нет Все метки)
(
Суть: программа копирует файл, который передаётся ей параметром командной строки. То есть: в первую очередь программу следует сделать встроенной в проводник. Делается это так: здесь скачивается программа, которая добавляет в реестр нужные вам проги. Компилим мою прогу
//++++++++++++++++++++++++++++++++++++++++++++++ После все действия знакомы. Правой кнопкой на файл file.txt-> копирование как мне надо В папке появляется файл file_0.txt Повторяем действие, в папке появляется файл file_1.txt; повторяем ещё раз, имеем файл file_2.txt ...Так, а что будет, если сейчас мы скорпируем file_1.txt? Пробуем Правой кнопкой на файл file_1.txt-> копирование как мне надо Получаем file_3.txt! Предсказуемо! Корректно работает с русским языком и пробелами. ................................................................ Приложение консольное, поэтому появляется окошко и тут же исчезает, это легко убрать, я могу это сделать. В листинге закомментирована вся отладочная информация, кому не нужна, уберите, кто решит поковыряться, скажите, я сам уберу- без неё прога много симпатичнеей, но она может пригодиться, вот в чём дело. Кто будет пользоваться, все ошибки сюда!! Бум исправлять!! Тестировано на XP home потому, что мне надоело копировать файлы по их варианту с "копия". Короче, на вкус и цвет, что называется.
![]()
1
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
10.07.2011, 23:39 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос предлагаю программу людям "альтернативное копирование файлов в проводнике" (C++):
44
предлагаю людям класс "каждому потоку- своё окно" для тестирования многопоточных приложений. - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: "Рабочий день","Суббота" или "Воскресенье" - C++
|
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
|
|
10.07.2011, 23:43 | #3 |
если бы шаблон получаемых имен можно было бы задать самому, тогда еще ладно. ну а так... шило на мыло.
0
|
asics
|
10.07.2011, 23:47
#7
|
Не по теме: Не сочти за личную обиду, просто оно так и есть.
4
|
kravam
быдлокодер
1704 / 891 / 45
Регистрация: 04.06.2008
Сообщений: 5,521
|
|||||||||||
10.07.2011, 23:58 [ТС] | #8 | ||||||||||
Ну я с тобой папоротник соглашусь, но может тебе вдруг удобнее мой вариант, нежели стандартный, ты подумай всё же. Смотри, при стандартном многократном копировании получаешь:
Добавлено через 3 минуты schdub, объясняю. Если прогу запустить, как я предлагаю, то у неё будет параметр- имя файла на который ты ткнул правой кнопкой мыши (для того и писалась, а не чтобы запускать из консоли). То есть наверное, я неправильно выразился, но ты меня простишь ведь? Добавлено через 3 минуты можно, согласен. Тут можно ЛЮБОЙ буфер переполнить при желании, у всех ограниченные размеры. Но обрати внимание, я расчитываю, что чел, дающий файлам имена, заранее согласен с ограничениями, которые накладывает на них система. А это ограничение есть длина MAX_PATH. Если чел хочет получить имя длинее, то и программа не сработает и ось тупо не даст. Так что незачем даже и пытаться.
0
|
schdub
|
|
11.07.2011, 00:10 | #9 |
Ну это ведь критическая уязвимость в безопасности, с возможностью выполнения шелл-кода - такую программу низа что не поставлю себе в систему, даже ради тебя kravam,
![]() А вот и зря, ведь программу можно запустить с аргументами командной строки: Код
ra.exe АА(более MAX_PATH)
0
|
kravam
быдлокодер
1704 / 891 / 45
Регистрация: 04.06.2008
Сообщений: 5,521
|
|||||||||||
11.07.2011, 00:33 [ТС] | #10 | ||||||||||
Хорош слова разные говорить умные. Шелл да ещё и код.
Если ось разрешает создавать файлы длиной x байтов. а у чела в наличии файл с именем x-1 байт- то да ось, ругнётся. Точно так же, как она ругнулась бы на стандартное копирование. И всех страхов-то. Всё! А говорить разные слова- в надежде, что люди, дабы не выглядеть глупыми, с тобой согласятся, нехорошо как-то. Прога сделает то, для чего она нужна и новый процесс не создаст, хоть какой там код будет. Добавлено через 12 минут
Последняя делится на две части: собственно команда и имя файла, который необходимо копировать. Имя последнего, замечу КОРРЕКТНОЕ в смысле длины (иначе его просто бы не существовало) эта функция и запихивает в буфер СООТВЕТСВУЮЩЕЙ ДЛИНЫ Говорить, что, можно переполнить буфер... В общем, чел не удосужился глянуть код. Попал пальцем в небо
0
|
schdub
|
|
11.07.2011, 00:36 | #11 |
Ну попробуйте запустить программу с
аргументом
Код
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaAA Output
Код
Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x7c92a82c" в "console.exe": 0xC00000FD: Stack overflow. Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Первый этап обработки исключения в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". Необработанное исключение в "0x41414141" в "console.exe": 0xC0000005: Нарушение прав доступа при чтении "0x41414141". кста еще: Код
Run-Time Check Failure #2 - Stack around the variable 'poln_ima_bez_rash_i_bez__chislo' was corrupted.
0
|
kravam
быдлокодер
1704 / 891 / 45
Регистрация: 04.06.2008
Сообщений: 5,521
|
|
11.07.2011, 00:41 [ТС] | #12 |
schdub, можно много чего сделать. Можно тупо ударить комп об пол. Так может лучше не иметь комп?
Добавлено через 4 минуты Я первый раз вижу такого человека, ему говорят: надо сделать так, а он мне говорит, я сделаю по-другому и будет плохо. Так если ты сделаешь по-другому и будет плохо, кто дурак-то? ![]()
0
|
asics
Freelance
![]() 2853 / 1788 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
|
|
11.07.2011, 00:43 | #13 |
![]()
4
|
voral
550 / 534 / 95
Регистрация: 16.03.2008
Сообщений: 2,474
|
|
11.07.2011, 00:44 | #14 |
Хех. Еще когда был виндопользователем во всю пользовался замечательным плагином к FAR. Дающим всю мощь регулярных выражений как в поиске файлов, в переименованиии, а так же в редактировании.....
0
|
alex_x_x
бжни
2454 / 1659 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
11.07.2011, 00:44 | #15 |
![]()
kravam, печально низкий уровень аргументации при сильно грязных выпадах
и вы не правы
4
|
11.07.2011, 00:44 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
11.07.2011, 00:44 |
Привет! Вот еще темы с ответами:
15
Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++ Предлагаю людям класс для написания специфических снимков системы - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |