请问 一些API函数在 2000和XP中有没有区别
Dim AA As Double
Dim pHnd As Long
AA = Shell(App.Path + "\exename.exe ", 3)
pHnd = OpenProcess(&H100000, 0, AA)
If pHnd <> 0 Then
Call WaitForSingleObject(pHnd, &HFFFFFFFF)
Call CloseHandle(pHnd)
'执行下面的程序
End If
以上这段代码的功能是 等 exename.exe 运行结束后在执行 下面的程序
在2000中没问题,但在 XP中 “执行 下面的程序”就不正常。我怀疑是不是和上面的几个API有关,或者有没有 和上面代码相同功能的别的代码。
[解决办法]
Dim AA As Double
改为
Dim AA As long
[解决办法]
与API相关操作的数据都是整型的Long或integer(至少我还没见过用浮点的)
WaitForSingleObject要求有SYNCHRONIZE权限