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的文件,如果根目录下没有这个文件则会报错,程序编译后启动过程中报错,

报错内容为:

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

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

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

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

你可能感兴趣的:(Halcon)