背景: 我们做了一个可以显示配置子窗口(对话框)的mfc扩展dll,原来是在vc的环境中使用这个dll,功能都完全实现了。后来又在一个c#的工程中使用这个dll,当然我们封了一个专门的接口来使得c#可以调用。问题: 每次打开程序在配置窗口第一次显示的时候没有问题,但是第二次显示的时候一个combbox不能正确的显示。在调试dll的发现进行资源handle切换的时候,不能正确的得到主程序的资源handle。分析: 我们做了一个测试,如用一个unicode的vc测试程序调用我们的dll可以重现上面的问题。于是我们猜测可能是由于c#程序中的资源的unicode的,而我们dll中的是非unicode的。由于种种原因我们无法编译出unicode的dll来。我也不知道c#能不能编译成非unicode的app。提问:怎样才能解决这个问题呢?谢谢大家了!