Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我到处寻找答案,希望这是因为它没有得到回答,而不是我的搜索词缺乏详细信息。我知道如何获取和使用句柄,我只是在问一个一般性问题。
我使用 MFC 制作的每个程序都有窗口句柄#32770,但所有其他窗口(如编辑框等)都有动态句柄,所以每次打开程序时它的句柄都是不同的。主程序如何获得它的句柄,是否可以给任何窗口一个静态名称,以便不再需要 enumwindows 或 winspy++/类似工具。
窗口句柄始终是动态的。您可以通过在创建时保存它们的值或使用特殊的 win api 函数来管理它们,在 MFC 的情况下,您使用CWnd类或更确切地说是从它派生的类。FindWindow如果您想按名称/类查找应用程序窗口的外部内容,您可以使用。在您的对话框中,您可以使用它GetDlgItem来查找控件的窗口id。
CWnd
FindWindow
GetDlgItem
id