Ctrl alt Delete - как его выключить в ХР?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Monax
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 10.08.2005 (Ср) 11:13
Откуда: Ukrain

Ctrl alt Delete - как его выключить в ХР?

Сообщение Monax » 10.08.2005 (Ср) 11:31

Люди помогите я немогу вырубить Ctrl alt Delete в Хр во всех предыдуших версиях виндовс получаеться а в этой нет :(

hohol_kz
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.08.2005 (Пт) 6:21

Сообщение hohol_kz » 10.08.2005 (Ср) 11:56

Пуск/Панель управления/Администрирование/Локальная политика безопасности/Параметры безопасности/Локальные политики/Параметры безопасности/Интерактивный вход в систему: не требовать нажатия CTRL+ALT+DEL

Состояния:
1. по умолчанию - не определено, т.е. выводится
2. Отключить
3. Включить

Выставляешь то, что тебе нужно и перезагружаешь комп.
Кстать, в этом разделе (Параметры безопасности) ты найдешь еще массу интересного для себя.

Только при чем тут форум по Visual Basic?!
По таким вопросам на специализированные форумы.
А для начала на компе жмешь F1 и потом находишь. там все это есть.
На правах саморекламмы: "Кофейник" - это тот же "чайник", только круче.

Monax
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 10.08.2005 (Ср) 11:13
Откуда: Ukrain

Сообщение Monax » 10.08.2005 (Ср) 12:08

Я хочу програмно отрубить Ctrl Alt Delete. Мне нужен исходник!!!!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 10.08.2005 (Ср) 12:21

Мне кажется, что человек, хочет, чтобы по CTRLALTDEL в системе ничего не происходило :)

Скажем сразу - сделать так нельзя.

hohol_kz
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.08.2005 (Пт) 6:21

Сообщение hohol_kz » 10.08.2005 (Ср) 12:25

:shock: А нахрен???
Это чтоль у тебя программа каждые пять минут туды-сюды все это переключает?
Я балдю!
:shock:
Действие разовое ведь и весьма редкое.
Причем, заметь, даже если сделаешь его все одно перезагрузка нужна чтобы вступило в силу.

В реестре переписываешь, смотри ветку: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SeCEdit\Reg Values\MACHINE/Software/Microsoft/Windows/CurrentVersion/Policies/System/DisableCAD

А вот какое конкретно значение надо ставить не знаю. Поищи в Инете описания про реестр. Но скорее всего либо 0, либо 1.
На правах саморекламмы: "Кофейник" - это тот же "чайник", только круче.

Monax
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 10.08.2005 (Ср) 11:13
Откуда: Ukrain

Сообщение Monax » 10.08.2005 (Ср) 12:31

RayShade писал(а):Мне кажется, что человек, хочет, чтобы по CTRLALTDEL в системе ничего не происходило :)
Скажем сразу - сделать так нельзя.


Я хочу что бы моя программа заблокировала Ctrl Alt Delete.
Я это могу зделать в любой винде кроме ХР :D

hohol_kz
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.08.2005 (Пт) 6:21

Сообщение hohol_kz » 10.08.2005 (Ср) 12:34

Если хочет вообще отрубить эту комбинацию, то это надо нечто, что будет над Виндой, чтобы она его не видела и не ругалась. Тогда кроме всего прочего смотри про обработку прерываний.

Хм, если все это замутишь, то тебе уже нечего делать в форуме для начинающих. Уже достигнешь просветления и станешь Гуру
:D
На правах саморекламмы: "Кофейник" - это тот же "чайник", только круче.

OMEGUS
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 146
Зарегистрирован: 31.01.2005 (Пн) 11:40
Откуда: Санкт-Петербург

Сообщение OMEGUS » 10.08.2005 (Ср) 12:34

А покажи как ты это сделал в люблюй другой винде ?! :-)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.08.2005 (Ср) 12:35

Очередной мегаультрасуперкулхацкер пишет свою очередную супермегаультрагиперпрограмму для взламывания интернета, насколько я понял.
Lasciate ogni speranza, voi ch'entrate.

Monax
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 10.08.2005 (Ср) 11:13
Откуда: Ukrain

Сообщение Monax » 10.08.2005 (Ср) 12:41

OMEGUS писал(а):А покажи как ты это сделал в люблюй другой винде ?! :-)


ЛОВИ :
Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal ProcessID As Long, ByVal ServiceFlags As Long) As Long

Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long



Private Sub Form_Load()

RegisterServiceProcess GetCurrentProcessId, 1

End Sub

Monax
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 10.08.2005 (Ср) 11:13
Откуда: Ukrain

Сообщение Monax » 10.08.2005 (Ср) 12:43

alibek писал(а):Очередной мегаультрасуперкулхацкер пишет свою очередную супермегаультрагиперпрограмму для взламывания интернета, насколько я понял.


А чё сразу хакер? Может я что то хорошое забецать хочу.

hohol_kz
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.08.2005 (Пт) 6:21

Сообщение hohol_kz » 10.08.2005 (Ср) 12:44

Интересно, если в ХР заблокировать эту комбинацию, а потом заблокировать комп нажав комбинашку [кнопка пуск]+L (уж звиняйте не помню как она зовется правильно) или просто подождать, пока комп выведет заставку с блокировкой, что получится?
Как потом комп разблокировать?
Винда же просит нажать волшебное сочетание кнопок и потом предлагает ввести пароль для разблокировки.

Alibek-у: есть предложение изменить на - Two beer for not to bier!!!!
:wink: и будем жить вечно... :lol:
На правах саморекламмы: "Кофейник" - это тот же "чайник", только круче.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.08.2005 (Ср) 12:48

Monax писал(а):А чё сразу хакер? Может я что то хорошое забецать хочу.

Да так, глянул на типичную безграмотность и понял, что кулхацкер.

P.S. Необходимое, как я вижу, пояснение. Кулхацкер -- это не комплимент.
Последний раз редактировалось alibek 10.08.2005 (Ср) 12:48, всего редактировалось 1 раз.
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.08.2005 (Ср) 12:48

Monax писал(а):ЛОВИ :

Ню-ню.

Продемонстрируй работу этого кода в Win 2000, плз.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Monax
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 10.08.2005 (Ср) 11:13
Откуда: Ukrain

Сообщение Monax » 10.08.2005 (Ср) 12:51

Этот код неработает под NT - потому я и создал эту тему (мне нужен исходник чтобы работало в ХР)

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.08.2005 (Ср) 12:54

Дык не будет.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

hohol_kz
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.08.2005 (Пт) 6:21

Сообщение hohol_kz » 10.08.2005 (Ср) 12:59

Monax писал(а):Этот код неработает под NT ...

Хех, он еще очень много где не работает, например в Word-е, в DOS-е, в парикмахерской и соседнем гастрономе...
В обчем это тебе надо писать резидента, чтобы над Виндой висел и все перехватывал, скармливая системе все клавиши кроме этой комбинации. Либо ломать Винду и писать свой обработчик. А то система обидится и выдаст страшную ошибку с воот такими :shock: глазами.
Не думаю, что в VB это удобно написать.

А за исходником - это тебе в Microsoft, отдел разработки Windos XP.
На правах саморекламмы: "Кофейник" - это тот же "чайник", только круче.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 10.08.2005 (Ср) 14:05

А что за дурацкое жедание отключить КАД ?

ДЛя чего? Чего этим можно добиться? Возможно существуют более правильные решения проблемы.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 10.08.2005 (Ср) 14:08

Sebas писал(а):А что за дурацкое жедание отключить КАД ?

Это, типа, крута. Так все мегакулхацкеры делают.
Lasciate ogni speranza, voi ch'entrate.

ism
Постоялец
Постоялец
 
Сообщения: 337
Зарегистрирован: 12.12.2001 (Ср) 12:59
Откуда: Russia, Saint-Petersburg

Сообщение ism » 10.08.2005 (Ср) 16:32

Отрубать что-то в системе без согласия юзера - это дурной тон. А если у юзера что-то зависнет в по время как ты отрубил для своей проги.
XP реагирует на Ctrl Alt Delete даже если перед этим выполнить BlockInput(1) и правильно.

Aster
Новичок
Новичок
Аватара пользователя
 
Сообщения: 28
Зарегистрирован: 06.08.2005 (Сб) 20:03

Сообщение Aster » 10.08.2005 (Ср) 19:51

При включение меняй HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr на 1 а при выключение 0. И во время выполнения проги ctr+alt+del работать не будет

hohol_kz
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.08.2005 (Пт) 6:21

Сообщение hohol_kz » 11.08.2005 (Чт) 6:41

alibek писал(а):Это, типа, крута. Так все мегакулхацкеры делают.

Муахаха! Жостко!
:lol:
На правах саморекламмы: "Кофейник" - это тот же "чайник", только круче.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.08.2005 (Чт) 7:48

Aster писал(а):При включение меняй HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr на 1 а при выключение 0. И во время выполнения проги ctr+alt+del работать не будет

Глупости. Будет отключен Task Manager, но Ctrl+Alt+Del обрабатываться будет.
Lasciate ogni speranza, voi ch'entrate.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 11.08.2005 (Чт) 9:26

самое оптимальное, это сделать плагин для ие, тогда и процесса не будет
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.08.2005 (Чт) 9:28

Sebas писал(а):самое оптимальное, это сделать плагин для ие, тогда и процесса не будет

Неа, расширение к шеллу в этом отношении лучше :)
Lasciate ogni speranza, voi ch'entrate.

WERT-007
Начинающий
Начинающий
 
Сообщения: 11
Зарегистрирован: 27.07.2005 (Ср) 15:10

Сообщение WERT-007 » 12.08.2005 (Пт) 4:08

А не проще ли искать в системе окно с заголовком "Диспетчер задач Windows" и прибивать его? :lol:

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 12.08.2005 (Пт) 7:40

WERT-007 писал(а):А не проще ли искать в системе окно с заголовком "Диспетчер задач Windows" и прибивать его? :lol:


Наивняк)))
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 12.08.2005 (Пт) 7:54

Когдато нашел следующий код :
в модуле
Код: Выделить всё
Option Explicit



Private Declare Function GetTempFileName Lib "kernel32.dll" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
Private Declare Function GetTempPath Lib "kernel32.dll" Alias "GetTempPathA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

Private Declare Function LoadLibrary Lib "kernel32.dll" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function FreeLibrary Lib "kernel32.dll" (ByVal hLibModule As Long) As Long
Private Declare Function GetProcAddress Lib "kernel32.dll" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function CallWindowProc Lib "user32.dll" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function DeleteFile Lib "kernel32.dll" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)

Private Const szAsmCode As String = "4D5A90000300000004000000FFFF0000B800000000000000400000000000000000000000000000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B8014CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206D6F64652E0D0D0A2400000000000000504500004C010200F78DFD400000000000000000E0000E210B01050C0008000000020000000000002B130000001000000020000000000010001000000002000004000000000000000400000000000000003000000002000000000000020000000000100000100000000010000010000000000000100000003016000065000000" & _
                                    "281000003C0000000000000000000000000000000000000000000000000000000020000084000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000B01000004C0000000000000000000000000000000000000000000000000000002E7465787400000095060000001000000008000000020000000000000000000000000000200000E02E72656C6F630000880000000020000000020000000A0000000000000000000000000000400000420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
                                    "6E74646C6C2E646C6C004E74517565727953797374656D496E666F726D6174696F6E00000000000064100000000000000000000006120000B0100000A0100000000000000000000050120000EC1000000000000000000000000000000000000000000000FC1000000A11000020110000341100004A1100005A110000701100008411000096110000A6110000BA110000CE110000E0110000F01100000000000014120000261200003A12000000000000FC1000000A11000020110000341100004A1100005A110000701100008411000096110000A6110000BA110000CE110000E0110000F01100000000000014120000261200003A120000000000001A00436C" & _
                                    "6F736548616E646C6500310043726561746546696C654D617070696E67410000DB0047657443757272656E7450726F6365737300DC0047657443757272656E7450726F63657373496400FD004765744C6173744572726F72000007014765744D6F64756C6546696C654E616D6541000009014765744D6F64756C6548616E646C654100001F0147657450726F63416464726573730000BA014D6170566965774F6646696C6500CB014F70656E46696C654D617070696E67410000FA015265616450726F636573734D656D6F7279007702556E6D6170566965774F6646696C650088025669727475616C51756572790000A702577269746550726F636573734D65" & _
                                    "6D6F727900006B65726E656C33322E646C6C0000120043616C6C4E657874486F6F6B45780000260253657457696E646F7773486F6F6B457841004502556E686F6F6B57696E646F7773486F6F6B4578007573657233322E646C6C000000000000558BEC56BE001600108A060AC0740B3A45087503C6065F46EBEF5EC9C20400558BEC5668001600106A046A006A046A006AFFE8DF0200000BC0743EA3E8150010E8E30200003DB7000000750BFF35E8150010E8B90200006A006A006A006A06FF35E8150010E8D60200000BC0740B50FF75088F00E8D90200005EC9C20400558BEC83C4FC68001600106A006A06E8B40200000BC07427506A006A006A006A0650" & _
                                    "E89B0200000BC0740C50FF30588945FCE89D020000E8560200008B45FCC9C3FF35E8150010E846020000C3558BEC837D0C01753C8B4508A3E415001068040100006800160010FF35E4150010E83D0200006A5CE808FFFFFF6A3AE801FFFFFFE818020000A3E0150010E816000000EB0B837D0C007505E893000000B801000000C9C20C006800100010E806020000680A10001050E8010200000BC07470A3F6150010C605FA15001068C705FB1500103C140010C605FF150010C368F21500106A0668EC150010FF35F6150010FF35E0150010E8D5010000833DF215001006752D68F21500106A0668FA150010FF35F6150010FF35E0150010E8C101000033C083" & _
                                    "3DF2150010067505B801000000C368F21500106A0668EC150010FF35F6150010FF35E0150010E89301000033C0833DF2150010067505B801000000C3558BEC83C4FCE8C7FFFFFF0BC0744DFF7514FF7510FF750CFF7508FF15F61500108945FC837D080575328B750C33FFE86EFEFFFF3B46447517833E007508C70700000000EB0A0BFF74068B06030789078B060BC074068BFE0336EBD368F21500106A0668FA150010FF35F6150010FF35E0150010E8090100008B45FCC9C21000558BECFF7510FF750CFF7508FF3523100010E8F1000000C9C20C00558BEC83C4E433C06A1C8D45E450FF7508E8CB0000000BC074038B45E8C9C20400558BEC837D080074" & _
                                    "3F833D23100010007550837D0C007507E86D000000EB038B450C50E85FFDFFFF68F8140010E8ADFFFFFF6A005068BC1400106A03E891000000A323100010EB1AFF3523100010E885000000C7052310001000000000E8C5FDFFFFC9C20800558BECFF750CFF7508E88CFFFFFFC9C21000FF25B0100010FF25B4100010FF25B8100010FF25BC100010FF25C0100010FF25C4100010FF25C8100010FF25CC100010FF25D0100010FF25D4100010FF25D8100010FF25DC100010FF25E0100010FF25E4100010FF25EC100010FF25F0100010FF25F4100010CCCCCCCCCCCCCCCCCCCC0000000000000000000000000000000000000000000000000000000000000000" & _
                                    "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F78DFD40000000006C1600000100000002000000020000005816000060160000681600005E150000F81400008716000078160000010000007068616E746F6D2E646C6C00536574476C6F62616C486F6F6B3400536574476C6F62616C486F6F6B000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
                                    "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
                                    "0010000084000000653284329C32AE32C132E5322133383342334833653385338F339E33A433AB33AF33B533BB33C233C833CE33D933E133E833EE33F43301340F3416341C3422342F3459349934A034A634AC34CA34033521352E353A3542354D35723578357E3584358A35903596359C35A235A835AE35B435BA35C035C635CC35D23500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" & _
                                    "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"

Private hLib As Long, hProc As Long, sPath As String

Public Property Let ProcessInVisible(ByVal newValue As Boolean)
    If newValue Then
        If Not (hProc Or hProc) Then Call HideProcess
    Else
        If (hProc And hProc) Then Call ShowProcess
    End If
End Property

Public Property Get ProcessInVisible() As Boolean
    ProcessInVisible = (hProc And hProc)
End Property

Private Sub HideProcess()
    Dim btArray()   As Byte, _
        nf          As Long

    sPath = String$(&H100, 0&)
   
    Call GetTempPath(&H100, sPath)
    Call GetTempFileName(sPath, "tmp", 0&, sPath)
    sPath = Left$(sPath, InStr(vbNull, sPath, vbNullChar) - vbNull)

    ReDim btArray((Len(szAsmCode) - vbNull) \ 2)
    For nf = vbNull To Len(szAsmCode) Step 2&
        btArray((nf - vbNull) \ 2) = CByte("&H" & Mid$(szAsmCode, nf, 2&))
    Next

    nf = FreeFile
    Open sPath For Binary Access Write Lock Read As nf
        Put nf, vbNull, btArray
    Close
    Erase btArray

    hLib = LoadLibrary(sPath)
    hProc = GetProcAddress(hLib, "SetGlobalHook4")

    Call CallWindowProc(hProc, vbNull, 0&, 0&, 0&)
End Sub

Private Sub ShowProcess()
    Call CallWindowProc(hProc, 0&, 0&, 0&, 0&)
    Call FreeLibrary(hLib)

    Call Sleep(10&)
    Call DeleteLibMe
   
    hLib = 0&
    hProc = 0&
    sPath = vbNullString
End Sub

Private Sub DeleteLibBat()
    Dim sBatPath As String, nf As Integer

    nf = FreeFile
    sBatPath = Left$(sPath, Len(sPath) - 3&) & ".bat"
                                                   
    Open sBatPath For Binary Access Write Lock Read As nf
        Put nf, vbNull, ":l" & vbCrLf & "del %1" & vbCrLf & _
                        "if exist %1 goto l" & vbCrLf & "del %0"
    Close
                                                   
                                                   
    Call ShellExecute(0&, "open", sBatPath, sPath, vbNullString, vbHide)
End Sub

Private Sub DeleteLibMe()
    Dim local_cntr As Long
    Do
        Call Sleep(10&)
        DoEvents

        local_cntr = local_cntr + vbNull
                                                   
        If Len(Dir(sPath)) = 0& Then Exit Sub

        Call DeleteFile(sPath)
    Loop Until local_cntr > 50
   
    Call DeleteLibBat
End Sub

в коде формы:
Код: Выделить всё
Private Sub btn_Click()
    mPhantom.ProcessInVisible = Not mPhantom.ProcessInVisible
    btn.Caption = IIf(mPhantom.ProcessInVisible, "Íåâèäèìà :)", "Âèäèìà :)")
End Sub

Private Sub Form_Load()
    btn.Caption = IIf(mPhantom.ProcessInVisible, "Íåâèäèìà :)", "Âèäèìà :)")
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    mPhantom.ProcessInVisible = False
End Sub

Наслаждайся :twisted: :twisted: :twisted:
Если всё делать своими ручками, они скоро отвалятся !

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 12.08.2005 (Пт) 8:06

ГЫ а на каких операционках тестил?
Есть подозрение что в 50% на gpf вывалиться...
Ктонить потестите, а то чёта стрёмно на рабочем ноуте запускать..))))
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 124

    TopList