请问,如何得到最靠前窗口的名称
我一个程序,期间会弹出一些窗口,请问:怎么得到弹出最前面的窗口的名称?
谢谢 --------------------编程问答-------------------- 试试api的 GetForegroundWindow得到句柄 --------------------编程问答-------------------- 没积分啊没积分 --------------------编程问答-------------------- --------------------编程问答-------------------- 这些窗口是本程序弹出来的吗?那你是要在什么情况下获得? --------------------编程问答--------------------
--------------------编程问答--------------------
[DllImport( "User32.dll ")]
static extern int GetWindowText(IntPtr handle,StringBuilder text,int MaxLen);
调用
StringBuilder text = new StringBuilder(len);
int i=GetWindowText(handle,text,len);
API方式
/// <summary>
///
/// </summary>
/// <param name="hwnd"></param>
/// <returns></returns>
[DllImport("user32.dll", EntryPoint = "GetForegroundWindow")]
public static extern IntPtr GetForegroundWindow();
public Form1()
{
InitializeComponent();
IntPtr ip = GetForegroundWindow();
if (ip != IntPtr.Zero)
{
//...............
}
}
如果是。Net程序自己的窗口使用如下属性:
--------------------编程问答-------------------- 不错啊,牛人 --------------------编程问答--------------------
Form ActiveFrm = Form.ActiveForm;
是本程序的,要在一个label的Text属性,中得到最前窗口的Text --------------------编程问答--------------------
我的意思就是本程序的窗口,阁下的意思,是不是就只需要这句代码,你的6楼回答中,上面那部分内容不需要了吗? --------------------编程问答--------------------
牛人 --------------------编程问答--------------------
不错 的方法 没用过 一直做BS --------------------编程问答--------------------
请问,6楼回答的,是只要下面那部分,还是把下面那部分添加到if里面 --------------------编程问答-------------------- 我主要是想得到这样的效果:
无论何时,只要最前窗口,发生了变化,label就显示最前窗口的名称(包括当弹出多个窗口的时候,我在窗口间换来换去,改变最靠前窗口),反正label就显示最前窗口的名称,无论是通过何种方式, --------------------编程问答--------------------
等待答案
具体该怎么写 --------------------编程问答-------------------- 等待答案 --------------------编程问答-------------------- 以前vb有个ZOrder,现在.net里似乎没有给出访问窗口z顺序的方法了,看看这几个WinAPI
http://blog.csdn.net/hhf383530895/archive/2009/11/24/4862179.aspx
GetTopWindow是不是你要的 --------------------编程问答--------------------
用6楼前面部分就可以了吧,得到当前窗口的句柄,再通过句柄得到窗口名称
补充:.NET技术 , C#