0 Members and 1 Guest are viewing this topic.
Windows NT/2000 does not come with a command-line 'kill' utility. You can get one in the Windows NT or Win2K Resource Kit, but the kit's utility can only terminate processes on the local computer. PsKill is a kill utility that not only does what the Resource Kit's version does, but can also kill processes on remote systems. You don't even have to install a client on the target computer to use PsKill to terminate a remote process.
Никак.[snapback]3697[/snapback]
Implementing a "Kill" Operation in Windows NTPSS ID Number: Q90749Authored 21-Oct-1992 Last modified 02-Mar-1995The information in this article applies to: - Microsoft Win32 Software Development Kit (SDK) for Windows NT version 3.1SUMMARYThe following sample demonstrates how to implement a "kill" operation, suchas a UNIX ps/kill, under Windows NT. Note that PView will give you the PIDyou need.The code sample makes use of the Win32 API TerminateProcess(). WhileTerminateProcess() does clean up the objects owned by the process, it doesnot notify any DLLs hooked to the process. Therefore, one can easily leavethe DLL in an unstable state.In general, the Task List is a much cleaner method of killing processes.MORE INFORMATIONThe following sample shows how to "kill" a process, given its process ID(PID).Sample Code-----------#include <windows.h>#include <stdio.h>void ErrorOut(char errstring[30])/*Purpose: Print out an meaningful error code by means of GetLastError and printf.Inputs: errstring - the action that failed, passed by the calling proc.Returns: noneCalls: GetLastError*/{ DWORD Error; Error= GetLastError(); printf("Error on %s = %d\n", errstring, Error);}void main(int argc, char *argv[]){ HANDLE hProcess; DWORD ProcId; BOOL TermSucc; if (argc == 2) { sscanf(agrv[1],"%x", &ProcId); hProcess= OpenProcess(PROCESS_ALL_ACCESS, TRUE, ProcId); if (hProcess == NULL) ErrorOut("OpenProcess"); TermSucc= TerminateProcess(hProcess, 0); if (TermSucc == FALSE) ErrorOut("TerminateProcess"); else printf("Process# %.0lx terminated successfully!\n", ProcId); } else { printf("\nKills an active Process\n"); printf("Usage: killproc ProcessID\n"); }}Additional reference words: 3.10KBCategory: kbprgKBSubcategory: BseProcThrd
почему это никак?[snapback]3698[/snapback]
Эмм.. и как это в консольку запихать?)
написать тулзу [snapback]3710[/snapback]