在MFC C++中,当我们在EXE中添加新资源时,用字符串表示,它将自动生成一个ID:
#define ID_SHOW_OUTPUT 10313
当它具有具有相似ID的plugin(DLL)时,触发后将导致未定义的行为。
为了安全起见,我尝试定义自己的私有(private)ID:
#define ID_SHOW_OUTPUT (WM_APP+6)
但是,如果EXE和DLL中有成百上千的资源,我将有很多工作。
我不确定是否存在更好的解决方案和针对可执行文件中重复资源ID的预防措施???
最佳答案
UINT
值(在您的问题中,您已将WM_APP + 6
分配给命令ID)并不安全,因为MFC在很多地方会解释这些值。检查this StackOverflow问题以获取更多详细信息。