我知道一个程序的进程,如果知道它相应的句柄
同一个程序的进程号和句柄号不同的,它们之间有联系吗?

解决方案 »

  1.   

    进程号是指ProcessID
    句柄号是指Handle
    从名字也能看出,二者不同,一个相当于标识,一个相当于操纵手柄
    获取进程有关的信息可通过ID,而对进程进行管理就需要HandleHandle可通过OpenProcess返回但出于安全原因,NT内核系统,需提高权限才行,否则得不到Handle!
      

  2.   

    有一定的联系!
    --------------------------
    GetWindowThreadProcessId VB声明 
    Declare Function GetWindowThreadProcessId Lib "user32" Alias "GetWindowThreadProcessId" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
     
    说明 
    获取与指定窗口关联在一起的一个进程和线程标识符 
    返回值 
    Long,拥有窗口的线程的标识符 
    参数表 
    参数 类型及说明 
    lpdwProcessId Long,指定一个变量,用于装载拥有那个窗口的一个进程的标识符 
    hwnd Long,指定窗口句柄 
      

  3.   

    GetWindowThreadProcessId是知道句柄,求进程,我现在不要
    我要知道进程求句柄,如何来?不用findwindow
      

  4.   

    乱套呀!
    说了半天,算我白说!一点没懂!
    不告诉你用OpenProcess了吗!什么就——知道句柄,求进程啦!
    ProcessID
    Handle
    hwnd
    hdc
    别弄乱了!句柄这个词,要加主语,后三个都可叫句柄,要分清谁对谁呀!
      

  5.   

    我知道ProcessID,想求hwnd,呵呵
      

  6.   

    倒,又吃了一惊,我还以为你要进程的Handle呢!看来楼主对这些API概念上很含糊。一个进程可能包含多个线程,多个窗体,而窗体总是隶属于其中某个线程的,这往往是一对多的关系? 需Enum后再根据条件比较。