Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.09.2010, 20:14
Человек_Борща Человек_Борща вне форума
Новичок
 
Регистрация: 17.09.2010
Адрес: Беларусь, г. Минск
Сообщения: 58
Версия Delphi: 7, 2010,XE
Репутация: 10
По умолчанию Изменить заголовок окна программы после её запуска зная только exe файл и его handle

Сабж в названии темы=) Как это реализовать?
Ответить с цитированием
  #2  
Старый 20.09.2010, 21:21
Аватар для mak-karpov
mak-karpov mak-karpov вне форума
Активный
 
Регистрация: 18.09.2008
Сообщения: 235
Версия Delphi: 2010 и 7
Репутация: 1242
По умолчанию

Без доп. софта - никак. Пиши сервер.
__________________
Кнопка "+" - весы в правом верхнем углу сообщения...
Ответить с цитированием
  #3  
Старый 20.09.2010, 21:37
Человек_Борща Человек_Борща вне форума
Новичок
 
Регистрация: 17.09.2010
Адрес: Беларусь, г. Минск
Сообщения: 58
Версия Delphi: 7, 2010,XE
Репутация: 10
По умолчанию

зачем доп. софт?

Процесс создаётся через creteprocess а то что создано CreateProcess возваращает мне хендл программы.. как зная хендл программы узнать его видимое на экране окно и изменить заголовок?
Ответить с цитированием
  #4  
Старый 20.09.2010, 22:08
Аватар для mak-karpov
mak-karpov mak-karpov вне форума
Активный
 
Регистрация: 18.09.2008
Сообщения: 235
Версия Delphi: 2010 и 7
Репутация: 1242
По умолчанию

Тьфу, *ля. Смотрел тему "** по сети" потом переключился на твою, вот и показалось "Изменить заголовок по сети бла бля бла".

А так помоему есть ф-я API - какому процессу принадлежит окно. Смотри все окна, если найдешь нужное меняй.
__________________
Кнопка "+" - весы в правом верхнем углу сообщения...
Ответить с цитированием
  #5  
Старый 21.09.2010, 07:48
Аватар для eXplorer
eXplorer eXplorer вне форума
Активный
 
Регистрация: 06.08.2010
Адрес: Ярославль
Сообщения: 264
Версия Delphi: 7
Репутация: 14
По умолчанию

если я правильно вас понял...

Код:
procedure TForm1.FormShow(Sender: TObject);
var
h:HWND;
begin
h:=FindWindow(nil, 'Form1');
SetWindowText((h),'Delphi World FOREVER!!!');
end;
Ответить с цитированием
  #6  
Старый 21.09.2010, 08:57
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
function EnumThreadWndProc(hwnd: THandle; lParam: LPARAM): Boolean; stdcall;
var
  len: Integer;
  classname: array [0..$ff] of Char;
begin
  Result:=True;
  // если окно видимое, то
  if IsWindowVisible(hwnd) then
  begin
    // получаем его класс
    len:=GetClassName(hwnd, @classname, SizeOf(classname));
    if len>0 then
      // и заголовок меняем на класс
      SetWindowText(hwnd, PChar(Copy(classname, 1, len)));
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  startupinfoa: _STARTUPINFOA;
  processinformation: _PROCESS_INFORMATION;
begin
  // инициализируемся
  ZeroMemory(@startupinfoa, SizeOf(_STARTUPINFOA));
  startupinfoa.cb:=SizeOf(_STARTUPINFOA);
  startupinfoa.wShowWindow:=SW_SHOWNORMAL;
  // создаем процесс mshearts.exe
  CreateProcess(nil, PChar('mshearts.exe'), nil, nil, False, 0, nil, nil, startupinfoa, processinformation);
  // ждем максимум 10 сек пока не создадутся окна
  WaitForInputIdle(processinformation.hProcess, 10000);
  // найдем все окна нашего процесса
  EnumThreadWindows(processinformation.dwThreadId, @EnumThreadWndProc, 0);
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:15.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025