jjzjj

postMessage

全部标签

c++ - 如何通过 PostMessage 发送字符串?

在我的应用程序中,我想从不同的线程向对话框发送消息。我想将std::exception派生类引用传递给对话框。类似这样的:try{//dostuff}catch(MyException&the_exception){PostMessage(MyhWnd,CWM_SOME_ERROR,0,0);//sendthe_exceptionorthe_exception.error_string()here}我想在我的对话框中接收消息并显示the_exception.error_string()中的错误LPARAMCMyDlg::SomeError(WPARAM,LPARAM){show_err

c++ - PostMessage() 成功但我的消息处理代码从未收到消息

在我的C++应用程序的GUI对象中,我在主窗口过程中有以下内容:caseWM_SIZE:{OutputDebugString(L"WM_SIZEreceived.\n");RECTrect={0};GetWindowRect(hwnd,&rect);if(!PostMessage(0,GUI_MSG_SIZECHANGED,w,MAKELONG(rect.bottom-rect.top,rect.right-rect.left))){OutputDebugString(L"PostMessagefailed.\n");//GUI对象还有如下getMessage()方法:intGUI::

c++ - SendMessage 与 PostMessage + WaitForSingleObject

我想知道调用SendMessage(哪个block)和调用PostMessage以及WaitForSingleObject有什么区别。想法? 最佳答案 SendMessage()可能会被拒绝,如果您从COM调用的上下文中调用它,COM对象位于STA中(调用通过消息泵调度)。PostMessage()不限于遵守COM单元规则。此外,PostMessage()将消息放在窗口消息队列的末尾。SendMessage()绕过队列。您可以在RaymondChen的博客上找到关于消息队列的更详细的讨论TheOldNewThing.我的观点是,Se

windows - PostMessage() 消息在 Windows 中是否按顺序显示?

一般的问题是,如果我从一个单独的工作线程向Windows消息泵发送多条消息,它们会按照我发送的顺序出现在目的地吗?即..::PostMessage(m_hUsers,WM_BULKPROCESS,0,0);//...someprocessinghere...::PostMessage(m_hUsers,WM_BULKDONE,0,0);m_hUsers是我从我的工作线程向其发送消息的窗口的句柄(HWND)。那么,WM_BULKPROCESS是否总是首先出现在窗口中(因此由该对话框类中的处理程序处理),或者它们是否有可能乱序,即WM_BULKDONE在WM_BULKPROCESS之前得到

c# - 在 c# 中向应用程序发送击键(sendkeys、postmessage、sendmessage 都不起作用)

我正在尝试执行以下操作之一1.打开所需的程序并以编程方式按下一个键2.找到打开的程序窗口并以编程方式按下一个键(两者都可以)我已经尝试过多次SendKeys.SendWait()、PostMessage()和SendMessage()的实现,但均未成功。以下是我的代码片段//includedalltheseforattempts[DllImport("User32.dll")]staticexternIntPtrFindWindow(stringlpClassName,stringlpWindowName);[DllImport("User32.dll")]staticexternin

javascript - 我可以用window.postMessage做同步跨域通信吗?

我正在考虑使用window.postMessage直接用于跨域通信。如果我这样做:postMessage()来自父框架加载iframewindow.addEventListener("message",callback,false);来自子iframe我在加载iframe之前发布的消息什么时候执行?他们能保证被处决吗?有时间保证吗?我想从影响子框架初始化的顶层框架传递一个参数。 最佳答案 postMessage()函数是异步的,这意味着它会立即返回。所以你不能和它做同步通信。在您的示例中,发布的消息将消失在空白中,因为在执行post

javascript - 使用postMessage在不同域的iframe中进行本地存储

我的问题与performancesetbacksofusinglocalStorage有关和一个可能的解决方法。据我了解(对此我不太确定),一旦在页面上看到对localStorage的引用(编译时?),它就会阻止线程并从磁盘读取数据以填充localStorage内存以供引用.或者,如果该域过去存储过数据,那么它可能会在磁盘上查找数据,因此它知道本地存储已经在那里使用。在任何一种情况下,由于localstorageapi是同步的,它会阻止从磁盘读取的线程,让我们等待数据被读取,然后页面才能做任何其他事情。假设我们将一个iframe插入页面,该页面动态加载不同的域作为其源。如果我们使用此i

html - 停止监听 postMessage 消息事件

我似乎无法删除接收器事件监听器。鉴于下面的代码,控制台将继续无休止地打印“hi”。接收者:window.addEventListener("message",function(e){console.log('hi');window.removeEventListener("message",function(e){},false)},false);发件人:varemiter=setInterval(function(){console.log('sendingmessage');window.parent.postMessage(messageData,"*");},1000);有办法

javascript - 带参数的 Window.Parent.Postmessage

我在我的页面上使用IFrame并与跨域IFrame进行通信-在Java脚本中使用.postmessage的跨浏览器解决方案在我的IFRAME目标页面中,我有这样的内容:window.parent.postMessage("Assigntovalue1","www.parentpage.com");window.parent.postMessage("Assigntovalue2","www.parentpage.com");然后在我的父页面中:vareventMethod=window.addEventListener?"addEventListener":"attachEvent";

javascript - 如何跨域postMessage?

postMessage的文档暗示跨域消息传递是可能的。然而://Whenthepopuphasfullyloaded,ifnotblockedbyapopupblocker对于实际如何如何做,这不是一个非常清楚的说明。假设有两个网站:[家长]托管在qc-a.nfshost.com[child]托管在qc-b.quadhome.com在父级中:document.addEventListener('message',function(e){alert('Parentgot(from'+e.origin+'):'+e.data);e.source.postMessage('Round-tri