Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 509
от 23.03.2003, 17:30

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 2823
Отправлено ответов: 8387
Активность: 297.0 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Maverick
Статус: Профессиональный
Общий рейтинг: 137.05
URL: Задачи по ассемблеру
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 150.44
URL: Программирование
[Подробней >>]
masquer
Статус: Профессиональный
Общий рейтинг: 143.43
[Подробней >>]
 
Joy
Статус: Опытный
Общий рейтинг: 129.88
[Подробней >>]
Eugene
Статус: Опытный
Общий рейтинг: 109.03
URL: мощный файловый архив
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 108.01
URL: Страничка обо мне и моих друзьях
Телефон: +7 902 168 02 65
[Подробней >>]
 
VicSimon
Статус: Доверительный
Общий рейтинг: 103.32
[Подробней >>]
akul
Статус: Опытный
Общий рейтинг: 118.15
Телефон: +6019-6416245
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 118.37
[Подробней >>]
 
DiGiT[old]
Статус: Профессиональный
Общий рейтинг: 110.85
[Подробней >>]
WNA
Статус: Начальный
Общий рейтинг: 107.89
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 2787. Здравствуйте, эксперты! Скажите, pls, как создать образ жесткого диска? Я думаю, что нужно посекторн... (ответов: 2)
Вопрос № 2788. Уважаемые эсперты, не подскажете ли мне, почему DLL при инициализации (в Win2000 и с помощью WinExec... (ответов: 2)
Вопрос № 2789. Здравствуйте, уважаемые эксперты. Вы уж меня простите за вопрос не совсем по АСМУ. Но приспичило. Ма... (ответов: 1)
Вопрос № 2790. Бодрое время суток! Я по поводу шрифта. Спасибо всем ответившим. А какая связь(может формулы какие-т... (ответов: 2)
Вопрос № 2791. К вопросу #2788. Уважаемые эксперты, очевидно Вы меня не так поняли. Скорее всего я неправильно или ... (ответов: 2)
Вопрос № 2792. Здравствуйте эксперты! Заказали утилиту для криптовки PE-файлов, в качестве ключа, для шифрования/де... (ответов: 1)
Вопрос № 2793. Здравствуйте, уважаемые эксперты... Я смотрю - вы часто упоминаете MSDN, а нельзя ли его одним архив... (ответов: 6)
Вопрос № 2794. Кто-нибудь знает ссылку, по которой можно скачать TASM32 и NASM32. Если не трудно отзовитесь. Очень ... (ответов: 2)
Вопрос № 2795. Здравствуйте, эксперты! Не подскажите ли линки или киньте на мыло исходники BIOS с комментариями (мо... (ответов: 1)
Вопрос № 2796. Hi, All! Не подскажет ли кто-нибудь, что делает функция kernel32 - RtlUnwind (только достаточно подр... (ответов: 1)
Вопрос № 2797. Здравствуйте ув-мые эксперты! У меня программа выводит время, но при выводе изображение мигает. Подс... (ответов: 4)
Вопрос № 2798. Всем привет! Возможно ли удалить собственный exe-шник? Хотя бы при завершении. Напрямую пробовал - н... (ответов: 6)

Вопросов: 12, ответов: 30


 Вопрос № 2787

Здравствуйте, эксперты!
Скажите, pls, как создать образ жесткого диска?
Я думаю, что нужно посекторно его скопировать, чтобы Boot сектор и содержимое винта были в одном файле - файле образа жесткого диска. А потом при восстановлении нужно также файл образа посекторно скопировать на винт. Прав ли я?



Вопрос отправлен: 17.03.2003, 02:35
Отправитель: Эдуард (ed666@rol.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Добрый день, Эдуард!
Ну да, вобщем правильно, только эксперементируй с дискетой вначале, и проще и безопасней.
Только тебе не надо туда копировать пустые и bad(пытаться) сектора, а то файл образа 40 гигового диска будет занимать у тебя...догадался?


Ответ отправлен: 18.03.2003, 05:33
Отправитель: Maverick


Отвечает Bob Johnson

Доброе время суток, Эдуард!
Существуют программы, которые позволяют делать образы - например, winimage или norton ghost. В принципе, они так и делают - в самом простом случае посекторно считывают весь жесткий диск (или логический диск) и записывают это в файл на другое устройство.


Ответ отправлен: 17.03.2003, 23:48
Отправитель: Bob Johnson


 Вопрос № 2788

Уважаемые эсперты, не подскажете ли мне, почему DLL при инициализации (в Win2000 и с помощью WinExec по крайней мере) не может запустить другой процесс. Код тупой:
start:
; тут WinExec с какими параметрами не вызывай -- не грузит,зараза!!!
ret 0Ch
DLL грузится процессом с правами local system



Вопрос отправлен: 17.03.2003, 13:10
Отправитель: Ingrem

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Приветствую Вас, Ingrem!
1. Это код где? Судя по всему в экзе... Непонятно тогда, к чему вопрос.
2. Вместо WinExec лучше CreateProcess использовать.
3. Если код будет в DllEntry то все должно работать.
4. Как библиотека вызывается?
Куча вопросов... Как ты ответ получить хочешь?
Судя по всему до WinExec управление не доходит. Почему? Смотри вопросы выше.

Ответ отправлен: 17.03.2003, 14:21
Отправитель: masquer


Отвечает Bob Johnson

Здравствуйте, Ingrem!
Знаешь, вообще-то в MSDN сказано, что при инициализации DLL должна только выполнять простые операции и не вызывать функций вроде LoadLibrary, т.к. может сформироваться кольцевая зависимость и это будет плохо. Соответственно, вероятно поэтому не получается и создать процесс. Но, на всякий случай, попробуй отказаться от WinExec, т.к. эта функция устарела и попробовать CreateProcess. Да, еще у DLL главная функция называется не start, а DllMain и она воспринимает 3 параметра.
Warning On attach, the body of your DLL entry-point function should perform only simple initialization tasks, such as setting up thread local storage (TLS), creating objects, and opening files. You must not call LoadLibrary in the entry-point function, because you may create dependency loops in the DLL load order. This can result in a DLL being used before the system has executed its initialization code. Similarly, you must not call the FreeLibrary function in the entry-point function on detach, because this can result in a DLL being used after the system has executed its termination code.


Ответ отправлен: 17.03.2003, 23:48
Отправитель: Bob Johnson


 Вопрос № 2789

Здравствуйте, уважаемые эксперты.
Вы уж меня простите за вопрос не совсем по АСМУ. Но приспичило. Мастдай ХР. Фасм 1.45 не понимает %include%, хотя другие переменные среды понимает запросто. Например %incl% идет без проблем. Это глюк 1.45–й версии или что? Вот щас попробовал 1.41 и 1.42– все идет нормально. А вот с 1.44 начинает глючить. :(
Заранее благодарю.



Вопрос отправлен: 17.03.2003, 15:01
Отправитель: Бадян (sba@litech.net)

[Следующий вопрос >>] [Список вопросов]

Отвечает Joy

Доброе время суток, Бадян!
Скорей всего это баг версии 1.44. И если в 1.41 и 1.42 все работает, зачем же тебе этот 1.44?

Ответ отправлен: 17.03.2003, 15:57
Отправитель: Joy


 Вопрос № 2790

Бодрое время суток! Я по поводу шрифта. Спасибо всем ответившим. А какая связь(может формулы какие-то или ещё что-нибудь) между шириной(средней) и высотой шрифта и его размером? Например, в ресурсах я сразу указываю размер, а в CreateFont надо указывать среднюю ширину и высоту. И ещё вопрос. Можно ли поменять текущий шрифт(у какого-нибудь контрола), или мне каждый используемый в моей программе шрифт надо создавать функцией CreateFont(а если шрифтов очень много - например, пользователь может выбрать в диалоге выбора шрифта любой шрифт)? Спасибо!



Вопрос отправлен: 17.03.2003, 15:48
Отправитель: undying

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Добрый день, undying!
По поводу размера - там есть какое-то соотношение (nHeight = -MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72);).
Текущий шрифт вполне можно поменять - ты можешь послать сообщение WM_SETFONT в любое время любому контролу, причем, если у тебя есть 2 контрола с одинаковым шрифтом, то обоим можно послать один и тот же handle - не надо 2 раза создавать одинаковый шрифт.
Для того, чтобы пользователь мог выбрать шрифт есть даже диалог стандартный - функция ChooseFont его вызывает. И эта функция заполняет структуру CHOOSEFONT, в которой есть ссылка на LOGFONT. После того, как пользователь выбрал параметры шрифта, ты его создаешь и посылаешь нужному контролу WM_SETFONT (не забудь только удалить старый шрифт, иначе будут ресурсы теряться).


Ответ отправлен: 17.03.2003, 23:48
Отправитель: Bob Johnson


Отвечает masquer

Здравствуйте, undying!
Дизайнер шрифта определяет связь между шириной и размером :) Хотя растягивать и сжимать тоже можно. Поменять можно все, что угодно, только не очень это приветствуется, такое ноавторство. Я, например, когда вижу в программе шрифт с засечками (типа таймс) - такая программа первая в списке на удаление.

Ответ отправлен: 17.03.2003, 16:52
Отправитель: masquer


 Вопрос № 2791

К вопросу #2788.
Уважаемые эксперты, очевидно Вы меня не так поняли. Скорее всего я неправильно или неточно выразился. Поясняю: после долгих копаний в недрах осей Win2000/XP я заставил под гостем winlogon.exe грузить левую DLL-ку к себе в адресное пространство и отдавать ей управление (с правами администратора естественно)... код, который я хочу выполнить, я пишу в секции инициализации, т.е. "там где":
; ----------------------------------------------
start:
; Это entrypoint DLL, код по этому адресу должен как
; минимум вернуть неноль в eax и очистить стек
push SW_SHOW
push offset CmdName ; CmdName equ 'cmd.exe', 0
call WinExec ; и ни фига, хотя тот же код из обычного EXE работает... что такое?
ret 0ch
Спасибо за ответы.



Вопрос отправлен: 17.03.2003, 16:07
Отправитель: Ingrem

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Здравствуйте, Ingrem!
Ты знаешь, попробовал твой код в dll entry point - работает ОК. Значит проблема еще в чем-то. Ты не мог бы поделиться с нами своим способом взлома и тогда может и станет понятно, в чем причина. Ты случайно не хук пытаешься поставить?

Ответ отправлен: 18.03.2003, 00:27
Отправитель: Bob Johnson


Отвечает masquer

Приветствую Вас, Ingrem!
Все равно не совсем понятно. Какая _именно_ программа грузит твою библиотеку? Ну, и в добовак, если код в DllEntry не выполняется (а он не выполняется, судя по всему), значит эта библиотека на загружена в адресное пространство процесса, который должен ее инициализировать. Вставь int 3 в начало entry point. Если сработает - ищи грабли дальше.

Ответ отправлен: 17.03.2003, 17:39
Отправитель: masquer


 Вопрос № 2792

Здравствуйте эксперты!
Заказали утилиту для криптовки PE-файлов, в качестве ключа, для шифрования/дешифрования, используется фраза, введенная пользователем. Шифрованию подлежат кодовая секция, данные и импорты. После этого в файл дописывается новая секция, содержащая декриптор/загрузчик, на который и будет скорректирован RVA PE-шника. Делаю так: декриптор/загрузчик ищет image base kernel32.dll, разбирает таблицу экспортов, находит адреса нужных функций. Проблема в том, что при вызове LoadLibraryA (для загрузки user32.dll) в Win 2000/XP в регистре eax возвращается 0. В Win9x всё нормально. Может быть можно как-то это решить? Спасибо!



Вопрос отправлен: 18.03.2003, 15:22
Отправитель: NightAngel

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Доброе время суток, NightAngel!
Ну, достаточно подробно. Осталось выяснить что говорит GetLastError.

Ответ отправлен: 18.03.2003, 15:48
Отправитель: masquer


 Вопрос № 2793

Здравствуйте, уважаемые эксперты...
Я смотрю - вы часто упоминаете MSDN, а нельзя ли его одним архивом весь из инета качнуть? Желательно получить адрес... Спасибо.



Вопрос отправлен: 18.03.2003, 18:29
Отправитель: Viland

[Следующий вопрос >>] [Список вопросов]

Отвечает Eugene

Здравствуйте, Viland!
Попробуй качни :).
http://msdn.microsoft.com/
А если серьёзно, то и качать не надо, если инет есть постоянный.

Ответ отправлен: 18.03.2003, 18:56
Отправитель: Eugene


Отвечает Gibbel

Добрый день, Viland!
Нет, он не доступен в инете (да и вряд ли кто его будет выкладывать, он в минимальном виде занимает 3 CD). Однако, ты можешь скачать самую полезную его часть - Platform SDK с сайта msdn.microsoft.com. Там же можешь использовать онлайн-версию MSDN, которая, по моим наблюдениям, ничем не хуже постовляемой на дисках...
Кстати, MSDN продается на пиратских дисках...

Ответ отправлен: 18.03.2003, 18:47
Отправитель: Gibbel


Отвечает Bob Johnson

Здравствуйте, Viland!
Странно - неужели в том месте, где ты живешь нет магазина компьютерного ПО, где за 180 рублей (или около того) можно купить/взять напрокат 3 CD, на которых он и записан? Но в то же время там есть хорошее интернет подключение, позволяющее скачать 1.5 Гб информации?


Ответ отправлен: 19.03.2003, 16:30
Отправитель: Bob Johnson


Отвечает VicSimon

Здравствуйте, Viland!
Где сейчас можно скачать не знаю. Сразу после выхода (январь, апрель, июль и октябрь) выкладывается на ftp.exetools.com, где лежит около месяца (обычно в корневом каталоге). Состоит из 3-х CD. Рекомендую заглядывать на ftp.exetools.com (Логин/пароль для просмотра - list/list, для скачивания - логин и пароль см. по адресу http://www.exetools.com/forum/)

Ответ отправлен: 19.03.2003, 05:28
Отправитель: VicSimon


Отвечает Joy

Добрый день, Viland!
Ну разве это вопрос! Конечно можно! Только не архивом, а программками, которые качают сайты целиком. Если Инет у тебя по dial-up'у, то несколько лет ты на это убьешь.
А если серьезно, то даже трудно представить сколько занимает весь этот MSDN. Так что оставь идею качнуть. Даже идею купить эту базу на CD тоже оставь. Единственное, на что может влезть MSDN (и то не весь) это на DVD диск.

Ответ отправлен: 19.03.2003, 07:39
Отправитель: Joy


Отвечает akul

Приветствую Вас, Viland!
А интернета хватит? Он 3 CD занимает. Не проще ли на ближайшем развале пиратском купить?
Ну или можно в онлайне на msdn.microsoft.com смотреть но тоже на диалапе не рекомендуется.

Ответ отправлен: 19.03.2003, 15:29
Отправитель: akul


 Вопрос № 2794

Кто-нибудь знает ссылку, по которой можно скачать TASM32 и NASM32. Если не трудно отзовитесь. Очень нужно.



Вопрос отправлен: 18.03.2003, 19:50
Отправитель: Ray

[Следующий вопрос >>] [Список вопросов]

Отвечает Joy

Добрый день, Ray!
ftp://ftp.ticalc.org/pub/dos/asm/tasm32.zip
ftp://ftp.ticalc.org/pub/win/asm/tasm32.zip
А поисковиками ты не пробывал пользоваться? Иногда помогает :)

Ответ отправлен: 19.03.2003, 07:34
Отправитель: Joy


Отвечает akul

Здравствуйте, Ray!
nasm.sourceforge.net
это для nasm он бесплатный. А tasm денег стоит да и не стоит им пользоваться.


Ответ отправлен: 19.03.2003, 15:30
Отправитель: akul


 Вопрос № 2795

Здравствуйте, эксперты!
Не подскажите ли линки или киньте на мыло исходники BIOS с комментариями (можно на английском). Буду рад любой инфе по структуре BIOS (BootBlock и др.), редактированию (поддержка больших винчестеров, новых процессоров и тд.).
Заранее благодарен,
EraSer



Вопрос отправлен: 19.03.2003, 09:15
Отправитель: EraSer (eraser99@tut.by)

[Следующий вопрос >>] [Список вопросов]

Отвечает akul

Добрый день, EraSer!
Исходники современных биос - собственность компании phoenix и стоят денег. От $20.000
в инете валяется только IBM BIOS от XT но сомневаюсь что ты там найдешь что-то интересное.
Редактировать бинарники биос занятие неблагодарное. Если планируешь разрабатывать свое железо (как делает наща компания) то биос надо покупать и модифицировать, поскольку там кроме биос еще куча тулуз для его сборки.


Ответ отправлен: 19.03.2003, 17:17
Отправитель: akul


 Вопрос № 2796

Hi, All!
Не подскажет ли кто-нибудь, что делает функция kernel32 - RtlUnwind (только достаточно подробно и не посылая в MSDN - т.к. читал и о SEH представление имею, плиз), и откуда ее необходимо вызывать. Thanx.



Вопрос отправлен: 19.03.2003, 16:33
Отправитель: User

[Следующий вопрос >>] [Список вопросов]

Отвечает akul

Приветствую Вас, User!
Хрень какая-то. В MSDN эта функция описана только на Alpha платформах для Windows NT. Резонный вопрос, а нахрен оно тебе???

Ответ отправлен: 21.03.2003, 08:49
Отправитель: akul


 Вопрос № 2797

Здравствуйте ув-мые эксперты! У меня программа выводит время, но при выводе изображение мигает. Подскажите, что нужно сделать, чтобы изображение не мигало.


Приложение:


Вопрос отправлен: 19.03.2003, 16:37
Отправитель: Serega (dobeerman@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Ayl

Здравствуйте, Serega!
У меня она вообще как-то странно работает - сплошное мерцание с выводом каких-то строк от FAR'а и т.п.
Чтобы избавится от мерцания надо убрать установку режима при выводе очередного хначения вывода. Вместо этого можно либо устанавливать курсор в начало экрана (желательно только предварительно его сделать невидимым) и выводить с помощью ф-ции 9, либо выводить напрямую в видеопамять.
Придирки:
1. Зачем EXE-формат? Для такой программки COM - самое то. А то EXE-шник "весит" 1502 байта.
2. Сохранение в строке выглядит как-то тяжеловато и некрасиво. А значит, неоптимально, скорее всего.
3. Ну и совсем для эстетов - почему выход по клавише "k"? Новое слово в интерфейсе :-) Кстати, проверку можно упростить, если сначала преобразовать в верхний или нижний регистр.
В общем, см. в Приложении, как бы я написал.

Приложение:

Ответ отправлен: 19.03.2003, 19:25
Отправитель: Ayl


Отвечает Joy

Добрый день, Serega!
Ты слишком часто выводишь на экран строку со зачением. Сделай цикл по выводу строки со временем на экран зависимым от изменения значения времени, т.е. если значение текущего времени не совпадат со значением на экране, то выводи новое значение, а в противном случае не трогай время, которое ты вывел на экран, тогда мигать перестанет. И еще лучше проверять текущее время не простым циклом, а с каждым тиком от таймера (т.е 18.2 раза в секунду).

Ответ отправлен: 20.03.2003, 09:15
Отправитель: Joy


Отвечает Maverick

Здравствуйте, Serega!
В приложении исправленый.
Тебе нужно было убрать переключение видеорежима из цикла, и на будущее...не пихай в цикл то, что не требует выполнения в цикле, например то, что должно выполнятся 1 раз. А у тебя получается, что видеорежим обновляется с офигительной частотой, вот и мигает экран.


Приложение:

Ответ отправлен: 20.03.2003, 04:55
Отправитель: Maverick


Отвечает DiGiT[old]

Доброе время суток, Serega!
Выводи его не так часто и не будет мигать :)

Ответ отправлен: 20.03.2003, 04:46
Отправитель: DiGiT[old]


 Вопрос № 2798

Всем привет! Возможно ли удалить собственный exe-шник? Хотя бы при завершении. Напрямую пробовал - недопустимаяоперация. Может как-нибудь через задний проход? Ведь как-то же удаляют uninstallers-ы себя? Спасибо!



Вопрос отправлен: 19.03.2003, 17:26
Отправитель: ROCK

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Доброе время суток, ROCK!
Очень давно (или не очень, но давно) здесь попадался именно такой вопрос. Нет, не стану отправлять тебя перерывать рассылку :). Значит фишка такая - под Windows 98 можно удалить свой файл, но это только под ними и немного по-левому - ты выделяешь себе несколько байт памяти любой доступной функцией, переписываешь туда такой кусок кода:
Call GetModuleFileName, 0, offset offset my_exe_file_name, MAX_PATH
Call GetModuleHandle, 0
Call FreeLibrary, eax
Call DeleteFile, offset my_exe_file_name
Call ExitProcess, 0
my_exe_file_name db MAX_PATH dup (?)
этот кусок кода выгружает(!) из памяти сам экзешник, после чего спокойно его удаляет. Но! Это работает только под Windows 98.
Этот пример был взят мною из MSDN (да, там многое есть...), где какой-то перец с хорошим чувством юмора описывает процесс удаления работающего экзешника. Далее в этой статье описывается и универсальный метод, работающий и под 98 и под NT. Так вот - все гениальное просто - это - обычные bat файлы! Только пакетный (bat) файл без обломов может удалить сам себя!
Значит что ты можешь сделать - в конце проги, где тебе нужно удалиться, создаешь bat файл, запускаешь его (CreateProcess) с невидимым окном и спокойно завершаешь свое выполнение. Bat файл же удаляет все, что тебе нужно - и прогу и другие файлы и каталог, в котором эта прога была, после чего удаляет себя. После чего ОС, пытаясь продолжить работу батника, предупредительно пишет: файл не найден...


Ответ отправлен: 19.03.2003, 20:24
Отправитель: Bob Johnson


Отвечает masquer

Здравствуйте, ROCK!
На любой мало-мальски приличчно программерской конференции рано или поздно возникает такой вопрос :)
Из известных мне способов работают такие - создание во временной папке приложение, которое, собственно все и удаляет, его запуск и немедленный выход, дальше - можно создать либо свой батник с удалением всего и себя самого или такой же com-файл. Ну, наверное, можно запустить драйвер, отключить страницы защиты, сделать Unmap и удалить - но больно геморно и ненадежно получается...

Ответ отправлен: 19.03.2003, 17:49
Отправитель: masquer


Отвечает Joy

Добрый день, ROCK!
Я так понял, что все это под выньдой?
Ты не сможешь удалить ехе-шный файл, который запущен. Анинсталлер - это такая выньдовская прога, в файлы которой при инсталяции записываются данные о том, куда и какие файлы устанавливаются той или иной программой. И поэтому когда ты жмешь "анинстал" запускается выньдовская прога, которая в файле (с расширением .isu) получает информацию о том что надо убрать. Вот так ехе-шники и все другие файлы убираются.

Ответ отправлен: 20.03.2003, 09:14
Отправитель: Joy


Отвечает WNA

Приветствую Вас, ROCK!
Напрямую удалить невозможно, есть несколко способов:
1. Только для NT: перед созданием процесса открыть этот файл с флагом FILE_FLAG_DELETE_ON_CLOSE, запустить процесс, закрыть файл.
2. см приложение (С++)
3. создать батник, который запускает файл, ждет завершения и удаляет файл и себя


Приложение:

Ответ отправлен: 19.03.2003, 17:52
Отправитель: WNA


Отвечает DiGiT[old]

Добрый день, ROCK!
Под виндами невозможно :(.
Правда можно вывернуться следующими способами :)) :
1) используешь wininit.exe. в wininit.ini пишешь файлы для удаления и они удалятся после перезагрузки :)
2) Пишешь батовский файл и запускаешь его. Он удалит твою прогу после того как она отгрузится.
3) Создаешь процесс который будет ждать выгрузки твоего процесса и потом кильнет его файл.
ЗЫ у всех способов есть недостатки.

Ответ отправлен: 20.03.2003, 04:43
Отправитель: DiGiT[old]


Отвечает akul

Здравствуйте, ROCK!
есть такой чудесный ключ в реестре
HKLMSoftwareMicrosoftWindowsRunOnce
туда напихиваешь командных строк сколько хочешь и просишь юзера перезагрузиться. Они будут отработаны и удалены системой.


Ответ отправлен: 21.03.2003, 08:45
Отправитель: akul



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (35)
C / C++ (29)
Perl (5)
Delphi (15)
Pascal (18)
Basic / VBA (10)
Java / JavaScript (9)
PHP (6)
MySQL / MSSQL (5)
Пользователю
Windows 95/98/Me (33)
Windows NT/2000/XP (26)
"Железо" (29)
Поиск информации (14)
Администратору
Windows NT/2000/XP (10)
Linux / Unix (13)
Юристу
Гражданское право (7)
Семейное право (3)
Трудовое право (4)
КоАП (4)

Отправить вопрос всем экспертам выбранной рассылки.




Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное