Вот мой весь проект весь код который я писал работает нетак как надо
Меня уже поисковая система блокирует, говорит, что я робот очень много запросов в день)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, Menus;
type
TForm1 = class(TForm)
ListBox1: TListBox;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
ComboBox1: TComboBox;
Alt: TRadioButton;
Shift: TRadioButton;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
GroupBox1: TGroupBox;
ComboBox2: TComboBox;
N5: TMenuItem;
Ctrl: TRadioButton;
Panel1: TPanel;
memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
Wnd: hWnd;
buff: array[0..127] of Char;
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;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
memo1.Lines.Strings [memo1.CaretPos.Y]:= ctrl.GetNamePath +' + '+ ComboBox1.Text + ' = ' + ComboBox2.Text;
// Здесь чтоб выводило список выбранные клавиши например я отметил Ctrl + S + F1 или так Alt + S + F1 надеюсь правильно объяснил
memo1.Lines.Add('');
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if memo1.lines.Count<>0 then
memo1.Lines.Delete(memo1.CaretPos.Y);
end;
end.