怎么改变系统提示对话框的显示语言

如何改变系统提示对话框的显示语言
大家好!

最近在写一个应用软件,用户界面要求是全英文的。
但是因为程序中调用了Windows的API函数MessageBox()
来产生提示对话框,这就产生了一个问题:
假如是中文系统的话,提示对话框的界面就成了中文的,
比如提示框中的确定按钮,在英文系统中显示为“OK”,
但在中文系统中显示的是“确定”。

我现在不想用自己写个对话框来代替系统提示对话框
的办法来解决这个问题。诸位有什么其他的办法吗?
谢谢!

------解决方案--------------------
使用MessageBoxEx可以指定语言的
参数wLanguageId


C/C++ code

int MessageBoxEx(
  HWND hWnd,         // handle to owner window
  LPCTSTR lpText,    // text in message box
  LPCTSTR lpCaption, // message box title
  UINT uType,        // message box style
  WORD wLanguageId   // language identifier
);

------解决方案--------------------
在InitInstance加入
SetThreadLocale(MAKELANGID(LANG_ENGLISH,SUBLANG_DEFAULT));
------解决方案--------------------
我觉得不好解决,MessageBox是user32.dll中的函数,它的语言是和整个系统的资源有关的。

另外,SetThreadLocale是没用的,c#中的和这类似的函数也是不行,

我有2个软件,一个vc写的,一个c#写的,设置为英文模式时,在中文下的MessageBox按钮都是中文的。

如果让我来解决这个办法,如果找不到“捷径”,我会考虑尝试以下2个方法:

1,用一个进程内HOOK把MessageBox给钩住,然后修改其按钮上的文本。我记得《Windows核心编程》中似乎有类似的例子。

2,用一个宏定义把MessageBox定义成我自己的函数,然后弹出自己的对话框,但这样有个小问题,提示的文字长度不同时,对话框的布局控制比较麻烦。