Halcon DrawRegion()后会阻塞直到右键按下,请问如何主动取消绘制区域

Halcon DrawRegion()后会阻塞直到右键按下,请问如何主动取消绘制区域

Aer.软件工程师  2020-04-11 05:26:41

Halcon DrawRegion()后会阻塞直到右键按下,如果在不小心没有按下右键的时候关闭窗口,会陷入卡死,请问如何主动取消绘制区域
发送模拟消息无效,
keybd_event(VK_RBUTTON, 0, 0, 0);
Sleep(500);
keybd_event(VK_RBUTTON, 0, KEYEVENTF_KEYUP, 0);

已取得管理员权限

123点赞收藏1

分享

 写回复

1 条回复

 切换为时间正序

请发表友善的回复…

发表回复

x_yu_ 2020-09-03

//===============================================================

[DllImport("halcon.dll")]//halcon.dll复制到C:\Windows\System32
static extern void HIOCancelDraw();//退出画操作时,调用此函数

//===============================================================

halcon 学习笔记

1、HsmartWindow 报错问题

2、HwindowCtronl绘制图形未结束又点击绘制导致错误

3、论坛转贴 常见问题

4、找圆找线部分参数设置

 5、实现基于形状的模板匹配

6、一维测量-卡尺

 7、直线/圆拟合

----------------------------------------------------------------

 1-- HsmartWindow 控件除了会调用halcondonet.dll外还会调用halcon.dll,如果程序根目录不存在halcon.dll,则会通过全局变量找到halcon mevtec目录去调用,这样是没有问题的;

如果根目录下存在halcon.dll,则会优先调用根目录下的文件,然后halcon.dll内部如果使用到HsmartWindow的功能,则还会调用一个Hcanvas.dll的文件,如果根目录下没有这个文件则会报错,程序编译后启动过程中报错,

报错内容为:

----------------------------------------------------------------------------------

2-   HsmartWindow不支持Draw开头的函数,只能在Hwindow上面画,在执行Draw函数的时候,程序停在该函数位置,未点击鼠标右键确认Draw Region之前,程序会一直停留,此时再执行其他的Draw函数,就会导致在整个流程乱掉,避免这种情况的方法是在每个Draw函数之前都调用一次HalconApi.CancelDraw()函数,结束上次未完成的绘制。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值