草庐IT

HWND_BROADCAST

全部标签

windows - 你如何比较两个 HWND 指针?

可以吗if(HWND1==HWND2)或者是否有我需要使用的函数来查看两个hwnd是否指向同一个窗口? 最佳答案 HWND只是一个长值,所以是的,您可以那样比较它们。 关于windows-你如何比较两个HWND指针?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2112833/

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

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

c# - 如果我只有一个窗口句柄 (hWnd),我该如何 GetModuleFileName()?

我正在尝试获取位于我的C#2.0应用程序之外的窗口的可执行文件的名称。我的应用程序当前使用来自“user32.dll”的GetForegroundWindow()调用获取窗口句柄(hWnd)。根据我能够进行的挖掘,我想我想使用GetModuleFileNameEx()函数(来自PSAPI)来获取名称,但是GetModuleFileNameEx()需要一个进程的句柄,而不是一个窗口。是否可以从窗口句柄获取进程句柄?(需要先获取窗口的线程句柄吗?)编辑了第一句话,使我想做的事情更清楚。更新!这是我发现对我有用的C#代码。唯一需要注意的是,偶尔它会返回驱动器号为“?”的文件/路径。而不是实际

c# - 使用 hWnd 设置 Window.Owner

在我的WPF/C#应用程序中,我使用如下代码创建了一个对话窗口:Windowdialog=newMyDialog()asWindow;dialog.Owner=Window.GetWindow(this);dialog.ShowDialog();如何将对话框所有者设置为另一个应用程序窗口的hWnd?我需要的功能只是在对话框可见时阻止“所有者窗口”。 最佳答案 使用WindowInteropHelper:Windowdialog=newMyDialog();WindowInteropHelperwih=newWindowInterop

c# - 如何从 DEV_BROADCAST_DEVICEINTERFACE 和设备实例 ID 获取友好的设备名称

我已经用RegisterDeviceNotification注册了一个窗口并能成功收到DEV_BROADCAST_DEVICEINTERFACE消息。但是,返回的结构中的dbcc_name字段始终为空。我的结构是这样定义的:[StructLayout(LayoutKind.Sequential)]publicstructDEV_BROADCAST_DEVICEINTERFACE{publicintdbcc_size;publicintdbcc_devicetype;publicintdbcc_reserved;publicGuiddbcc_classguid;[MarshalAs(Un

c# - 将 HWND 转换为 IntPtr (CLI)

我的C++MFC代码中有一个HWND,我想将此HWND传递给C#控件并将其作为IntPtr获取。我的代码有什么问题,我该如何正确执行?(我认为使用CLI指针有问题,因为我得到一个错误,它无法从System::IntPtr^转换为System::IntPtr。但我不知道如何使它全部正常工作。..)我的C++MFC代码:HWNDmyHandle=this->GetSafeHwnd();m_CLIDialog->UpdateHandle(myHandle);我的C#代码:publicvoidUpdateHandle(IntPtrmHandle){......}我的CLI代码:voidCLID

c# - 从 HWND 到控制

我正在使用user32.dll中的FindWindow方法查找窗口并获取句柄,但是是否可以从句柄中获取窗体控件?并像普通表格一样使用它?示例:intmyhwnd=FindWindow(null,"MyWindow");formmyform=SomeMagic.GetFormFromHandle(myhwnd);myform.Visible=false;还是必须继续使用user32.dll中的方法向窗口发送消息? 最佳答案 如果它是一个托管窗口(您使用System.Windows.Forms创建它,并且它继承自System.Windo

c# - 在没有 NativeMethods 的情况下,如何找到给定 hWnd 的窗口的位置/位置?

我目前正在使用WatiN,发现它是一个很棒的Web浏览自动化工具。但是,截至上一个版本,它的屏幕捕获功能似乎有所欠缺。除了一些thisStackOverflowquestion之外,我已经想出了一个可行的解决方案来从屏幕上捕获屏幕截图(独立生成类似于codebyCharlesPetzold的代码).不幸的是,缺少一个组件:实际窗口在哪里?WatiN方便地向您提供浏览器的hWnd,因此我们可以(通过这个简化的示例)设置为从屏幕复制图像,如下所示://browseriseitheranWatiN.Core.IEoraWatiN.Core.FireFox...IntPtrhWnd=brows

javascript - $scope.$on 在 $rootScope.$broadcast 之后不触发

这可能是重复出现的问题,但我找到的针对此问题的解决方法在我的情况下不起作用,这就是我发布问题的原因。我已关注服务:appRoot.service('MyService',function($rootScope){varMessenger={Temp:"",TempId:"",tempMethod:function(Id){TempId=Id;$rootScope.$broadcast('FirstCtrlMethod');}};returnMessenger;});在第二个Controller中:appRoot.controller('SecondCtrl',function($sco

Ubuntu ip报错解决方案 ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000

之前虚拟机ssh连接没问题,今天竟然连不上了。打开虚拟机ipa网卡ens33没有iproot@ubuntu:~/Desktop#ipa1:lo:mtu65536qdiscnoqueuestateUNKNOWNgroupdefaultqlen1000  link/loopback00:00:00:00:00:00brd00:00:00:00:00:00  inet127.0.0.1/8scopehostlo    valid_lftforeverpreferred_lftforever  inet6::1/128scopehost     valid_lftforeverpreferred_lf