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

推荐订阅源

Forbes - Security
Forbes - Security
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
Blog — PlanetScale
Blog — PlanetScale
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
U
Unit 42
I
InfoQ
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
V
Visual Studio Blog
B
Blog RSS Feed
Vercel News
Vercel News
F
Fortinet All Blogs
Know Your Adversary
Know Your Adversary
T
Troy Hunt's Blog
博客园 - 【当耐特】
MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
A
About on SuperTechFans
Jina AI
Jina AI
小众软件
小众软件
T
Threatpost
有赞技术团队
有赞技术团队
人人都是产品经理
人人都是产品经理
The Hacker News
The Hacker News
T
The Exploit Database - CXSecurity.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
酷 壳 – CoolShell
酷 壳 – CoolShell
Scott Helme
Scott Helme
B
Blog
腾讯CDC
Last Week in AI
Last Week in AI
P
Proofpoint News Feed
S
Schneier on Security
N
News and Events Feed by Topic
Microsoft Security Blog
Microsoft Security Blog
K
Kaspersky official blog
G
Google Developers Blog
T
Tor Project blog
PCI Perspectives
PCI Perspectives
S
Secure Thoughts
Google Online Security Blog
Google Online Security Blog
Latest news
Latest news
Google DeepMind News
Google DeepMind News
MyScale Blog
MyScale Blog
罗磊的独立博客

博客园 - 愛如風過

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