C++ LVM_GETITEMCOUNT在VISTA上间歇性工作
有SysListView32控件。我正在尝试使用API获取ListView中的元素数C++ LVM_GETITEMCOUNT在VISTA上间歇性工作,c++,winapi,windows-vista,C++,Winapi,Windows Vista,有SysListView32控件。我正在尝试使用API获取ListView中的元素数 int iCount = SendMessage(hList,LVM_GETITEMCOUNT,0,0); LVM_GETITEMCOUNT返回XP上正确的项目数 但同样的调用在VISTA上断断续续地工作。在Vista上,我得到iCount=0; vista上的GetLastError()返回0x05。访问被拒绝 自进程以管理员权限启动以来,调试时返回itemcount的次数 有没有建议如何在VISTA上使用
int iCount = SendMessage(hList,LVM_GETITEMCOUNT,0,0);
LVM_GETITEMCOUNT返回XP上正确的项目数
但同样的调用在VISTA上断断续续地工作。在Vista上,我得到iCount=0;
vista上的GetLastError()返回0x05。访问被拒绝
自进程以管理员权限启动以来,调试时返回itemcount的次数
有没有建议如何在VISTA上使用此呼叫?您的访问被拒绝?进程中的列表是SendMessage调用还是外部的?您是在发送消息的线程中模拟另一个用户还是在拥有列表控件的线程中模拟另一个用户?您是从另一个桌面呼叫的吗?hList是否有可能以某种方式无效?你持有它很长时间了吗,也许是在控件被破坏和重新创建的时候?