trids Posted May 28, 2004 Posted May 28, 2004 Nirsoft has freeware utilities galore, most with commandline interfaces.There is too much to list here, and it's really worth a visit. Extremely cool site offering lots of goodies to script with All of them powerful + free + tiny (no installs needed) ibrahem 1
ezzetabi Posted May 28, 2004 Posted May 28, 2004 Seems great Jon? What about adding a section to the site of programs that may be used well with autoit?
ezzetabi Posted May 28, 2004 Posted May 28, 2004 (edited) Are you joking? I know where I am! But still the posts goes forgot too quickly! A standard page could keep a good list a lot better. Edit: EHI! I overtook 400 posts, is it true that I may change my status (I really HATE "Mass spammer"? Edited May 28, 2004 by ezzetabi
Josbe Posted May 29, 2004 Posted May 29, 2004 Interesting. I don't know if it was written, but I found this code about handling ListView Control, here: expandcollapse popupUINT GetLVItemState(HWND hwnd, int i, UINT mask) { return ListView_GetItemState(hwnd, i, mask); } void GetLVItemText(HWND hwnd, int iItem, int iSubItem, LPSTR pszText, int cchTextMax) { ListView_GetItemText(hwnd, iItem, iSubItem, pszText, cchTextMax); } void SetLVItemText(HWND hwnd, int i, int iSubItem, LPSTR pszText) { ListView_SetItemText(hwnd, i, iSubItem, pszText); } BOOL GetLVItem(HWND hListView, UINT mask, int iItem, int iSubItem, LPLVITEM pitem, UINT stateMask) { pitem->mask = mask; pitem->stateMask = stateMask; pitem->iItem = iItem; pitem->iSubItem = iSubItem; return ListView_GetItem(hListView, pitem); } int GetHeaderItemCount(HWND hwndHD) { return Header_GetItemCount(hwndHD); } HWND GetLVHeaderControl(HWND hListView) { return ListView_GetHeader(hListView); } int GetLVColumnsCount(HWND hListView) { return (GetHeaderItemCount(GetLVHeaderControl(hListView))); } void SwapLVItems(HWND hListView, int iItem1, int iItem2) { //I assume that 4K buffer is really enough for storing the content of a column const LOCAL_BUFFER_SIZE = 4096; LVITEM lvi1, lvi2; UINT uMask = LVIF_TEXT | LVIF_IMAGE | LVIF_INDENT | LVIF_PARAM | LVIF_STATE; char szBuffer1[LOCAL_BUFFER_SIZE + 1], szBuffer2[LOCAL_BUFFER_SIZE + 1]; lvi1.pszText = szBuffer1; lvi2.pszText = szBuffer2; lvi1.cchTextMax = sizeof(szBuffer1); lvi2.cchTextMax = sizeof(szBuffer2); BOOL bResult1 = GetLVItem(hListView, uMask, iItem1, 0, &lvi1, (UINT)-1); BOOL bResult2 = GetLVItem(hListView, uMask, iItem2, 0, &lvi2, (UINT)-1); if (bResult1 && bResult2) { lvi1.iItem = iItem2; lvi2.iItem = iItem1; lvi1.mask = uMask; lvi2.mask = uMask; lvi1.stateMask = (UINT)-1; lvi2.stateMask = (UINT)-1; //swap the items ListView_SetItem(hListView, &lvi1); ListView_SetItem(hListView, &lvi2); int iColCount = GetLVColumnsCount(hListView); //Loop for swapping each column in the items. for (int iIndex = 1; iIndex < iColCount; iIndex++) { szBuffer1[0] = '\0'; szBuffer2[0] = '\0'; GetLVItemText(hListView, iItem1, iIndex, szBuffer1, LOCAL_BUFFER_SIZE); GetLVItemText(hListView, iItem2, iIndex, szBuffer2, LOCAL_BUFFER_SIZE); SetLVItemText(hListView, iItem2, iIndex, szBuffer1); SetLVItemText(hListView, iItem1, iIndex, szBuffer2); } } } //Move up the selected items void MoveLVSelectedItemsUp(HWND hListView) { int iCount = ListView_GetItemCount(hListView); for (int iIndex = 1; iIndex < iCount; iIndex++) if (GetLVItemState(hListView, iIndex, LVIS_SELECTED) != 0) SwapLVItems(hListView, iIndex, iIndex - 1); } //Move down the selected items void MoveLVSelectedItemsDown(HWND hListView) { int iCount = ListView_GetItemCount(hListView); for (int iIndex = iCount - 1; iIndex >= 0; iIndex--) if (GetLVItemState(hListView, iIndex, LVIS_SELECTED) != 0) SwapLVItems(hListView, iIndex, iIndex + 1); } AUTOIT > AutoIt docs / Beta folder - AutoIt latest beta
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now