GetWindowThreadProcessId用法(轉)


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

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

    參數:

    hWnd:窗口句柄。

    lpdwProcessld:接收進程標識的32位值的地址。如果這個參數不為NULL,GetWindwThreadProcessld將進程標識拷貝到這個32位值中,否則不拷貝。

    返回值:返回值為創建窗口的線程標識。

 


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

 

 
using System.Runtime.InteropServices;  

  

 

然后寫API引用部分的代碼,放入 class 內部

 

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

  

 


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

 

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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM