FindWindow函数

先看FindWindow函数具体使用,可以查找现在电脑上软件是否打开

HWND  pWnd =  NULL;
pWnd =  ::FindWindow(NULL, "CutterComServer");
if (pWnd == NULL)
{
	pWnd =  ::FindWindow(NULL, "CutterServer");
	if (pWnd == NULL)
	{
		pWnd =  ::FindWindow(NULL, "切割控制中心");
		if(pWnd==NULL)
			pWnd = ::FindWindow(NULL, "EchoStudio");
	}
}

FindWindow函数是Windows API提供的一个函数,用于在当前活动的桌面窗口中查找具有指定类名和窗口名的顶级窗口。

函数原型如下:

HWND FindWindow(
    LPCTSTR lpClassName,
    LPCTSTR lpWindowName
);

参数说明:

  • lpClassName:指定要查找的窗口类名,可以是窗口类名字符串或者是一个原子型的类名原子。如果为NULL,则表示匹配所有的窗口类名。
  • lpWindowName:指定要查找的窗口名,可以是窗口名字符串或者是一个原子型的窗口名原子。如果为NULL,则表示匹配所有的窗口名。

返回值:

  • 如果函数成功,返回找到的窗口的句柄(HWND)。
  • 如果函数失败,返回NULL

FindWindow函数的作用是根据指定的类名和窗口名,在当前活动的桌面窗口中查找匹配的顶级窗口,并返回该窗口的句柄。通过窗口句柄,可以进行其他操作,如发送消息、获取窗口信息等。

以下是一个示例代码,演示如何使用FindWindow函数查找记事本窗口并发送消息:

#include <Windows.h>

int main()
{
    // 查找记事本窗口
    HWND hWnd = FindWindow(NULL, TEXT("记事本"));

    if (hWnd != NULL)
    {
        // 向记事本窗口发送消息
        SendMessage(hWnd, WM_CLOSE, 0, 0);
    }
    else
    {
        // 找不到记事本窗口
        MessageBox(NULL, TEXT("找不到记事本窗口"), TEXT("错误"), MB_OK | MB_ICONERROR);
    }

    return 0;
}

在上述示例中,我们使用FindWindow函数查找窗口类名为NULL(匹配所有窗口类名)且窗口名为"记事本"的顶级窗口。如果找到了记事本窗口,则使用SendMessage函数向该窗口发送WM_CLOSE消息,以关闭记事本窗口。如果找不到记事本窗口,则弹出一个错误提示框。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Minuw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值