4
|
Judah Gabriel Himango · 技术社区 · 15 年前 |
1
2
wm_char消息是由translateMessage调用生成的,因此开始查找的一个好地方是gecko源代码中的translateMessage调用。
在第一个示例代码中,您提供的函数仅由两个库(mozctl.dll和xul.dll)导入。既然您声称同样的错误也发生在geckofx中,我们可以将mozctl.dll从公式中去掉。这就剩下了xul.dll,所以考虑到gecko的源代码,我建议您研究一下
不幸的是,我不能在我的机器上运行或编译代码(没有安装MozillaActiveX控件的Windows7x64),所以我不能用调试器来验证其中的任何一个。希望它能帮助人们进一步追踪。 |
2
1
根本问题是,当Mozilla嵌入到另一个应用程序中时,它在发送内部事件时错误地发送Windows消息。Mozilla使用一个事件系统来协调线程之间的关系或调度线程上的延迟处理(请参见 nsIThread , nsIEventTarget )。例如,如果您嵌入一个带有大量活动xmlhttprequest的网页,Mozilla将使用其事件调度接口将事件分派回javascript,并将Windows消息作为副作用发送。一旦mozilla事件被完全调度,它将返回到主事件循环。 当Mozilla发送Windows消息时,它不包括由应用程序的事件循环(isDialogMessage()、translateMessage()、preTranslateMessage()或任何其他预处理)完成的额外处理,当Mozilla进入此状态时,将跳过这些预处理。因此,症状包括以字符形式插入而不是用于对话框导航的按键、偶尔忽略键盘热键或偶尔跳过自定义消息预处理。例如,Outlook2007/2010“撰写”屏幕偶尔会丢失按键,因为它依赖自定义消息预处理来处理键盘输入。 见 https://bugzilla.mozilla.org/show_bug.cgi?id=582790 一个解决问题的补丁。 |
3
1
我有免费的snoop和psm防钥匙记录器。 其中一个检测到火狐试图安装键盘挂钩。 mozilla/firefox文件xul.dll试图在键盘挂钩处安装。 否认。 |
JOO · 使用udpClient从多个IP地址连续接收数据 2 年前 |
Futterkiste · 函数比例图 2 年前 |
user18789895 · 我应该如何验证WinForms应用程序? 2 年前 |
beriscen · 如何使整个链接标签区域可点击? 2 年前 |
lpmaxim · 当鼠标光标悬停在按钮上时,背景图像会移动 2 年前 |