Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: TaskKill.Exe Добавлено: 05.04.04 15:03  

Автор вопроса:  Unguided

Народ, подскажите есть ли API функция аналогичная taskkill.exe?

Или же как получить отчет о выполнении:

ShellExecute Me.hwnd, "open", "taskkill", " /s System /u Domain\User /p Password /im Notepad.exe", "", 0

Заранее спасибо.

Ответить

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

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


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 05.04.04 15:41

Может быть TerminateProcess?

Ответить

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



Вопросов: 30
Ответов: 683
 Профиль | | #2 Добавлено: 06.04.04 15:10
To Sharp: Расскажи плз поподробнее о TerminateProcess. Мне весьма нужно

Ответить

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



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #3 Добавлено: 06.04.04 15:58

The TerminateProcess function terminates the specified process and all of its threads.

Declare Function TerminateProcess Lib "kernel32" Alias "TerminateProcess" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

· hProcess

Identifies the process to terminate.

Windows NT: The handle must have PROCESS_TERMINATE access. For more information, see Process Objects.

· uExitCode

Specifies the exit code for the process and for all threads terminated as a result of this call. Use the GetExitCodeProcess function to retrieve the process’s exit value. Use the GetExitCodeThread function to retrieve a thread’s exit value.

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Example:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Long, ByVal lpWindowName As Long) As Long

Private Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long

Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long

Private Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As Long) As Long

Private Declare Function GetDesktopWindow Lib "user32" () As Long

Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As Long

Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

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

Private Declare Function Putfocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long

Const GW_HWNDNEXT = 2

Dim mWnd As Long

Function InstanceToWnd(ByVal target_pid As Long) As Long

Dim test_hwnd As Long, test_pid As Long, test_thread_id As Long

'Find the first window

test_hwnd = FindWindow(ByVal 0&, ByVal 0&)

Do While test_hwnd <> 0

'Check if the window isn't a child

If GetParent(test_hwnd) = 0 Then

'Get the window's thread

test_thread_id = GetWindowThreadProcessId(test_hwnd, test_pid)

If test_pid = target_pid Then

InstanceToWnd = test_hwnd

Exit Do

End If

End If

'retrieve the next window

test_hwnd = GetWindow(test_hwnd, GW_HWNDNEXT)

Loop

End Function

Private Sub Form_Load()

'KPD-Team 1999

'URL: http://www.allapi.net/

'E-Mail: KPDTeam@Allapi.net

Dim Pid As Long

'Lock the window update

LockWindowUpdate GetDesktopWindow

'Execute notepad.Exe

Pid = Shell("c:\windows\notepad.exe", vbNormalFocus)

If Pid = 0 Then MsgBox "Error starting the app"

'retrieve the handle of the window

mWnd = InstanceToWnd(Pid)

'Set the notepad's parent

SetParent mWnd, Me.hwnd

'Put the focus on notepad

Putfocus mWnd

'Unlock windowupdate

LockWindowUpdate False

End Sub

Private Sub Form_Unload(Cancel As Integer)

'Unload notepad

DestroyWindow mWnd

'End this program

TerminateProcess GetCurrentProcess, 0

End Sub

Ответить

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



Вопросов: 7
Ответов: 19
 Профиль | | #4 Добавлено: 07.04.04 12:33
 Эх, все бы хорошо, да прелесть taskkill.exe в том, что она глушит процесс на удаленной машине, а вот TerminateProcess этого не может, а жаль... Просто я так думаю, если есть АПИ заменяющая net send, то и taskkill должно быть заменимо.

Ответить

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



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #5 Добавлено: 07.04.04 12:46

Конечно есть замены. К примеру, SMBDie или WinNuke2.

Ответить

Номер ответа: 6
Автор ответа:
 Unguided



Вопросов: 7
Ответов: 19
 Профиль | | #6 Добавлено: 08.04.04 09:27

2 LamerOnLine
  Звучит красиво, но не думаю что это АПИ функции, а нужны именно они.

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 10.04.04 18:19

Вот тебе список импортируемых им "подозрительных" API - найди нужную:

Import, ADVAPI32.dll

Ordinal(Hint) Name

0000003E CloseServiceHandle

000001A8 OpenProcessToken

0000014C LookupPrivilegeValueW

0000001C AdjustTokenPrivileges

000001AA OpenSCManagerW

000000D1 EnumServicesStatusExW

00000146 LookupAccountSidW

000001CA RegConnectRegistryW

000001C8 RegCloseKey

000001EC RegQueryValueExW

Import, DBGHELP.dll

Ordinal(Hint) Name

00000002 EnumerateLoadedModules

Import, KERNEL32.dll

Ordinal(Hint) Name

00000167 GetModuleHandleA

0000012F GetCurrentProcess

00000130 GetCurrentProcessId

00000331 TerminateProcess

00000261 OpenProcess

00000144 GetExitCodeProcess

00000132 GetCurrentThreadId

Import, ole32.dll

Ordinal(Hint) Name

0000003A CoInitializeEx

00000060 CoTaskMemAlloc

00000061 CoTaskMemFree

00000065 CoUninitialize

00000010 CoCreateInstance

0000003B CoInitializeSecurity

Import, USER32.dll

Ordinal(Hint) Name

000000E5 FindWindowExW

0000017A GetWindowTextW

0000016A GetWindow

0000016F GetWindowLongW

0000017B GetWindowThreadProcessId

00000043 CloseDesktop

000000DE EnumWindows

00000279 SetThreadDesktop

000001F5 OpenDesktopW

00000161 GetThreadDesktop

00000045 CloseWindowStation

000000CF EnumDesktopsW

00000268 SetProcessWindowStation

000001F9 OpenWindowStationW

00000148 GetProcessWindowStation

000000DD EnumWindowStationsW

00000200 PostMessageW

Ответить

Страница: 1 |

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



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