问题描述
- ListView系列函数问题
-
试图在桌面上用此函数获取一个可以插入一个图标的空位置,使用方式如下(已经使用了version 6.0.的Comclt32.dll ):#pragma comment(lib, "comctl32.lib")
//初始化
tagINITCOMMONCONTROLSEX InitFile;
InitFile.dwICC = ICC_LISTVIEW_CLASSES;
InitFile.dwSize = sizeof(tagINITCOMMONCONTROLSEX);
BOOL bRet = InitCommonControlsEx(&InitFile);//使用LVM_GETINSERTMARKRECT 宏
LPRECT prc = NULL;
RECT recttemp={0};
hDeskTop = GetDesktopWnd();
if (NULL == hDeskTop)
{
return FALSE;
}
prc = (LPRECT)VirtualAllocEx(hProcess,NULL,sizeof(recttemp),MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);BOOL bResult = (BOOL)::SendMessage(hDeskTop,LVM_GETINSERTMARKRECT , (WPARAM)0,(LPARAM)&prc);
可惜返回值永远都是0,No insertion point found
现在的问题是:我调用的方式哪里不正确吗?还是说我对这个函数的理解不对, 在桌面上insertion point根本不能取到一个空位置?
时间: 2024-10-27 12:14:32