需求场景:在windows虚拟机中登录多个微信,微信来新消息时,图标会闪动,通过获取微信图标闪动的状态,判断有微信新消息;
描述:我们尝试过按键精灵找图、找色的方法,只能在登录一个微信、且在登录虚拟机远程桌面时可以获取到微信图标闪动状态,远程桌面断开后就无法获取到微信图标闪动状态,希望能找到有效的实现方法,必须是“识别微信图标闪动”的方式;
可以私信我,公司的需求,可以付费
需求场景:在windows虚拟机中登录多个微信,微信来新消息时,图标会闪动,通过获取微信图标闪动的状态,判断有微信新消息;
描述:我们尝试过按键精灵找图、找色的方法,只能在登录一个微信、且在登录虚拟机远程桌面时可以获取到微信图标闪动状态,远程桌面断开后就无法获取到微信图标闪动状态,希望能找到有效的实现方法,必须是“识别微信图标闪动”的方式;
可以私信我,公司的需求,可以付费
首先,你需要知道的是,微信的闪动状态是通过其窗口的标题栏实现的。当收到新消息时,窗口的标题栏会以一定的频率进行闪烁。因此,要识别微信图标的闪动状态,你需要监视微信窗口的标题栏并检测其是否在闪烁。
以下是一个可能的实现方法,使用的是Python语言,利用pywin32库来监视窗口的标题栏。注意,这只是一种实现方式,可能并不适用于所有情况。此外,你需要确保你的程序有足够的权限来访问微信的窗口。
import time
import win32gui
def check_wechat_new_message():
wechat_window = None
for i in range(10): # 尝试寻找微信窗口,如果找不到则等待一会儿
try:
wechat_window = win32gui.FindWindow(None, '微信')
break
except:
time.sleep(1)
if wechat_window is None: # 如果找不到微信窗口,返回None
return None
else:
title_state = win32gui.GetWindowText(wechat_window) # 获取窗口标题
return title_state
这个函数会尝试寻找微信窗口,并获取其窗口标题。如果找不到微信窗口,函数会等待一会儿然后再次尝试。如果找到了微信窗口,函数会返回窗口的标题。你可以通过检查返回的标题来判断微信是否收到了新消息。
然而,这个方法有一个限制:它只能检测到当前已经打开的微信窗口。如果微信窗口已经被最小化或者关闭,这个方法就无法检测到。如果你需要检测这种情况,你可能需要使用其他的方法,比如使用微信的Web API或者使用第三方工具来监控应用程序的活动。
1 回答774 阅读✓ 已解决
2 回答1.1k 阅读
926 阅读