Saludos, miren este problema, estoy tratando de eliminar uno de los Ítems del ListView que muestra los procesos en el Administrador de Tareas, no solamente eliminar sino también obtener el titulo de este, estas operaciones las realizo con las funciones para manejar el control ListView de la unit commctrl, ejemplo de ellas:
Cita:
ListView_GetItemCount
ListView_GetItem
ListView_DeleteItem
ListView_GetItemText
…
|
Bueno, lo primero que hago es obtener el Handle de este control, he tratado de hacerlo de la siguiente forma pero no funciona:
Cita:
var
LV_Handle: Cardinal;
begin
LV_Handle := FindWindow(nil, 'Administrador de tareas de Windows');
LV_Handle := FindWindowEx(LV_Handle, 0, 'SysListView32', 'Procesos');
|
No se por que pero no me resuelve el Handle del Listview de procesos del Administrador de tareas,
Para eso he usado la siguiente función:
Código Delphi
[-]
function GetTaskMgrListViewProcess(): Cardinal;
const
LV_ClassName = 'SysListView32';
LV_WindowName = 'Procesos';
TMgr_Title = 'Administrador de tareas de Windows';
var
vTaskMgrWnd: Cardinal;
function EnumObjectsFunc(Hwnd, lParam: LongInt): Boolean; stdcall;
var
wndText: array[0..100] of char;
wndClass: array[0..100] of char;
begin
Result := true;
GetWindowText(Hwnd, wndText, 100);
GetClassName(Hwnd, wndClass, 100);
if (wndText = LV_WindowName) and (wndClass = LV_ClassName) then
vLVHwnd := Hwnd;
end;
begin
Result := 0;
vTaskMgrWnd := FindWindow(nil, TMgr_Title);
if vTaskMgrWnd > 0 then
begin
EnumChildWindows(vTaskMgrWnd, @EnumObjectsFunc, 0);
Result := vLVHwnd;
end;
end;
Con esta función si obtengo el Handle de este Listview , ahora lo que quiero es obtener el titulo/text/caption del item #1 por ejemplo, lo intento de esta forma:
Código Delphi
[-]
Uses commctrl;
Var
vLVHwnd: Cardinal;
…
procedure TForm1.Button1Click(Sender: TObject);
var
LV_Handle: Cardinal;
ItemText: array[0..100] of Char;
begin
LV_Handle := GetTaskMgrListViewProcess();
ListView_GetItemText(LV_Handle, 1, 1, ItemText, 100);
…
end;
Y ocurre un error en el Administrador de tareas, se cierra y al final no obtengo el titulo de item #1,
¿alguien me puede ayudar con este problema?, ¿Cómo obtengo el texto de un item cualquiera de este Listview?
Muchas gracias de antemano
Saludos cordiales,
aeff