发表于 2023-4-26 16:52:13
|
显示全部楼层
安徽省阜阳市
模块版本:11.0.5
所用系统:win10x64
命令名称:程序_任务栏窗口图标状态
BUG描述:DLL使用该命令会导致窗口闪退
我的联系QQ:7072588
解决方案:
程序_任务栏窗口图标状态 逻辑型 窗口句柄 整数型 参数 整数型
变量名 类 型 静态 数组 备 注 局_父窗口句柄 整数型 局_是否可见 逻辑型 局_是否最小化 逻辑型
如果真 ( IsWindow ( 窗口句柄
) = 0
) 返回 ( 假 ) 如果真 ( 参数 = 3
) 局_父窗口句柄 =
GetWindowLongA ( 窗口句柄,
#GWL_HWNDPARENT ) 如果真 ( 局_父窗口句柄 = 0
) 如果真 ( GetWindowLongA ( 局_父窗口句柄,
#GWL_EXSTYLE ) ≠ 384
或 GetWindowLongA ( 局_父窗口句柄,
#GWL_STYLE ) ≠ 79691776
) 返回 ( 真 ) 返回 ( 假 ) 如果真 ( 参数 = 2
) 如果真 ( 程序_任务栏窗口图标状态 ( 窗口句柄, 3
) )
返回 ( 真 ) 局_是否最小化 = IsIconic ( 窗口句柄) 局_是否可见 =
IsWindowVisible ( 窗口句柄
) 局_父窗口句柄 =
GetWindowLongA ( 窗口句柄,
#GWL_HWNDPARENT ) SetWindowLongA ( 窗口句柄,
#GWL_HWNDPARENT, 0
) PostThreadMessageA ( GetWindowThreadProcessId ( 局_父窗口句柄, 0
) ,
#WM_QUIT, 0, 0
) SendMessageA ( 局_父窗口句柄,
#WM_CLOSE, 0, 0
) SendMessageA ( 窗口句柄,
#WM_SETREDRAW, 0, 0
) ShowWindow ( 窗口句柄,
#SW_SHOWMINNOACTIVE ) 如果真 ( 局_是否最小化 =
假 ) ShowWindow ( 窗口句柄,
#SW_SHOWNOACTIVATE ) SendMessageA ( 窗口句柄, #WM_SETREDRAW, 1, 0) 如果真 ( 局_是否可见 =
假 ) ShowWindow ( 窗口句柄,
#SW_HIDE ) 系统_处理事件1 ( ) ‘【【【【【【【在此处增加处理事件即可】】】】】】】】返回 ( 真 ) 如果真 ( 程序_任务栏窗口图标状态 ( 窗口句柄, 3
) =
假 ) 返回 ( 真 ) SetWindowLongA ( 窗口句柄,
#GWL_HWNDPARENT, GetDesktopWindow ( ) )
返回 ( 真 )
@项目部004