Winapi 使用程序WIndowClass调用FindWindowEx
我试图使用FindWindowEx来确定某个程序是否正在运行Winapi 使用程序WIndowClass调用FindWindowEx,winapi,Winapi,我试图使用FindWindowEx来确定某个程序是否正在运行 FindWindow(NULL, "Mozilla Firefox"); 只要我在firefox的起始页上,这就可以正常工作。我发现的一个解决方法是: FindWindow(NULL, "MozillaWindowClass"); 但这让我想知道这是否是专门为firefox设计的,但它似乎适用于其他应用程序: FindWindow(NULL, "OllyDbgWindowClass"); 所以我的问题是,对于任何程序,我是否可以
FindWindow(NULL, "Mozilla Firefox");
只要我在firefox的起始页上,这就可以正常工作。我发现的一个解决方法是:
FindWindow(NULL, "MozillaWindowClass");
但这让我想知道这是否是专门为firefox设计的,但它似乎适用于其他应用程序:
FindWindow(NULL, "OllyDbgWindowClass");
所以我的问题是,对于任何程序,我是否可以使用FindWindow和“programXWindowClass”这样的参数?有例外吗
“programXWindowClass”是否保证存在
“programXWindowClass”是否保证存在
不,你所观察到的只是命名上的巧合
“programXWindowClass”是否保证存在
没有。您观察到的只是命名上的巧合。调用方不需要遵循任何特定模式,即将窗口类名映射到任何其他信息(如应用程序名)。任何调用方都可以选择他们喜欢的任何有效窗口类名 记住这一点的两个显著后果:
- 窗口类名对于任何给定的应用程序都不必是唯一的。例如,默认情况下,所有UWP应用程序都使用窗口类“Windows.UI.Core.CoreWindow”
- 窗口类名可以在应用程序的不同版本中更改,甚至可以在应用程序的不同调用中更改
- 窗口类名对于任何给定的应用程序都不必是唯一的。例如,默认情况下,所有UWP应用程序都使用窗口类“Windows.UI.Core.CoreWindow”
- 窗口类名可以在应用程序的不同版本中更改,甚至可以在应用程序的不同调用中更改
- 调用方不需要遵循任何特定模式,即将窗口类名映射到任何其他信息(如应用程序名)。任何调用方都可以选择他们喜欢的任何有效窗口类名
记住这一点的两个显著后果: