- xp
#include
#include int main(){ TCHAR str[100] = TEXT("Hello World"); HWND hwnd = NULL; hwnd = FindWindowEx(NULL, NULL, TEXT("CabinetWClass"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("WorkerW"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("ReBarWindow32"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("ComboBoxEx32"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("ComboBox"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("Edit"), NULL); SendMessage(hwnd, WM_GETTEXT, 100, (LPARAM)str); //SendMessage(hwnd, WM_SETTEXT, 0, (LPARAM)str); //GetWindowText(hwnd, str, 100); //MessageBox(NULL, str, TEXT("Cap"), 0); wprintf(TEXT("%s\n"), str); return 0;}
关于为什么不可以用:
Copies the text of the specified window's title bar (if it has one) into a buffer. If the specified window is a control, the text of the control is copied. However, GetWindowText cannot retrieve the text of a control in another application.
2.windows 7
#include#include int main(){ TCHAR str[100] = TEXT("Hello World"); HWND hwnd = NULL; hwnd = FindWindowEx(NULL, NULL, TEXT("CabinetWClass"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("WorkerW"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("ReBarWindow32"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("Address Band Root"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("msctls_progress32"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("ComboBoxEx32"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("ComboBox"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("Edit"), NULL); SendMessage(hwnd, WM_GETTEXT, 100, (LPARAM)str); //SendMessage(hwnd, WM_SETTEXT, 0, (LPARAM)str); MessageBox(NULL, str, TEXT("Cap"), 0); //wprintf(TEXT("%s\n"), str); return 0;}
上面这个还是比较鸡肋的:
需要点击下地址栏才会出现ComboBoxEx32->ComboBox->Edit
测试:
通过点击向下箭头,刷新路径显示
#include#include #include int main(){ TCHAR str[1024] = TEXT("Hello World"); HWND hwnd = NULL; HWND hToolbat; hwnd = FindWindowEx(NULL, NULL, TEXT("CabinetWClass"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("WorkerW"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("ReBarWindow32"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("Address Band Root"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("msctls_progress32"), NULL); hToolbat = FindWindowEx(hwnd, NULL, TEXT("ToolbarWindow32"), NULL); SendMessage(hToolbat, WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(0, 0)); SendMessage(hToolbat, WM_LBUTTONUP, MK_LBUTTON, MAKELONG(0, 0)); SendMessage(hToolbat, WM_LBUTTONDOWN, MK_LBUTTON, MAKELONG(0, 0)); SendMessage(hToolbat, WM_LBUTTONUP, MK_LBUTTON, MAKELONG(0, 0)); hwnd = FindWindowEx(hwnd, NULL, TEXT("ComboBoxEx32"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("ComboBox"), NULL); hwnd = FindWindowEx(hwnd, NULL, TEXT("Edit"), NULL); if(hwnd == NULL) { wprintf(L"%s\n", L"error"); return -1; } SendMessage(hwnd, WM_GETTEXT, 1024, (LPARAM)str); MessageBox(NULL, str, TEXT("Caption"), 0); return 0;}
利用好wmic命令
E:\MyDocument\Desktop>wmic process /?PROCESS - Process management.HINT: BNF for Alias usage.([WMIObject] | [ ] | [ ] ) [ ].USAGE:PROCESS ASSOC [ ]PROCESS CALL [ ]PROCESS CREATE PROCESS DELETEPROCESS GET [ ] [ ]PROCESS LIST [ ] [
]wmic process where caption="notepad.exe" get commandline /valuewmic process where name="notepad.exe" get executablepath