我如何判断给定的 hWnd 是否仍然有效?

2024-03-15

我正在使用生成 Internet Explorer 实例的第三方类。该类有一个属性 hWnd,它返回进程的 hWnd。

稍后,我可能想重用应用程序的实例(如果它仍然存在),因此我需要告诉我的帮助器类附加到它。在此之前,我想知道给定的 hWnd 是否仍然有效,否则我将生成另一个实例。

如何在 C# 和 .NET 3.5 中执行此操作?


如果是窗口句柄,可以调用isWindow(hWnd); http://msdn.microsoft.com/en-us/library/windows/desktop/ms633528(v=vs.85).aspx

来自msdn:

返回值

BOOL

如果窗口句柄标识 现有窗口,返回值为 非零。

如果窗口句柄无法识别 现有窗口,返回值 为零。评论

线程不应该使用 IsWindow 它没有创建的窗口,因为 之后窗户可能会被摧毁 这个函数被调用了。更远, 因为窗把手是回收的 句柄甚至可以指向 不同的窗口。

顺便说一句,由于您使用的是 .NET,因此您必须执行以下操作:

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool IsWindow(IntPtr hWnd);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我如何判断给定的 hWnd 是否仍然有效? 的相关文章

随机推荐

  • 如何在 React JSX 中除最后一个元素之外的每个元素后面添加 array.map 中的逗号

    如何在数组的每个元素后面添加尾随逗号以创建如下列表 INV INV INV INV 请注意 最后一个元素没有尾随逗号 目前正在迭代列表array map var List React createClass render function
  • 使用蓝牙耳机启动语音识别无法正常工作

    我需要使用具有语音识别功能的蓝牙耳机 在 S3 S4 和 Samsung Grand 等某些设备上几乎可以正常工作 然而 当我在 Nexus 7 上尝试同样的操作时 我得到了 BluetoothHeadsetServiceJni Faile
  • C++中bool数据类型的比较

    The bool数据类型通常表示为0 as false and 1 as true 然而 也有人说true值可以用除以下以外的值表示1 如果后面的语句是true 那么下面的表达式可能是不正确的 bool x 1 if x 1 Do some
  • 将图标与按钮标签内的文本顶部对齐

    如何将按钮标签内的图标与文本顶部对齐 它当前位于文本的左侧 我不知道怎么办 这是代码 div class nav div
  • VS2012 中的 BeforeBuild 和其他目标发生了什么?

    我试图让一些预构建步骤在 Visual Studio 2012 中的 C 项目中工作 但它们不会被调用 虽然我很确定相同的技术在 Visual Studio 2010 中也可以使用 命令行构建的行为完全相同 这是项目文件的结尾 该文件是使用
  • json_encode() 返回 false

    这是我第一次面对数组结果布尔值的 var dumping json encode 我有一个由反序列化产生的数组 我 var dumped 它并确保它是一个有效的数组 结果如下 这只是一部分 而不是整个调试视图 array size 3 id
  • 如何直接访问azure应用程序服务实例

    我是天蓝色的新手 我有一个 Asp Net MVC 应用程序托管在 azure 应用程序服务 上 有两个实例 我的应用程序使用本地缓存 有时我需要清除这个缓存 但问题是 当我清除缓存时 我实际上只针对一个特定实例执行此操作 而其他实例仍然保
  • Symfony2创建服务[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 symfony2 文档中曾经有关于如何创建服务 my mailer 的操作方法 但我似乎无法在任何地方
  • MySQL 8.0.11 由于 caching_sha2_password 连接错误

    当我尝试连接到 MySQL Workbench 上的服务器时 收到错误消息 您的连接尝试无法以 localhost 3306 身份从主机到服务器的用户 root 认证插件caching sha2 password无法加载 指定的模块无法找到
  • WiX 安装程序:使用 xslt 和 heat.exe 来更新属性

    我正在尝试为 Windows 服务创建 WiX 安装程序 并且我读到需要将所有文件的 KeyPath 设置为 no WiX 脚本中的 exe 除外 我目前正在使用 Heat exe 生成目录和文件结构 这是我的命令 WIX bin heat
  • 绘制路径大于最大位图尺寸

    我想画一条比canvas getMaximumBitmapWidth and or canvas getMaximumBitmapHeight 在可缩放的视图内 特别是在较旧的设备 Android 9 及更早版本 上 这会导致 路径太大而无
  • 当标签已存在于远程时​​,Git 强制推送标签

    我已经将标签推送到遥控器上 当另一个用户创建相同的标签并尝试推送时 推送将失败 因为该标签已存在于远程上 但我想如果我这么做了 f force tag push 它应该可以工作 但我所看到的并非如此 我想我必须这样做 Create tag
  • 是否应该迁移变更集的用户名和时间戳?

    以下文字关于OpsHub 迁移实用程序页面 https visualstudiogallery msdn microsoft com 28a90a17 d00c 4660 b7ae 42d58315ccf2表示用户名和时间戳将嵌入到迁移的变
  • 在 BIDS 中使用存储过程作为 OLE DB 源

    我正在测试 SSIS 包和存储过程 因为我只是一个初学者 我需要做的是使用在源数据库上安装的存储过程来返回数据集 然后我需要一个 ssis 包来使用存储过程返回的数据集作为 OLE DB 源来填充第二个目标表 基本上我有两张桌子 测试源 测
  • 可变参数模板的可扩展性

    我正在使用 C 11 开发一个大规模软件基础设施 该基础设施广泛使用了可变参数模板 我的问题如下 这种方法的可扩展性如何 首先 可变参数模板可以采用的参数数量是否有上限 其次 当使用许多参数时 并且 通过扩展 这些参数的许多组合将产生模板化
  • 在 Java 中用 Scala 中的 Option 包装返回 null 的方法?

    假设我有一个方法session get str String String但你不知道它会返回一个字符串还是一个 null 因为它来自 Java 在 Scala 中是否有更简单的方法来处理这个问题而不是session get foo null
  • 客户端加密的有效用例有哪些?

    我刚刚读到斯坦福大学 Javascript 加密库 http crypto stanford edu sjcl jsfiddle 示例 http jsfiddle net kRcNK 它完全用 JavaScript 支持 SHA256 AE
  • DICOM 和图像位置患者

    我试图弄清楚 DICOM 图像位置 0020 0032 是绝对坐标还是只是我拥有的任何切片方向的坐标 例如 我有两个平面 一个矢状平面和一个冠状平面 与 DICOM 标头中的 x y z 形式的相应图像位置 以毫米为单位 交错 我的问题是
  • 应用内结算,签名验证失败

    当我尝试获取订阅时 出现以下错误 签名认证失败 签名与数据不匹配 应用内结算警告 购买签名验证FAILED 不添加项目 我的代码是 String base64EncodedPublicKey MY KEY compute your publ
  • 我如何判断给定的 hWnd 是否仍然有效?

    我正在使用生成 Internet Explorer 实例的第三方类 该类有一个属性 hWnd 它返回进程的 hWnd 稍后 我可能想重用应用程序的实例 如果它仍然存在 因此我需要告诉我的帮助器类附加到它 在此之前 我想知道给定的 hWnd