Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: ????????Ctrl+Alt+Delete????? Добавлено: 03.04.03 14:22  

Автор вопроса:  freeloader  | Web-сайт: freeloader.folder-pro.net | ICQ: 50804884 

  Мужики!. А не подскажите как в VB сделать так чтоб задача в Ctrl+Alt+Delete, была скрыта!?

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Satrapp



ICQ: 75556561 

Вопросов: 8
Ответов: 80
 Профиль | | #1 Добавлено: 03.04.03 14:49

Где-то здесь в примерах было...

Ответить

Номер ответа: 2
Автор ответа:
 Gravity



Вопросов: 6
Ответов: 120
 Профиль | | #2 Добавлено: 03.04.03 14:49

Держи два варианта ... (1ый мне побольше нравиться :)

'Вариант 1


Добавь две кнопки .... Первая кнопка убирает программу из списка, вторая - показывает.
При выгрузке программы используй процедуру UnMakeMeService(), чтобы освободить системные ресурсы...

Чтобы убрать программу из списка Ctrl+Alt+Delete, используй процедуру MakeMeService

Чтобы показать программу в списке Ctrl+Alt+Delete, используй процедуру UnMakeMeService

Private Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long
Const RSP_SIMPLE_SERVICE = 1
Const RSP_UNREGISTER_SERVICE = 0
Public Sub MakeMeService()
Dim pid As Long
Dim reserv As Long
pid = GetCurrentProcessId()
regserv = RegisterServiceProcess(pid, RSP_SIMPLE_SERVICE)
End Sub

Public Sub UnMakeMeService()
Dim pid As Long
Dim reserv As Long
pid = GetCurrentProcessId()
regserv = RegisterServiceProcess(pid, RSP_UNREGISTER_SERVICE)
End Sub

Private Sub Command1_Click()
MakeMeService
End Sub

Private Sub Command2_Click()
UnMakeMeService
End Sub

Private Sub Form_Unload(Cancel As Integer)
UnMakeMeService
End Sub

'Вариант 2


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 'Hide app
End Sub
Private Sub Form_Unload(Cancel As Integer)
RegisterServiceProcess GetCurrentProcessId, 0 'Remove service flag
End Sub

Удачи ...

Ответить

Номер ответа: 3
Автор ответа:
 freeloader



ICQ: 50804884 

Вопросов: 72
Ответов: 642
 Web-сайт: freeloader.folder-pro.net
 Профиль | | #3
Добавлено: 03.04.03 14:58

 Спасиб выручили.1

Ответить

Номер ответа: 4
Автор ответа:
 



Вопросов: 7
Ответов: 37
 Web-сайт: www.littlehumans.nm.ru
 Профиль | | #4
Добавлено: 04.04.03 15:53
А в NT это работает?

Ответить

Номер ответа: 5
Автор ответа:
 P



ICQ: 346632205 

Вопросов: 5
Ответов: 86
 Профиль | | #5 Добавлено: 04.04.03 17:42

вот тебе для 9x и NT:

 

Public Declare Function GetVersion Lib "kernel32" () As Long
Public Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long

 

Private Sub Command1_Click()
If GetVersion >= 0 Then
    App.TaskVisible = False
Else: RegisterServiceProcess GetCurrentProcessId, 1
End If
End Sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам