设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3240|回复: 7
打印 上一主题 下一主题

[RM高级技术] API参数说明符前缀详解 (外连)

 关闭 [复制链接]

Lv1.梦旅人

逃兵

跳转到指定楼层
1
发表于 2006-10-3 18:15:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
原地址:
http://www.bc-cn.net/Article/kfyy/hb/jszl/200601/3118.html



   使用MASM写Windows程序,其实就是和Windows API打交道,而一个人是不可能记住所有的API用法的,所以API参考手册是必不可少的,API的参考手册中函数原型是按匈牙利表示法表示的,下面这个表就是API原型中那些前缀的详细解释,希望对初学者有帮助。

  资料来源:MicroSoft MSDN Platform SDK 参考
  a       Array                                 数组
  b       BOOL (int)                            布尔(整数)
  by      Unsigned Char (Byte)                  无符号字符(字节)
  c       Char                                  字符(字节)
  cb      Count of bytes                        字节数
  cr      Color reference value                 颜色(参考)值
  cx      Count of x (Short)                    x的集合(短整数)
  dw      DWORD   (unsigned long)                 双字(无符号长整数)
  f       Flags   (usually multiple bit values)   标志(一般是有多位的数值)
  fn      Function                              函数
  g_      global                                全局的
  h       Handle                                句柄
  i       Integer                               整数
  l       Long                                  长整数
  lp      Long pointer                          长指针
  m_      Data member of a class                一个类的数据成员
  n       Short int                             短整数
  p       Pointer                               指针
  s       String                                字符串
  sz      Zero terminated String                以0结尾的字符串
  tm      Text metric                           文本规则
  u       Unsigned int                          无符号整数
  ul      Unsigned long (ULONG)                 无符号长整数
  w       WORD (unsigned short)                 无符号短整数
  x,y     x, y coordinates (short)              坐标值/短整数
  v       void                                  空

  比如说API函数CreateWindowsEx,API原型如下:
  HWND CreateWindowEx(
    DWORD dwExStyle,   // extended window style
    LPCTSTR lpClassName,   // pointer to registered class name
    LPCTSTR lpWindowName,   // pointer to window name
    DWORD dwStyle,   // window style
    int x,   // horizontal position of window
    int y,   // vertical position of window
    int nWidth,   // window width
    int nHeight,   // window height
    HWND hWndParent,   // handle to parent or owner window
    HMENU hMenu,   // handle to menu, or child-window identifier
    HINSTANCE hInstance,   // handle to application instance
    LPVOID lpParam    // pointer to window-creation data
   );
  那么根据上述前缀表可以得出,dwExStyle需要一个双字值,lpClassName与lpWindowName需要一个指向字符串的长指针(在MASM中则是偏移地址),x、y表示需传递整数值,nWidth与nHeight表示传递短整数,hWndParent表示需要一个窗口句柄,hMenu表示传递一个菜单句柄,hInstance表示传递的是程序实例句柄,lpParam表示可以传递长指针(地址)。
  注意看前缀时请不要看前面的类型说明符,而是要看词的前缀,如DWORD dwExStyle,只需要看dwExStyle就知道传递的是双字数。
  另外还有其它的组合,只要稍注意就能行,比如说lpfn表示指向函数的长指针,在MASM中则是一个函数的地址,,还有像lpSecurityAttributes之类的,则是指向SECURITY_ATTRIBUTES结构的长指针(地址),lpvBuffer表示传递一个缓存(Buffer)长指针(lp)或者为空(void),还有一些没有前缀的则是这个词已经足够说明它的意思了。等等,熟悉这些前缀的含义可以让你在学习API的时候进行快速的掌握。并能排除一些错误。
  (完)




「If you judge people, you have no time to love them.」—— Mother Teresa

Lv1.梦旅人

逃兵

2
 楼主| 发表于 2006-10-3 18:15:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
原地址:
http://www.bc-cn.net/Article/kfyy/hb/jszl/200601/3118.html



   使用MASM写Windows程序,其实就是和Windows API打交道,而一个人是不可能记住所有的API用法的,所以API参考手册是必不可少的,API的参考手册中函数原型是按匈牙利表示法表示的,下面这个表就是API原型中那些前缀的详细解释,希望对初学者有帮助。

  资料来源:MicroSoft MSDN Platform SDK 参考
  a       Array                                 数组
  b       BOOL (int)                            布尔(整数)
  by      Unsigned Char (Byte)                  无符号字符(字节)
  c       Char                                  字符(字节)
  cb      Count of bytes                        字节数
  cr      Color reference value                 颜色(参考)值
  cx      Count of x (Short)                    x的集合(短整数)
  dw      DWORD   (unsigned long)                 双字(无符号长整数)
  f       Flags   (usually multiple bit values)   标志(一般是有多位的数值)
  fn      Function                              函数
  g_      global                                全局的
  h       Handle                                句柄
  i       Integer                               整数
  l       Long                                  长整数
  lp      Long pointer                          长指针
  m_      Data member of a class                一个类的数据成员
  n       Short int                             短整数
  p       Pointer                               指针
  s       String                                字符串
  sz      Zero terminated String                以0结尾的字符串
  tm      Text metric                           文本规则
  u       Unsigned int                          无符号整数
  ul      Unsigned long (ULONG)                 无符号长整数
  w       WORD (unsigned short)                 无符号短整数
  x,y     x, y coordinates (short)              坐标值/短整数
  v       void                                  空

  比如说API函数CreateWindowsEx,API原型如下:
  HWND CreateWindowEx(
    DWORD dwExStyle,   // extended window style
    LPCTSTR lpClassName,   // pointer to registered class name
    LPCTSTR lpWindowName,   // pointer to window name
    DWORD dwStyle,   // window style
    int x,   // horizontal position of window
    int y,   // vertical position of window
    int nWidth,   // window width
    int nHeight,   // window height
    HWND hWndParent,   // handle to parent or owner window
    HMENU hMenu,   // handle to menu, or child-window identifier
    HINSTANCE hInstance,   // handle to application instance
    LPVOID lpParam    // pointer to window-creation data
   );
  那么根据上述前缀表可以得出,dwExStyle需要一个双字值,lpClassName与lpWindowName需要一个指向字符串的长指针(在MASM中则是偏移地址),x、y表示需传递整数值,nWidth与nHeight表示传递短整数,hWndParent表示需要一个窗口句柄,hMenu表示传递一个菜单句柄,hInstance表示传递的是程序实例句柄,lpParam表示可以传递长指针(地址)。
  注意看前缀时请不要看前面的类型说明符,而是要看词的前缀,如DWORD dwExStyle,只需要看dwExStyle就知道传递的是双字数。
  另外还有其它的组合,只要稍注意就能行,比如说lpfn表示指向函数的长指针,在MASM中则是一个函数的地址,,还有像lpSecurityAttributes之类的,则是指向SECURITY_ATTRIBUTES结构的长指针(地址),lpvBuffer表示传递一个缓存(Buffer)长指针(lp)或者为空(void),还有一些没有前缀的则是这个词已经足够说明它的意思了。等等,熟悉这些前缀的含义可以让你在学习API的时候进行快速的掌握。并能排除一些错误。
  (完)




「If you judge people, you have no time to love them.」—— Mother Teresa

Lv1.梦旅人

66RPG站长

梦石
0
星屑
54
在线时间
615 小时
注册时间
2005-10-10
帖子
5734

RMVX自由创作大赛亚军第2届短篇游戏比赛亚军第5届短篇游戏比赛冠军

3
发表于 2006-10-3 21:28:16 | 只看该作者
....不知道有啥用的人飘过……
回复 支持 反对

使用道具 举报

Lv2.观梦者


  • 更新完成啦

梦石
0
星屑
769
在线时间
6267 小时
注册时间
2006-6-7
帖子
8462
4
发表于 2006-10-3 21:51:10 | 只看该作者
关于编程现在米一点兴趣学{/hx}
飘过{/hx}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2006-8-9
帖子
510
5
发表于 2006-10-4 00:55:29 | 只看该作者
....API是啥虾米?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
260
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

6
发表于 2006-10-4 01:29:45 | 只看该作者
以下引用柳柳于2006-10-3 13:28:16的发言:

....不知道有啥用的人飘过……

就是那个返回值……  = =
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

七仙女

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-15
帖子
559
7
发表于 2008-1-30 07:22:34 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3263
在线时间
3616 小时
注册时间
2006-9-6
帖子
37399

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

8
发表于 2008-1-30 18:13:26 | 只看该作者
以下引用七仙女于2008-1-29 23:22:34的发言:

万能的api
飘过  

邪恶的顶帖……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-29 04:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表