一般的是不是通过一个进程句柄再获得这个应用程序窗口句柄的?
感觉上好像是一种包含关系,即进程句柄包含应用程序句柄,再包含应用程序主窗口句柄!!
不知道这种思路是不是正确的请各位高手指正!!请代码解释!!!!!!例:// 取得记事本的窗口句柄
HWND hWnd = ::FindWindow( NULL  , "未定标题 - 记事本" );// 取得其中输入框的窗口句柄
HWND hEdit = ::GetDlgItem( hWnd , 0x0F );  // 这里0x0F是编辑框的ID,可在SPY++中观察得到
// 向输入框中填写'a'
::SendMessage( hEdit , WM_CHAR , (WPARAM)'A' , 0x00000001 );

解决方案 »

  1.   

    进程句柄存放在用户地址空间中,它是进程句柄表的索引值,通过这个值可以找到进程相关的内核信息。用户可以通过kernel32.dll相关的API进行操作。
    窗口句柄存放在系统地址空间中,它是属于用户句柄范畴,用户可以能过user32.dll相关API进行操作。
      

  2.   

    也就是说获得一个进程的句柄和获得一个窗口的句柄不是一回事啦?
    或者说不能通过一个进程句柄来获得创建这个进程的应用程序主窗口句柄,是吗?进程句柄存放在用户地址空间,窗口句柄存放在系统地址空间但是看到了好多的API函数要么就是要一个进程的句柄,要么就是要一个应用程序实便化对象句柄,我都被搞晕了!!!!!!!!!希望各位高手给一个归纳的结果!!!!!!!!谢啦!