C#或其他语言实现系统鼠标样式以及声音监控

鼠标相关场景:
鼠标在另一个激活窗口程序界面内移动,在特定位置(随机)时会改变鼠标样式,需要用C#程序监控鼠标改变成该特定样式时,进行下一步操作。

主要问题:
1. 监控的是系统鼠标,而非C#程序控件内的鼠标;
2. 没法找到对应的.cur文件;
3. 使用哪种方式唯一识别当前鼠标?最早的想法是获取当前系统鼠标对应的.cur文件名称(string),但是目测C#没有这样的属性定义。看了Cursor类下的一些属性并且尝试,似乎没有哪个属性可以唯一识别其他程序内的鼠标样式;

声音相关场景:
另一个激活窗口程序内发出某一种声音时,进行下一步操作。

主要问题:
1. 没法找到对应的.ogg文件;
2. 使用哪种方式确认系统播放了该声音?最早的想法是获取当前系统声音进程播放的文件名称(string),但是不知道C#如何实现。

先感谢大咖们的帮助。

一个业余编程干(玩)坏(魔)事(兽)的菜鸟……

鼠标参考 https://blog.csdn.net/yokeqi/article/details/41987237 单独截取鼠标之后,后面用位图对比即可。

不需要那么麻烦,只要拦截setcursor这个api函数就可以了。google下detour这个库。

如果采纳本回答,可以给你一个简单的api hook代码。