- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这可能不是一个纯粹与编程相关的问题,但我在开发过程中经常遇到这个问题。当我的应用程序崩溃并且我选择终止它时,Windows 会自动弹出“正在检查解决方案...”对话框。当我点击上面的取消按钮时,我会看到另一个对话框,上面写着“重新启动程序......”有没有办法防止这种行为?当我停止一个应用程序时,我更希望它被悄无声息地杀死。如果平台很重要,我会使用 Windows 7。
最佳答案
尽管 Microsoft 建议使用仅在 Windows Vista 及更高版本上可用的更新的替换 API,但有一个 API 适用于从 XP 开始的所有 Windows 版本:AddERExcludedApplication() .此函数采用不带路径信息的模块名称(例如,“myprogram.exe”),将禁用错误报告。
只有 Windows Vista 及更高版本可用的新方法是调用 WerAddExcludedApplication() function .此 API 允许您指定是否应更改 HKEY_CURRENT_USER 注册表配置单元或 HKEY_LOCAL_MACHINE 注册表配置单元。如果HKLM设置失败一定要为HKCU设置这个,比如:
typedef BOOL (*ADD_MER_EXCLUDED_APP_XP) (PCWSTR);typedef BOOL (*ADD_MER_EXCLUDED_APP_VISTA) (PCWSTR, BOOL);bool disable_microsoft_error_reporting(PCWSTR wz_app){ const WCHAR * const WZ_MER_DLL_XP = L"faultrep.dll"; const char * const SZ_MER_PROC_XP = "AddERExcludedApplicationW"; const WCHAR * const WZ_MER_DLL_VISTA = L"wer.dll"; const char * const SZ_MER_PROC_VISTA = "WerAddExcludedApplicationW"; const int WER_EXCLUDE_FOR_ALL_USERS = TRUE; const int WER_EXCLUDE_FOR_THIS_USER = FALSE; HANDLE hlib_error_reports_xp = NULL; HANDLE hlib_error_reports_vista = NULL; ADD_MER_EXCLUDED_APP_XP add_mer_excluded_app_xp = NULL; ADD_MER_EXCLUDED_APP_VISTA add_mer_excluded_app_vista = NULL; bool success = false; // First, attempt the API that has been around since XP. hlib_error_reports_xp = LoadLibrary(WZ_MER_DLL_XP); if (hlib_error_reports_xp) { add_mer_excluded_app_xp = (ADD_MER_EXCLUDED_APP_XP)GetProcAddress(hlib_error_reports_xp, SZ_MER_PROC_XP); if (add_mer_excluded_app_xp) success = add_mer_excluded_app_xp(wz_app); FreeLibrary(hlib_error_reports_xp); hlib_error_reports_xp = NULL; add_mer_excluded_app_xp = NULL; if (success) return true; } // That did not succeed. Attempt the Vista API. hlib_error_reports_vista = LoadLibrary(WZ_MER_DLL_VISTA); if (hlib_error_reports_vista) { add_mer_excluded_app_vista = (ADD_MER_EXCLUDED_APP_VISTA)GetProcAddress(hlib_error_reports_vista, SZ_MER_PROC_VISTA); if (add_mer_excluded_app_vista) { success = (S_OK == add_mer_excluded_app_vista(wz_app, WER_EXCLUDE_FOR_ALL_USERS)); if (!success) success = (S_OK == add_mer_excluded_app_vista(wz_app, WER_EXCLUDE_FOR_THIS_USER)); } FreeLibrary(hlib_error_reports_vista); hlib_error_reports_vista = NULL; add_mer_excluded_app_vista = NULL; if (success) return true; } // Nothing worked. Fail. return false;}
为了进一步减少 WER 组件的执行,实现未处理的异常过滤器并将其传递给:SetUnhandledExceptionFilter() function .要分流 WER,您的过滤器绝不能返回 EXCEPTION_CONTINUE_SEARCH
或 EXCEPTION_EXECUTE_HANDLER
。
实现 SetUnhandledExceptionFilter()
函数的缺点之一是它会干扰即时调试。
您提到您希望该应用程序被“悄无声息地杀死”。在那种情况下:
LONG WINAPI global_exception_filter(struct _EXCEPTION_POINTERS *exception_info){ ExitProcess(0xDEDD000D);}int WINAPI WinMain( HINSTANCE _hinstance, HINSTANCE hinstance_prev, LPSTR sz_cmd_line, int cmd_show){ SetUnhandledExceptionFilter(global_exception_filter); /* ... */}
将导致应用程序在出现未处理的异常时立即消失。注意,返回的退出代码是个人喜好问题。
关于Windows - 防止崩溃 "Checking for a solution..."和 "Restarting the program...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1698342/
这个问题在这里已经有了答案: What's the proper value for a checked attribute of an HTML checkbox? (10 个答案) 关闭 8 年
我使用这个制作了自定义复选框: enter link description here 也可在 stackoverflow 上获得:enter link description here 但我正在尝试
我需要使用 CSS“checkbox-hack”来实现滑动菜单指示器效果,我唯一的方法是通过 JavaScript 附加输入元素。我被迫通过在线工具 MonoSolutions 执行此操作,并且我受到
此代码运行良好,但缺少一些我需要的东西。基本上,如果输入有一个 checked="checked" 属性,它应该使其他两个元素保持禁用状态。如果未选中,则元素已启用。 这是我在 jsFiddle 上的
当我的人 checkout 文件时,我希望他们将其锁定,以便其他人也无法进行更改,我从这篇文章中看到:http://msdn.microsoft.com/en-us/library/jj155783.
请告诉我这些函数的作用。 最佳答案 这些是基于框架的、与语言无关的方法,用于在 .NET 中定义代码契约。虽然某些语言(如 spec# 和 Delphi Prism)对代码契约具有一流的语言支持,但这
假设以下场景:您有 2 个单选按钮,它们具有相同的名称,并且都被选中(我知道这是无效的): 为什么下面两个选择器的行为不同? $('.input:checked').size(); // retu
我正在尝试收听广播。以下均不起作用: [编辑] $('selector').attr('checked','checked'); $('selector').attr('checked',true);
我实际上在努力理解此类型错误。 任何人都知道我如何更正代码?谢谢 CheckIn checkin1 = new CheckIn(location1, dt); CheckInMonths checkI
我有这段代码,但不起作用。 .on("click","span.name", function selectThisName(e) { if (e.altKey) {
我现在是 Espresso 的新手,我遇到了这个异常: android.support.test.espresso.AmbiguousViewMatcherException: 'with id: a
我已经创建了一个基本的 2 单选按钮表单,如下面的示例所示。 观察浏览器渲染,我们看到元素 1 被选中。我们检查元素 1 和元素 2。 当我点击元素 2 时,我希望元素 1 的 checked=che
我在查找以下 jquery/checkbox 行为的原因时遇到问题。 $( this.obj + ' table.sgrid-content > thead > tr > th > input.sel
以下逻辑应用在上午 10 点触发并运行 SQL Server 查询。从图片中可以看出,结果集是空的。 条件检查检查查询的结果集是否为空。 (第二张图) 这仍然如何转化为 True?结果显然是空的。 最
我想知道哪种操作更快: int c = version1.compareTo(version2); 这个 if (c == 1) 或者这个 if (c > 0) 符号比较是否只使用一位检查,而相等比较
我有一个包含大约 100 个问题的表单,每个问题都有一个单选按钮和一些复选框,因此我需要用户能够保存表单并在以后加载它。我还需要检查用户在此 session 中更改了哪些。 本题解决问题:How ca
我正在编写一个小程序,需要用户决定一些 bool 值。我已经制作了复选框来处理这一部分,但问题是每次我选中或取消选中一个复选框时,所有其他复选框都会跟随。 我在网上搜索过,但我找到的唯一解释( pyt
我有以下代码片段(我使用的是 jQuery 1.4.2): $.post('/Ads/GetAdStatsRow/', { 'ad_id': id }, function(result) {
我的代码发生了一些奇怪的事情。我有两个按钮,其中一个带有 .add 和 .remove 类,有一个复选框会根据按下哪个按钮而打开和关闭,因此如果您使用删除按钮删除,则选中的复选框将被选中,否则复选框将
我陷入了一种情况,我必须通过“选中”工具栏中的复选框来“选中”列表中存在的所有复选框。 这是创建复选框列表的代码:- itemTpl: 'checked="checked" /> {groupName
我是一名优秀的程序员,十分优秀!