
我想讓軟體自動點擊新股申購中的批量申購新股,哪位高人提供個思路,嘗試用SendMessage,PostMessage也沒有實作成功。
用spy++查看類為SysTreeView32。
uj5u.com熱心網友回復:
可能還要注意滑鼠的位置,SPY++ 監視訊息, 看看雙擊時發出了哪些訊息,
uj5u.com熱心網友回復:
http://www.autohotkey.comuj5u.com熱心網友回復:
GetWindowThreadProcessId(hwnd7, &processId);
HANDLE process = ::OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE, false, processId);
PVOID buffer = VirtualAllocEx(process, NULL, bufferLength, MEM_COMMIT, PAGE_READWRITE);
item->mask = TVIF_TEXT;
item->cchTextMax = 512;
item->pszText = LPTSTR((PBYTE)buffer + sizeof(TVITEM));
item->hItem = (HTREEITEM)::SendMessage(hwnd7, TVM_GETNEXTITEM, TVGN_ROOT, 0);
while (item->hItem)
{
::SendMessage(hwnd7, TVM_SELECTITEM, TVGN_CARET, (long)item->hItem);
WriteProcessMemory(process, buffer, item, sizeof(TVITEM), NULL);
::SendMessage(hwnd7, TVM_GETITEM, 0, (LPARAM)buffer);
ReadProcessMemory(process, buffer, item, bufferLength, NULL);
text = (LPTSTR)((PBYTE)item + sizeof(TVITEM));
if (-1 != text.Find(_T("新股申購")))
{
::SendMessage(hwnd7, TVM_EXPAND, TVE_EXPAND, (long)item->hItem);
::SendMessage(hwnd7, TVM_SELECTITEM, TVGN_CARET, (long)item->hItem);
break;
}
item->hItem = (HTREEITEM)::SendMessage(hwnd7, TVM_GETNEXTITEM, TVGN_NEXTVISIBLE, (long)item->hItem);
}
item->hItem = (HTREEITEM)::SendMessage(hwnd7, TVM_GETNEXTITEM, TVGN_CHILD, 0);
while (item->hItem)
{
::SendMessage(hwnd7, TVM_SELECTITEM, TVGN_CARET, (long)item->hItem);
WriteProcessMemory(process, buffer, item, sizeof(TVITEM), NULL);
::SendMessage(hwnd7, TVM_GETITEM, 0, (LPARAM)buffer);
ReadProcessMemory(process, buffer, item, bufferLength, NULL);
text = (LPTSTR)((PBYTE)item + sizeof(TVITEM));
if (-1 != text.Find(_T("批量新股申購")))
{
::SendMessage(hwnd7, TVM_EXPAND, TVE_EXPAND, (long)item->hItem);
::SendMessage(hwnd7, TVM_SELECTITEM, TVGN_CARET, (long)item->hItem);
break;
}
item->hItem = (HTREEITEM)::SendMessage(hwnd7, TVM_GETNEXTITEM, TVGN_NEXTVISIBLE, (long)item->hItem);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/76839.html
標籤:資源
