etWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, h As Long) As LongР Р表面上 lpString 参数为传值呼叫, 但执行以下的呼叫式之后, S 的内容却会改变(将等于 Form1 窗口的标题):Р РDim S As StringРS = "某字符串................................."Рret = GetWindowText(Form1.hwnd, S, Len(S) )Р Р当然不是所有字符串参数的内容都会被改变, 以下面的 SetWindowText 呼叫式为例, API 就只会读取字符串 S 的内容, 而不会改变它:РDim S As StringРS = "某字符串................................."Рret = SetWindowText(Form1.hwnd, S)Р Р在呼叫含有字符串参数的 API 函数以前, 我们必须先弄清楚 API 函数的本质, 确定 API 函数对于传入的参数是否会进行写入的动作, 因为两者在 VB 程序端应预先准备的工作并不相同。稍后笔者会进一步说明。Р РAny 型别的参数传递Р Р所谓 Any 型别的参数, 指的是 VB 程序可以传入数值、字符串、或自订型别…等数据的参数, 至于可以传入哪一种数据, 则与个别 API 函数有关系。Any 型别可说是 API 的参数类型中最为邪恶的一种, 因为如果传入的参数不正确, 轻则结果错误, 重则出现「这个程序执行的作业无效, 即将关闭」, 表示程序当掉了!Р Р有哪些 API 函数含有 Any 型别的参数呢?还好不多, 而且使用过一两个之后, 就能够掌握参数传递的原则, 未来本讲座所介绍的 API 函数若属于此一性质, 也会特别说明。