问题标签 [postmessage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - [C#][Win32 API] PostMessage 帮助?
我查看了站点和 MSDN 文档,但我仍然不明白 PostMessage() 的最后一个参数。
在人们询问如何使用 PostMessage 的论坛上,人们使用以下两种实现之一进行回复:
- PostMessage(WindowHandle, WM_KEYDOWN, KeyCode, MapVirtualKey(KeyCode, 0) << 16);
- PostMessage(WindowHandle, WM_KEYDOWN, KeyCode, 0);
有什么不同?为什么在某些情况下最后一个参数可以保留为 0,但在其他情况下必须“移位”以及所有这些?
只是一个快速的问题。不需要论文回复(尽管他们会非常感激)。任何见解都值得赞赏。提前致谢。
c# - PostMessage 似乎不起作用
我正在尝试使用 PostMessage 发送选项卡键。
这是我的代码:
当我按下输入时,代码被调用,但没有任何反应。然后我按TAB,它工作正常。(所以我发送标签消息有问题。)
javascript - 使用 Javascript、HTML5 的跨域 REST 代理
我正在编写一个服务(比如 service.com),它为在IFrames内部运行的外部应用程序提供REST API。(这些应用程序托管在 service.com 之外的域中)。
我正在为应用程序计划一个 JavaScript客户端库,以向 service.com REST API 发出纯 JavaScript 请求——基本上使用postMessage和我的 API 调用的一些临时封装来跨帧来回获取消息(来自outside-app.com IFrame --> service.com REST API,然后返回 IFrame 并返回响应)。
我的问题:是否有任何强大的通用 javascript库来完成我需要的那种跨域 REST 请求代理,或者我应该从头开始破解它?
javascript - HTML5 Javascript postMessage API 有什么好的调试器吗?
有没有什么好的工具可以让开发人员正确调试使用postMessage在窗口之间发送的消息?
或者可能是 Firebug 的插件?
dialog - 初始化主窗口 win32 时,何时显示模态对话框的最佳时间?
我试图在 Win32 中实现这一点,但我确信同样的规则也适用于 WinForms 的世界。
问:我创建了我的主窗口,然后,当它显示时,我想显示一个模式对话框。问题是; 我怎么知道主窗口何时完全初始化并可见?也就是说,究竟什么时候是显示对话框的最佳时间?
思路:
1) 处理WM_CREATE
和作为最后一步PostMessage(WM_USER_MESSAGE)
。处理WM_USER_MESSAGE
并显示模态对话框!
2) 处理WM_CREATE
并设置一个约 300 毫秒的计时器。处理WM_TIMER
,杀死计时器并显示模态对话框!
3) 处理WM_ACTIVATE
,如果是第一次激活PostMessage(WM_USER_MESSAGE)
。处理WM_USER_MESSAGE
并显示模态对话框!
4) 处理WM_SHOWWINDOW
,如果第一次显示显示模态对话框!
上述方法有效,但结果并不总是那么好。有没有更好的方法?也许以某种方式处理WM_ENTERIDLE
或消息?WM_KICKIDLE
javascript - 如何进行跨域postMessage?
postMessage的文档暗示跨域消息传递是可能的。然而:
这不是一个非常清楚的说明如何实际做到这一点。
想象两个网站:
- [家长] 托管在
qc-a.nfshost.com
- [儿童] 托管在
qc-b.quadhome.com
在父级中:
而且,在孩子身上:
一切都无济于事。
帮助?
macos - OS X 上的 PostMessage() 等。向窗口发送消息
Mac OS X 上 Windows 中的 PostMessage/SendMessage 等价物是什么?
我最近开始使用 Mac 开发,我的大部分经验来自 Windows 和 nix。
我想挂钩一个窗口并模拟鼠标点击或键盘按下。此外,我希望能够找到像 GetWindowText 这样的函数或任何可以从窗口获取特定文本的函数。
c# - 在窗口 C# 中按下虚拟键
嘿,我正在尝试在记事本中输入一条消息,而不必将其作为我的焦点窗口(前景窗口)。
这是我到目前为止所拥有的:
但这不会在记事本中输入 S。当我使用 VK_F5 时,它会显示日期/时间,而当我使用 VK_F1 时,它会显示帮助窗口但它不键入 s。
我曾考虑过使用 SendKey,但这需要我以记事本为目标。
任何帮助,将不胜感激。
谢谢。
delphi - 在主线程(Lazarus)的上下文中执行代码
我必须在主线程的上下文中执行一些代码。我正在使用 Lazarus + FPC。我从 DLL 中的线程(如果在 linux 上是共享库)中接收到一个事件,并且我的回调函数被调用。请注意,此函数不是任何类的成员,而是附加了“cdecl”指令的独立传统函数。
我必须为收到的每条此类消息触发一个对应的属性事件处理程序。这些事件必须在主线程的上下文中传递。我知道两种这样的解决方案:
- 留言
- Application.QueueAsyncCall
第一个没问题,但它需要一个窗口句柄。由于这是一个库代码,因此没有可用的句柄。AllocateHWND 不是一个选项,因为它不是跨平台的。我知道我可以创建一个虚拟表单,但这是一个非常糟糕的解决方案
第二个工作正常,但我有一个问题,例如,在我将鼠标移动到应用程序中之前,不会处理调用。也许我做错了什么我不知道。我就像我的电话只有在消息处理开始时才被处理。但这显然是一个漫长的等待。
所以我想知道这里最好的解决方案是什么(可能是 QueueAsyncCall)以及如何确保我的消息(调用)将在可接受的时间范围内得到处理?
c++ - MFC 数据通过 PostMessage 转发到主线程
我有一个需要重组的 C++/MFC 应用程序。该应用程序用于处理主线程上的大部分数据,因此阻塞了输入,现在我想更改它,以便所有 GUI 更新都通过 PostMessage 完成。
不幸的是,我似乎无法找到如何实现这一目标的好消息来源。
现在我正在考虑创建一个优先级队列,受关键部分保护,一个处理此队列的工作线程(while(true)),以及将指向数据的指针发送到主线程的 PostMessage 机制。
这种方法让我害怕的是 PostMessage 根本不能保证到达主线程,所以,如果我理解正确的话,就有可能发生内存泄漏。
第二个问题是另一个应用程序可以向我的应用程序发送自定义消息,并且我的应用程序可能会尝试取消引用 WPARAM 或 LPARAM 作为指针,从而导致 AV。
有谁知道此类任务的最佳实践是什么?
数据可以是 Web 控件的 HTML 内容,也可以是列表框、下拉列表等的其他内容。