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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2011, 22:22   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию [Проблема]Изм. заголовка запускаемого exe(GUI программа), через createProcess

Всем привет!

Проблема:
Программы запускаю чрнрез поток TThread передавая им струкутуру типа record с параметрами.

Ну и там собственно задачие заголовка окна, для этого использую ProcessInformation.dwThreadId и вот такой код:
Код:
function ChangeCaptionProc(hwnd: THandle; lParam: LPARAM): Boolean; stdcall;
var
  s: PAppInfo; //Структура
begin
  Result := True;
  s := pointer(lParam);
  if GetWindowLong(hwnd, GWL_STYLE) and WS_CAPTION = WS_CAPTION then
  begin
    SetWindowText(hwnd, PAnsiChar(s));
  end;
end;

procedure TAppThread.AppChangeCaption(ProcessPID: DWORD);
begin
  EnumThreadWindows(ProcessPID, @ChangeCaptionProc, Integer(AppInfo.OtherCaption)); //передаём параметр функции
end;

Проблема вся в том что этот код срабатывает только 1 раз за всю работу моей программы.
т.е. запускаю др. потоки и код с EnumThreadWindows не работает. А перезапустив программу(Мою) то код сработывает опять же один раз.

Почему?
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CreateProcess, правильный запуск bat and exe.. m.a.x.i.m Win Api 1 23.09.2010 09:04
Через CreateProcess запустить программу в свёрнутом состоянии. Человек_Борща Общие вопросы Delphi 9 30.08.2010 15:22
GUI в exe а процедуры в DLL fize Помощь студентам 2 13.12.2009 13:36
Путь запускаемого exe Stanislav Общие вопросы Delphi 4 19.11.2007 18:29