如何用获取当前鼠标所在窗口的句柄及窗口标题用c或c++?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用获取当前鼠标所在窗口的句柄及窗口标题用c或c++?相关的知识,希望对你有一定的参考价值。

参考技术A #include \\r\\nint main()\\r\\n\\r\\n while (1)\\r\\n \\r\\n POINT pNow = 0,0;\\r\\n if (GetCursorPos(&pNow)) // 获取鼠标当前位置\\r\\n \\r\\n HWND hwndPointNow = NULL;\\r\\n hwndPointNow = WindowFromPoint(pNow); // 获取鼠标所在窗口的句柄\\r\\n if (hwndPointNow)\\r\\n \\r\\n //cout << "Success!!" << endl;\\r\\n char szWindowTitle[50];\\r\\n ::GetWindowTextA(hwndPointNow, szWindowTitle, sizeof(szWindowTitle)); // 获取窗口标题\\r\\n cout << hex << (int)hwndPointNow << endl; // 鼠标所在窗口的句柄\\r\\n cout << szWindowTitle << endl; // 鼠标所在窗口的标题\\r\\n \\r\\n else\\r\\n cout << "Error!!" << endl;\\r\\n \\r\\n else\\r\\n cout << "Error!!" << endl;\\r\\n Sleep(500);\\r\\n \\r\\n return 0;\\r\\n

c#,求助!在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。

我想在构造函数里。调用Start
报错了,错误如题。该怎么解决?能简单说下原理吗?
public Class1()

InitializeComponent();
Start();

private void Start()

this.Invoke(new MyDelegate(GetUserID));

class1的构造函数还没完成,也就是一个class1得实例还没创建完成,你就调用该实例(this)的成员,当然不行.就像一个窗口里面的控件还没创建出来,你就是用控件的方法,当然不可以的.看看能不能把start()放在form1_load事件里 参考技术A 我有个比较傻的解决办法,加一个timer控件,Enable设为true,interval设为10
然后在Timer1_Tick事件中添加
this.Invoke(new MyDelegate(GetUserID));
timer1.Enabled=false;
参考技术B 句柄指的是指向此控件的指针,而在此指针还没创建时,就用此指针了.

以上是关于如何用获取当前鼠标所在窗口的句柄及窗口标题用c或c++?的主要内容,如果未能解决你的问题,请参考以下文章

MFC中怎样获取指定窗口的句柄

C#获取当前窗体句柄及该窗体里的信息

用python win32 获得计算器里的计算结果

C或C++.NET语言中,想实现点击按钮后关闭当前窗口和所有窗口?

c 获取本身程序窗口的标题

C#获取当前窗体句柄及该窗体里的信息