如何在C#中获得Process的主窗口句柄?

问题描述 投票:8回答:1

目标是使用Win Api的SendMessage()函数以编程方式启动Windows窗体,获取其句柄并将信息发送到其wndProc()函数。

我已处理好SendMessage()部分,但现在的问题是在过程开始后获取表单的句柄。

我的第一个猜测是Process的MainWindowHandle属性将为我寻找所需的句柄,但是启动进程后MainWindowHandle仍然等于0,并且以下代码未显示我刚刚启动的进程的句柄:] >

foreach (Process p in Process.GetProcesses())
{
Console.WriteLine(p.MainWindowHandle);
}

有人可以告诉我如何执行此操作以及是否可以实际执行吗?

目标是使用Win Api的SendMessage()函数以编程方式启动Windows窗体,获取其句柄并将信息发送到其wndProc()函数。我得到了SendMessage()部分的照顾...

c# process window handle
1个回答
9
投票

有时,该过程花了一秒钟完成所有设置,但该对象立即返回。

© www.soinside.com 2019 - 2024. All rights reserved.