我是否可以通过分析exe文件来检测是否在delphi应用程序中使用了madexcept?
有没有一种简单的方法:在我的应用程序中添加几行代码,并通知最终的exe文件用户是否使用了madshi madexcept
发布于 2013-01-21 02:10:54
如果在madexcept应用程序中使用Delphi,则在可执行文件中应该有一个资源条目:MAD->EXCEPT。
要测试外部应用程序:
var
h: HMODULE;
h := LoadLibraryEx('c:\foo\bar.exe', 0, LOAD_LIBRARY_AS_DATAFILE);
if h <> 0 then
begin
if FindResource(h, 'EXCEPT', 'MAD') <> 0 then
ShowMessage('madexcept Found!');
FreeLibrary(h);
end;要在自己的应用程序中进行测试,请执行以下操作:
if FindResource(HInstance, 'EXCEPT', 'MAD') <> 0 then
ShowMessage('madexcept Found!');请注意,whis不会告诉您madexcept使用了什么选项。例如,可能有一个设置为筛选访问冲突异常的异常筛选器,或者一个不检查冻结线程等的设置。
发布于 2013-01-21 21:33:50
如果您查看启用了madExcept的项目选项,我相信您会看到使用了define madExcept,例如,在您的程序中,您可以在任何地方执行以下操作:
{$IFDEF madExcept}
....
{$ENDIF}https://stackoverflow.com/questions/14425822
复制相似问题