Yap icon indicating copy to clipboard operation
Yap copied to clipboard

云原神寄了

Open Mikachu2333 opened this issue 1 year ago • 16 comments

RT,新版本判断逻辑如下

标题为 云·原神,类名为 Qt5152QWindowIcon,可见,取不到父窗口

图片

Mikachu2333 avatar Feb 23 '24 16:02 Mikachu2333

不过鉴于我的rust水平实在有限(刚刚入门),这玩意提不了pr了……

Mikachu2333 avatar Feb 23 '24 16:02 Mikachu2333

啊,已知问题。之前不指定hwnd能用bitblt截到屏的。指定了(主要是为了获取alpha通道)之后是寄的。。

Alex-Beng avatar Feb 23 '24 16:02 Alex-Beng

BTW,我rust也很烂,甚至不会用copy trait,,所以代码里各种硬clone(

Alex-Beng avatar Feb 23 '24 16:02 Alex-Beng

用aardio写了个仿云原神窗口情况的程序用于测试,源码也附上了,用于测试

test.zip

Mikachu2333 avatar Feb 23 '24 17:02 Mikachu2333

用aardio写了个仿云原神窗口情况的程序用于测试,源码也附上了,用于测试

发现上面的程序做的还是不是太对,不过已经找到了遍历窗口的解决方案

https://github.com/microsoft/windows-rs/blob/0.53.0/crates/samples/windows/enum_windows/src/main.rs

这玩意遍历出来,云原神共3个窗口,其中一个和另外两个不一样的就是了。 图片

Mikachu2333 avatar Feb 24 '24 05:02 Mikachu2333

不过据better genshin impart的开发者说bitbit现在取不到云原神的窗口了……

Mikachu2333 avatar Feb 24 '24 05:02 Mikachu2333

bitblt指定hwnd截屏以获取alpha通道是在b7ec40引入的。在此之前最近的release是nightly-40 。我先切下系统试试。

Alex-Beng avatar Feb 24 '24 05:02 Alex-Beng

image image 我这里是能用的,bitblt可以通过不指定hwnd截到屏,但是没有alpha通道。

Alex-Beng avatar Feb 24 '24 05:02 Alex-Beng

我这里的云原神无法按键,也无法获取……

Mikachu2333 avatar Feb 24 '24 05:02 Mikachu2333

用的啥版本

Alex-Beng avatar Feb 24 '24 06:02 Alex-Beng

yap本地构建的最新版本啊 (不过是用gnu target构建的)

Mikachu2333 avatar Feb 24 '24 06:02 Mikachu2333

bitblt指定hwnd截屏以获取alpha通道是在b7ec40引入的。在此之前最近的release是nightly-40 。我先切下系统试试。

我用的是nightly-40,还没加hwnd截屏

Alex-Beng avatar Feb 24 '24 06:02 Alex-Beng

我这里的云原神无法按键,也无法获取……

更正,可以按键,但是云原神无反应

Mikachu2333 avatar Feb 24 '24 06:02 Mikachu2333

yap用的enigo库模拟键鼠。enigo是用send input而不是post/send message到hwnd的,如果不能用我也不知道为啥

Alex-Beng avatar Feb 24 '24 06:02 Alex-Beng

send input 可以模拟云原神的键鼠,但是 post/send message 我不确定,未测试。

huiyadanli avatar Feb 24 '24 06:02 huiyadanli

yap用的enigo库模拟键鼠

从昨晚开始就已经在看你用的enigo的文档和git了(大悲

Mikachu2333 avatar Feb 24 '24 06:02 Mikachu2333