Страница: 1 |
Страница: 1 |
Вопрос: Выгрузить прогу
Добавлено: 28.05.04 01:05
Автор вопроса: Tisak
Как выгузить какуюнить прогу из памяти средствами Vb,не зная точног названи окна этой проги,но зная название ее EXE файла????
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Eddie
Вопросов: 11
Ответов: 120
Профиль | | #1
Добавлено: 28.05.04 01:17
Под NT, Прям В Процессах пишеться же название Файла, Теоретически думаю можно щас код найду и вставлю Сюды ...
Номер ответа: 2
Автор ответа:
Eddie
Вопросов: 11
Ответов: 120
Профиль | | #2
Добавлено: 28.05.04 01:22
Кстати на Этом Сайте и Есть этот Код, там показан список Процессов, по Названию Окна, попробуй немного поэкспериментируй, может получиться, все же это лучше чем ничего :
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const GW_HWNDFIRST = 0
Const GW_HWNDNEXT = 2
Const WM_CLOSE = &H10
Const WM_QUIT = &H12
Dim CurrWnd As String
Dim ListItem As String
Dim Length As String
Sub GetTaskList()
CurrWnd = GetWindow(Me.hwnd, GW_HWNDFIRST)
Do While CurrWnd <> 0
Length = GetWindowTextLength(CurrWnd)
ListItem = Space(Length + 1)
Length = GetWindowText(CurrWnd, ListItem, Length + 1)
If Length <> 0 Then
List1.AddItem ListItem
End If
CurrWnd = GetWindow(CurrWnd, GW_HWNDNEXT)
DoEvents
Loop
End Sub
Private Sub Command1_Click()
List1.Clear
GetTaskList
End Sub
Private Sub Command2_Click()
hW = FindWindow(vbNullString, List1.Text & Chr(0))
PostMessage hW, WM_QUIT, 0, 0
End Sub
Private Sub Form_Load()
Left = (Screen.Width - Width) \ 2
Top = (Screen.Height - Height) \ 2
GetTaskList
Command1.Caption = "получить список"
Command2.Caption = "Закрыть приложение"
End Sub
Номер ответа: 3
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 28.05.04 07:24
А можно процесс убить...
Номер ответа: 4
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #4
Добавлено: 28.05.04 13:55
Только для этого нужно сначала найти hProcess зная название ее EXE файла.
Может через GetModuleInformation?
Номер ответа: 5
Автор ответа:
Tisak
Вопросов: 8
Ответов: 15
Профиль | | #5
Добавлено: 28.05.04 14:43
Хм..Api - это хорошо. ))А не кто не знает-можно ли гденить надыбыть OCX или dll для этого дела?
Номер ответа: 6
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #6
Добавлено: 28.05.04 16:24
та... а зачем? ведь даже тут на сайте есть пример убивания процесса зная только exe. Ты поройся хорошо
Номер ответа: 7
Автор ответа:
Tisak
Вопросов: 8
Ответов: 15
Профиль | | #7
Добавлено: 28.05.04 22:51
Все-всем пасибо.Пример с сайта подошол(тока пришлось его немного подредоктировать) )