惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
IT之家
IT之家
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
V
Visual Studio Blog
云风的 BLOG
云风的 BLOG
MyScale Blog
MyScale Blog
阮一峰的网络日志
阮一峰的网络日志
Stack Overflow Blog
Stack Overflow Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
V
V2EX
N
Netflix TechBlog - Medium
Vercel News
Vercel News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
The Blog of Author Tim Ferriss
量子位
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
月光博客
月光博客
F
Fortinet All Blogs

博客园 - 愛如風過

MODRD 指令 读取地址是哪儿来的 如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? easyui datagrid 的分页刷新按钮 HttpRequest Get Post,WebClient Get EASYUI DATAGRID 多列复选框CheckBox Android Service 数据库主键设计之思考[转] Silverlight 使用用户控件 [转] - 愛如風過 技巧:在Silverlight 2应用程序中切换用户控件[转] Jquery 实现“最近浏览过的商品”的功能 - 愛如風過 - 博客园 Jquery获取设置radio select checkbox 文本框 [转] - 愛如風過 泛型 Vista 中,使用VS 2005调试程序没有权限的问题? Team Foundation 和 Visual SourceSafe 之间的区别 MSF资源 网页左右浮动广告(包括ASP.NET后台管理) why? 在水晶报表中实现任意选择指定字段显示资料 .在Datagrid中修改数据,当点击编辑键时,数据出现在文本框中,怎么控制文本框的大小 ?(转)
GetWindowThreadProcessId用法(转)
愛如風過 · 2014-03-21 · via 博客园 - 愛如風過

函数功能:该函数返回创建指定窗口线程的标识和创建窗口的进程的标识符,后一项是可选的。

    函数原型;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("没有找到计算器窗口");  
}