DWORD pid;
GetWindowThreadProcessId(你得到的窗口句柄,&pid);
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pid);
TerminateProcess(hProcess,0);

解决方案 »

  1.   

    GetWindowThreadProcessId 这个API要用的到地址,请问在c#中如何将一个地址做参数那?
    毕竟没有指针蛮麻烦的,好象c#中也可以用指针的把,请问怎么用那?
      

  2.   

    //声明 [DllImport("User32.dll")]
    public static extern uint GetWindowThreadProcessId( IntPtr hwnd,out IntPtr pid);
    [DllImport("Kernel32.dll")]
    public static extern uint TerminateProcess(
    IntPtr hProcess, // handle to the process
    uint uExitCode   // exit code for the process
    );
    [DllImport("Kernel32.dll")]
    public static extern  IntPtr OpenProcess(
    uint dwDesiredAccess,  // access flag
    uint bInheritHandle,    // handle inheritance option
    IntPtr dwProcessId       // process identifier
    );
    //调用
    IntPtr pid = new IntPtr(0);
    GetWindowThreadProcessId(From1.Handle,out pid);
    IntPtr pro = OpenProcess(1,0,pid);
    TerminateProcess(pro,0);