3

我正在编写一个在特定应用程序中加载时自动注入的 DLL。因为我想在处理程序的同时运行程序,并且我的用户可能希望在特定情况下(例如寻找错误)加载没有它的程序,所以有时我想阻止加载 DLL。目前,我通过在加载时检查 VK_LCONTROL、VK_LSHIFT 和 VK_LMENU 的 GetKeyState 来执行此操作,如果全部关闭,我会默默地卸载自己。但是,加载程序并查看是否加载了 DLL 可能需要几秒钟,所以我想在我们卸载时通知用户。我考虑过 MessageBox,但这太具有破坏性了。我已经尝试过 MessageBeep,但这似乎对我的设置没有任何作用。目前我正在使用一个简单的双哔声(哔声,睡眠,哔声)来指示卸载,但这对我的同事来说可能会变得相当烦人。我还考虑了一个系统托盘图标,但这会引入大量代码和潜在的错误,而我的目标是尽量减少通知,以免引入任何微妙的错误。

其他人会知道一种微妙的方式(最好是视觉方式)来通知用户他们的输入已被成功接收吗?

4

7 回答 7

4

鉴于您的目标范围有限,这实际上可能是适当使用任务栏通知气球提示

编辑:添加了乔在他同意的答案中发布的链接。谢谢,乔!:)

于 2009-01-20T21:47:35.190 回答
2

如果您的应用底部有一个状态栏,您可以在其中放置一些消息文本...

于 2009-01-20T21:35:12.437 回答
1

您是否考虑过会自行关闭的定时消息框?

http://www.codeguru.com/cpp/misc/misc/messageboxhandling/article.php/c203

于 2009-01-20T21:43:04.183 回答
0

更改窗口标题,然后再将其更改回来。然后,即使用户同时将 Alt-Tabbed 切换到其他程序,您也可以看到更改,而不会从用户那里窃取焦点。

于 2009-01-20T21:46:29.967 回答
0

同意 Greg D.

看这里:http ://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/15cbdc8d-fde3-44ab-bbbc-e50cb2071674/

于 2009-01-20T21:52:07.363 回答
0

您可以打开一个带有短消息的窗口并在 0.5 秒左右后再次自动关闭它。它不需要用户交互,所以我认为它不会造成很大的破坏。

于 2009-01-20T21:42:38.927 回答
0

两个想法:

  1. 扭转局面。加载 DLL时有视觉指示,如果没有指示符,则让您知道 DLL 已被卸载。也许是标题栏中的后缀。这样一来,您就可以随时进行判断,而不仅仅是在启动期间。

  2. FlashWindowEx

于 2010-08-23T21:51:17.020 回答