有没有办法检查鼠标何时高于标准窗口控制按钮(关闭、最小化等)?
这段代码不是我的。我浏览了上面的链接,并根据我的要求进行了一些修改。我正在尝试在 C# 中为最小化和关闭表单按钮编写鼠标进入和鼠标离开事件?
SpeechSynthesizer reader;
internal const int WM_NCMOUSEMOVE = 0x00A0;
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_NCMOUSEMOVE)
{
//Mouse over on Minimize button
if ((int)m.WParam == 0x8)
{
reader = new SpeechSynthesizer();
reader.SpeakAsync("Minimize button");
}
//Mouse over on Maximize button
if ((int)m.WParam == 0x9)
{
reader = new SpeechSynthesizer();
reader.SpeakAsync("Maximize button");
}
//Mouse over on Close button
if ((int)m.WParam == 0x14)
{
reader = new SpeechSynthesizer();
reader.SpeakAsync("Close button");
}
}
base.WndProc(ref m);
}
我的问题:
- 如何不重复使用reader.SpeakAsync (Asynchronous) 方法。因为如果我使用reader.speak(同步),它将等待进程直到它完成阅读文本。
- 我还需要实现鼠标离开事件。因为如果鼠标离开按钮,我确实想调用reader.Dispose()方法。有没有办法实现鼠标离开事件?
请帮忙。