GetWindowThreadProcessId用法(轉)

函數功能:該函數返回建立指定窗口線程的標識和建立窗口的進程的標識符,後一項是可選的。

    函數原型;DWORD GetWindowThreadProcessld(HWND hwnd,LPDWORD lpdwProcessld);

    參數:

    hWnd:窗口句柄。

    lpdwProcessld:接收進程標識的32位值的地址。若是這個參數不爲NULL,GetWindwThreadProcessld將進程標識拷貝到這個32位值中,不然不拷貝。

    返回值:返回值爲建立窗口的線程標識。
函數

 


C#中使用該函數首先導入命名空間:spa

 

 
using System.Runtime.InteropServices;  

  

 

而後寫API引用部分的代碼,放入 class 內部線程

 

[DllImport("User32.dll", CharSet = CharSet.Auto)]  
public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID);  

  

 


 這個函數有兩個參數,第一個參數是窗口句柄 由FindWindow獲取,第二個參數是存放進程ID的變量。例如:blog

 

 
//獲取計算器窗口句柄  
IntPtr hwnd = FindWindow(null, "計算器");  
if (hwnd != IntPtr.Zero)  
{  
    int calcID;  
    //獲取進程ID  
    GetWindowThreadProcessId(hwnd, out calcID);  
    MessageBox.Show(calcID.ToString());  
}  
else  
{  
    MessageBox.Show("沒有找到計算器窗口");  
}  
相關文章
相關標籤/搜索