我们如何检查二进制EXE(PE)是COM Exe还是Win32 Exe?

时间:2010-07-01 12:38:23

标签: com dll winapi exe portability

我需要以编程方式检查给定的EXE二进制文件是COM,EXE还是Win32.exe,这是否可以通过导入表?我应该在注册表中查看是否为COM注册了二进制文件?这是特定于EXE的,因为DLL对我来说不是问题。

http://en.wikipedia.org/wiki/Component_Object_Model

1 个答案:

答案 0 :(得分:1)

如果你有一个DLL,你可以要求它的DllGetClassObject(AFAIK inprocess COM服务器需要导出这个功能)。

对于前任,我恐怕你不能,至少不是100%肯定。您可能只应用启发式方法,例如检查exe是否在其资源中具有类型库(但请记住,它不是必需的)。