可能是winAPI 的难题 (附源码) (100分)

  • 主题发起人 主题发起人 liansz
  • 开始时间 开始时间
L

liansz

Unregistered / Unconfirmed
GUEST, unregistred user!
我在用 <br>FormatMessage( <br>&nbsp; &nbsp; FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,<br>&nbsp; &nbsp; NULL,<br>&nbsp; &nbsp; GetLastError(),<br>&nbsp; &nbsp; MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language<br>&nbsp; &nbsp; (LPTSTR) &amp;lpMsgBuf,<br>&nbsp; &nbsp; 0,<br>&nbsp; &nbsp; NULL <br>);<br>来取得 windows的系统错误信息时(GetLastError())<br>FormatMessage的第三个参数为函数 MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)<br>的返回值<br><br>但是Delphi的Windows单元居然没有 &nbsp;MAKELANGID 函数的定义<br><br>WORD MAKELANGID(<br><br>&nbsp; &nbsp; USHORT usPrimaryLanguage, // primary language identifier<br>&nbsp; &nbsp; USHORT usSubLanguage // sublanguage identifier<br>&nbsp; &nbsp;);<br><br>这个 USHORT 数据类型 在 Delphi中应该用什么数据类型来代替????<br><br>大家有用过GetLastError来获取windows的系统错误信息吗?<br><br><br><br><br><br><br><br><br>&nbsp; &nbsp;
 
word<br>DELHPI API HELP<br>The MAKELANGID macro is defined as follows: <br><br>#define MAKELANGID(p, s) ((((WORD) (s)) &lt;&lt; 10) | (WORD) (p)) &nbsp;<br><br>getlasterror 用是用过,可是。。。有什么问题吗?
 
直接用0代替MAKELANGID.
 
有啊,当然有,不过不必如此痛苦<br>syserrormessage(getlasterror())<br>知道没?
 
多人接受答案了。
 
后退
顶部