Насчет нажатых кнопок.... Это нажатых кнопок в твоей программе? Или всех в системе? А насчет приложений.. Помозгуем щас.....Добавлено (30.09.2011, 20:28)
---------------------------------------------
Если вам нужно узнать список всех запущенных программ в Windows и вывести заголовок в ListBox...
var
buff: array [0 .. 127] of Char;
Wnd: hWnd;
begin
ListBox1.Clear;
Wnd := GetWindow(Handle, gw_HWndFirst);
while Wnd <> 0 do
begin
if (Wnd <> Application.Handle) and // Собственное окно
IsWindowVisible(Wnd) and // Невидимые окна
(GetWindow(Wnd, gw_Owner) = 0) and // Дочерные окна
(GetWindowText(Wnd, buff, sizeof(buff)) <> 0) // Окна без заголовков
then
begin
GetWindowText(Wnd, buff, sizeof(buff));
ListBox1.Items.Add(StrPas(buff));
end;
Wnd := GetWindow(Wnd, gw_hWndNext);
end;
ListBox1.ItemIndex := 0;
end;
Вот листинг кода, только все запущенные программы будут в TListBox