mw234920 2017-08-02 12:27 采纳率: 100%
浏览 3559
已采纳

C#获取指定进程的主窗口句柄

方法一:
通过在C#获取根据进程名获取进程Process,然后得到句柄 process.MainWindowHandle (获取关联进程主窗口的窗口句柄)

方法二:
通过调用windows底层API来获取指定进程的窗口句柄:主要用到两个
EnumWindows
GetWindowThreadProcessId

这两种方式对于大部分windows窗体都能获取到句柄;但是有些窗口,比如飞秋,获取到窗口句柄始终为0;

求各位大神赐教啊!!!!!!

  • 写回答

3条回答 默认 最新

  • mw234920 2017-08-10 12:47
    关注

    解决办法: 通过窗口标题或者主窗体类名,调用API FindWindow()来获取窗口句柄,可以成功!包括托盘的隐藏窗口

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵