草庐IT

订阅消息

全部标签

windows - Internet Explorer 中是否有等效的 chrome 原生消息传递 API?

在chrome上,扩展程序可以在nativemessagingAPIs的帮助下与native应用程序交换消息。我们如何在IE上实现这一点?用例:我们有自己的桌面应用程序,用户可以从我们的站点下载和安装。下次他们再次访问时,我们应该能够检测到native应用程序是否已安装并在可用时启动。借助一个扩展,我们能够在chrome上构建解决方案,该扩展利用chrome原生消息传递API连接到原生应用程序。需要在IE浏览器上有类似的东西,或者需要一个适用于所有主流浏览器的通用解决方案。 最佳答案 您可能想看看URL处理程序,Firefox、Ch

windows - 如何捕获从此菜单发送的 Windows 消息?

在大多数应用程序中,当您单击某个MenuItem时,会发送一个WindowsMessage(通常是WM_COMMAND),其中包含一个wParam表示所选MenuItem的ID。某个程序有一个窗口菜单(通过单击标题栏上的程序图标可以访问该菜单),我想知道当我从该菜单中选择特定的MenuItem时发送的WindowsMessage是什么。该程序是众所周知的-WindowsXP中的命令提示符窗口:(cmd.exe)这是窗口菜单:我想为那里的MenuItem捕获WindowsMessage和wParam,例如“粘贴”菜单项。(但不只是它..任何其他可能也是如此)这是我尝试过的:方法一:我经常

windows - 带有 SEE_MASK_FLAG_NO_UI 的 ShellExecuteEx 仍然显示消息

在我的系统上,.xyz扩展名根本没有注册。因此,当我在资源管理器中双击.xyz文件时,Windows10会弹出标准的“您希望如何打开此文件”对话框。现在,当我运行这个简短的代码片段时,会显示与上面相同的对话框,即使我在sei.fMask中放置了SEE_MASK_FLAG_NO_UI标志:SHELLEXECUTEINFOsei={0};sei.cbSize=sizeof(SHELLEXECUTEINFO);sei.fMask=SEE_MASK_FLAG_NO_UI;sei.hwnd=AfxGetMainWnd()->GetSafeHwnd();sei.lpVerb=_T("open");

c# - 如何使用自己的消息泵运行表单?

我有一个应用程序,我需要在其中打开许多与我自己不同并独立运行的表单。然后我的应用程序继续阻止长时间运行的操作(使这些操作异步是不可能的)。因此,我想使用它们自己的消息泵在单独的线程上运行这些表单。有什么办法吗? 最佳答案 Application.Run();这应该在它自己的线程上启动表单,带有它自己的消息泵。编辑:http://en.csharp-online.net/Application_Architecture_in_Windows_Forms_2.0%E2%80%94Application_Lifetime由于每当调用App

c# - 列表框的 Windows Phone 7 空数据消息?

好的,所以我正在尝试在集合为空时显示一条非常简单的消息。它仅在我第二次访问后才在数据透视页面项目上工作...真的很想对此有一个优雅的解决方案。感觉好像我在这里遗漏了一些非常简单的东西。在我的ViewModel中...privatebool_IsDataLoaded;publicboolIsDataLoaded{get{return_IsDataLoaded;}set{_IsDataLoaded=value;if(PropertyChanged!=null){PropertyChanged(this,newPropertyChangedEventArgs("IsDataLoaded"))

c# - 向没有窗口的进程发送 WM_CLOSE 消息

开始一个进程-ProcessStartInfopsi=newProcessStartInfo("G:\\SampleWinApp.exe");psi.UseShellExecute=false;psi.CreateNoWindow=true;Processprcs=Process.Start(psi);发送WM_CLOSE使用PostMessageconstintWM_CLOSE=0x0010;publicvoidSendCloseSignal(Processproc){uintuiPid=(uint)proc.Id;boolbResult=EnumWindows(newWNDENUM

windows - 发送到 HWND_BROADCAST 的消息会转到其他桌面吗?

我正在尝试确定HWND_BROADCAST工作原理的一些细节。不幸的是,MSDN没有这个值的特定页面;仅在传递其他几篇文章时提到它,例如SendMessage的文章和PostMessage.我特别想知道发送到HWND_BROADCAST的消息是否被与同一窗口站中的其他桌面关联的窗口接收。文档说该消息将发送到“系统中的所有顶级窗口”,但显然这不能完全正确。例如,我确定他们不会在其他登录session(例如在终端服务器上)中转到窗口。我的猜测是,它们至少被限制在调用进程的窗口站,但我不知道它们是否也被限制在调用线程的桌面(每个线程与一个桌面相关联)。最坏的情况我可以编写一些代码来根据经验对

windows - 多线程:事件驱动与消息驱动

用win32事件对象(CreateEvent)或线程窗口消息队列开发多线程时,性能有差异吗?两者都应该使用某种WaitFor...调用。我自己的代码几乎完全基于事件,但如果不使用消息,我可能会丢失一些东西。 最佳答案 如果您担心线程消息和内核事件之间的性能差异,那么您可能不应该使用线程消息。Win32线程消息队列是一种最初为Windows16开发的机制——当时还没有线程。它们已经发展到可以处理Win32的线程模型,但在幕后它们是相当复杂的野兽。这有利也有弊。缺点是,很简单,它们比其他形式的线程间同步和通信更慢,并且有更多限制。对于初

c# - 有没有办法让多个程序在windows上订阅同一个多播组?

我有两个应用程序需要订阅同一个多播组/端口组合。目前,我能处理这个问题的唯一方法是构建一个订阅多播组的代理应用程序,并通过单独的TCP连接将接收到的流量转发到每个应用程序。我想摆脱代理应用程序并让每个应用程序自己订阅多播组,但我收到套接字异常“通常只允许每个套接字地址使用一次”。有什么办法解决这个问题吗?为什么每台计算机只允许订阅一个给定的多播组? 最佳答案 不完全确定它是否被允许,但在这里寻找可能的解决方案:SendingandreceivingUDPpacketsbetweentwoprogramsonthesamecomput

c++ - 订阅windows系统事件原生c++

我想让我的C++应用程序监听Windows系统事件,例如登录、注销、锁定...类似于:http://www.dotnetspider.com/resources/30389-To-detect-when-system-gets.aspx这是用C#编写的。我找到了http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.aspx#Y0m,但它是一个CLR代码。另外,我看到SubscribeToSystemEvent函数在VisualC++中。有谁知道在原生C++中使用哪些方法?请指教,锂铁