|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 3, 2003 17:00:02 Пишу прогу и она должна сама себя перезапустить после отработки N раз. N - задаю в камандной строке. Пробовал зацыклить на N раз вызов функции .WHILE (count!=0) invoke WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULT dec count ... но пошли какието непонятки :( Вопрос а вообще как можно решить эту задачу? Если можно пример кода :) |
|
|
Дата: Июн 3, 2003 17:15:49 · Поправил: Edmond Аноним Чесное слово я не понимаю слово "Перезапустить" и в контексте .WHILE (count!=0) invoke WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULT dec count Не хочу даже думать, что происходит при повторном вызове WinMain! Перезапуск программы это тоже самое, что и запуск например CreateProcess(). Вопрос а вообще как можно решить эту задачу? Если можно пример кода :) Вопрос не ясен :( Какую задачу именно следует решить? |
|
|
Дата: Июн 3, 2003 17:19:28 То есть для чего программа должна перезапускаться? |
|
|
Дата: Июн 3, 2003 17:24:16 Программа чистит свободное место на винте. Создается много файлов до тех пор пока дискового пространства почти на остается. Хочу чтобы чистка проходила в несколько проходов, поэтому как только потерлись файлы заполнения от N-го запуска хочу перезапустить всю прогу на N+1-е затирание диска ... |
|
|
Дата: Июн 3, 2003 17:36:05 Аноним Не могу понять, а для чего перезапускать ВСЮ программу, почему просто неповторить процесс чистки? |
|
|
Дата: Июн 3, 2003 17:41:12 ... ну писал я писал программу для одноразовой чистки а потом пообщался с умными людьми а они говорят что чистить надо как минимум 7 раз. Ну думаю а может просто перезапустить ее 7 раз . Попробовал не вышло . Ну и спросил как написать программу которая вызывает свою основную процедуру N раз :) |
|
|
Дата: Июн 3, 2003 17:45:20 Я вот не понимаю зачем создавать много файлов? Чем это отличается от создания одного большого файла? Если ты хочешь при этом затереть старые элементы каталогов, соответствующие удаленным файлам, то у тебя ничего не выйдет, так как пока место есть винда скорее всего будет увеличивать размер каталога, а когда место закончится, то файл создать просто не получится, а старые элементы так и останутся. |
|
|
Дата: Июн 3, 2003 17:52:12 ... Ну как затереть имена каталогов я еще не думал. Вероятно Вы правы. Я пока "перезапуститься" не знаю как ... :) |
|
|
Дата: Июн 3, 2003 17:53:03 Аноним Уууууужааассс.. Если вы её сами написали. А, ну так хорошо, давайте сделаем вам .WHILE (count!=0) invoke WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAU Это можно. Но для начала, ВЫ ДОЛЖНЫ быть уверены, что переменные в вашей программе находятся в нужных состояниях. Уверен, это не так!!! В конце концов я бы мог посоветовать такой выход. Допишите в конец кода CreateProcess и передайте в параметрах процесса число оставшихся запусков. По моему это оригинальное решение :))) |
|
|
Дата: Июн 3, 2003 18:03:35 ... попрошу Edmond-а не удивляться моим "гениальным" решениям :) я еще и не такое могу :))) Уточню теперь: если имя моей проги например 123.exe я в конце просто вызываю CreateProcess () с именем 123.exe ? то есть с именем самой себя ? ... <:} |
|
|
Дата: Июн 3, 2003 18:11:40 Аноним попрошу Edmond-а не удивляться моим "гениальным" решениям :) Да, я вообщем понял причину такового :) Уточню теперь: если имя моей проги например 123.exe я в конце просто вызываю CreateProcess () с именем 123.exe ? то есть с именем самой себя ? ... <:} Угу. |
|
|
Дата: Июн 3, 2003 18:16:58 Спасибо !!!!!!! Радуюсь щенячей РАДОСТЬЮ :))) |
|
|
Дата: Июн 3, 2003 18:26:05 Аноним А и не забудте в командной строке (то есть прямо в строке с именем программы указать оставшееся число запусков) |
|
|
Дата: Июн 3, 2003 18:31:21 ... ну а ка-а-а-ак же !!!! теперь если в ком строке число запусков ==0 то вообще не работаем . Нифиговинькая рекурсия получается УУУРРРААА!!!! |
|
|
Дата: Июн 3, 2003 18:55:26 Все тело WinMain надо запихнуть в другую процедуру - CUТ/PASТЕ, а в WinMain теперь сделать LOOP и внутри вызвать новую процедуру столько раз сколько надо. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.951 |