Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2011, 11:27   #11
xexxex
Пользователь
 
Регистрация: 31.07.2010
Сообщений: 52
По умолчанию

Набросал вот как пример, подправь под себя
Код:
function GetWndText(Wnd: HWnd): String;
begin
     if Wnd = 0 then Exit;
  SetLength(Result, SendMessage(Wnd, WM_GETTEXTLENGTH, 0, 0));
  SendMessage(Wnd, WM_GETTEXT, Length(Result)+1, Longint(PChar(Result)));
end;

////////////////////
procedure GetStaticValues(Dlg: HWnd; List: TStringList);
const
  StaticIDs: array[0..5] of Integer = (1234,134,2345,567,4568,1234);
var J: Integer;
begin
  for J := Low(StaticIDs) to High(StaticIDs) do
    List.Add(GetWndText(GetDlgItem(Dlg, StaticIDs[J])));
end;

///////////////////////////
procedure TForm1.FormCreate(Sender: TObject);
var List: TStringList;
begin
  List := TStringList.Create;      
  try
    GetStaticValues(FindWindow('wndclass', 'wndtitle'), List);
    ShowMessage(List.Text);
  finally
    List.Free;
  end;
end;
xexxex вне форума Ответить с цитированием
Старый 11.03.2011, 12:07   #12
BoozZzilla
Форумчанин
 
Аватар для BoozZzilla
 
Регистрация: 26.01.2009
Сообщений: 125
По умолчанию

за GetWndText спасибо ))
очень поучительно, но я не буду собирать значения одновременно со всех окошек, мне в один момент нужно будет одно.
Порывшись у вас на форуме для сбора дескрипторов состряпал вот такое:
Код:
procedure TForm1.FormCreation(Sender: TObject);
begin
StaticHndEnum([$000003ea,$000003ef.....$00000400]);
end;

procedure TForm1.StaticHndEnum(const StaticID: array of Cardinal);
var
i: integer;
begin
for i:= Low(StaticID) to High(StaticID) do
StaticHnd[i]:=GetDlgItem(MainDlg,StaticID[i]);
end;
BoozZzilla вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц