| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4957 人关注过本帖
标题:求助:服务器异常报错,如何终止报错进程
只看楼主 加入收藏
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1093
专家分:2690
注 册:2015-12-30
收藏
得分:0 
以下是引用吹水佬在2022-1-26 15:18:04的发言:


最好能找出异常问题原因,才能彻底解决问题。
关闭弹出窗口:查找窗口获取窗口句柄,发送消息 WM_CLOSE or WM_DESTROY 给窗口

如何获得窗口句柄,这是我的盲区,还请吹版指教。
另外,不知这种窗口的句柄每次都是一样的
2022-01-26 16:25
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
以下是引用laowan001在2022-1-26 16:25:58的发言:


如何获得窗口句柄,这是我的盲区,还请吹版指教。
另外,不知这种窗口的句柄每次都是一样的

API FindWindow()
句柄是会变的,FindWindow()返回窗口句柄,可按窗口标题查找,窗口标题不变就可以。
2022-01-26 19:10
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
以下是引用laowan001在2022-1-26 16:24:08的发言:


都是SQL语句,有时需要先得到查询结果,然后进行本地加工,之后再插入或更新后台数据库,大块头基本都是insert和update,多的时候会有上万条,所以会很大

上万条语句的串有点规模,可不可以分模块来处理,不用一次载入那么大的串,串太大也可能影响效率。
2022-01-26 19:16
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1093
专家分:2690
注 册:2015-12-30
收藏
得分:0 
以下是引用吹水佬在2022-1-26 19:16:19的发言:


上万条语句的串有点规模,可不可以分模块来处理,不用一次载入那么大的串,串太大也可能影响效率。

所言极是,后来把可能较大的SQL加工成500K一次了
2022-01-26 19:36
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1093
专家分:2690
注 册:2015-12-30
收藏
得分:0 
吹版好,现在可以获得窗口的句柄了,但是如何关闭还是没找到相应方法,似乎要通过PostMessage发送WM_CLOSE or WM_DESTROY,请吹版给段代码,谢谢!!!

再次感谢吹版,在坛里找吹版两年前的一个帖子,正好用到了这个,测试已经成功

[此贴子已经被作者于2022-1-26 20:54编辑过]

2022-01-26 20:38
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
回复 25楼 laowan001
DECLARE LONG SendMessage IN User32 LONG, LONG, LONG, LONG
#define WM_CLOSE    0x0010
SendMessage(窗口句柄, WM_CLOSE, 0, 0)
2022-01-26 20:56
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1093
专家分:2690
注 册:2015-12-30
收藏
得分:0 
以下是引用吹水佬在2022-1-26 20:56:18的发言:

DECLARE LONG SendMessage IN User32 LONG, LONG, LONG, LONG
#define WM_CLOSE    0x0010
SendMessage(窗口句柄, WM_CLOSE, 0, 0)

OKOKOK
2022-01-26 21:17
foxfans
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:113
专家分:324
注 册:2021-10-23
收藏
得分:0 
建议还是多测试代码,这里给你一个小工具,增加触发错误的EIP执行位置,通过反汇编可以找到相应的崩溃点(要有点破解基础),方便查看平时代码是否严谨,on error try捕获的错误级别有限. (附件见31楼)
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2022-1-27 18:08编辑过]

2022-01-26 23:02
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1093
专家分:2690
注 册:2015-12-30
收藏
得分:0 
回复 28楼 foxfans
非常感谢,我试下
2022-01-27 07:58
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:0 
试试用 API SetUnhandledExceptionFilter() 来处理系统异常情况。
不过VFP使用 SetUnhandledExceptionFilter() 涉及到回调函数(函数指针)的问题有点麻烦,可以用其他编程语言写API扩展库给VFP调用。
这样也许系统抛出异常时可以与VFP通信,VFP在出现异常关闭前能处理一些重要的事情。
2022-01-27 15:52
快速回复:求助:服务器异常报错,如何终止报错进程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055012 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved