|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.07.2009, 16:39 | #1 |
Регистрация: 28.07.2009
Сообщений: 4
|
Получить дескриптор окна другого приложения и сделать его активным Delphi 7
Нашел пример... на дельфи ворд.
перепесал под себя но оно не пашет... Окно точно есть екселевское толи я торможу то ли что то не так. Код:
|
30.07.2009, 16:48 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Вот попроще могу предложить:
Код:
I'm learning to live...
|
30.07.2009, 17:00 | #3 |
Регистрация: 28.07.2009
Сообщений: 4
|
Ога СПАСИБО... Огромное...
получается окончательно таким образом Код:
|
18.10.2009, 02:53 | #4 |
ХРЕНЕЮ с ИНДИ
Пользователь
Регистрация: 08.02.2009
Сообщений: 92
|
..а если с CreatProcess? мне надо запустить прогу (из под моей) а потом знать запущенна она или нет, при том что, будет запущенно еще много других? ...короче: я получаю от CreatProcess структуру TProseccInformation, но что потом с ним делать? мне посути надо хендл, но как его получить из этих четырех параметров? ... или может, есть другой способ?(заголовок окна неизвестензаранее) то есть как то надо или хендл отловить или вот этот гребанный TPROCESSINFORMATION? ПЛЗ подскажите!
Велкам! :D http://radiomedtech.ucoz.ru
|
18.10.2009, 09:32 | #5 |
ХРЕНЕЮ с ИНДИ
Пользователь
Регистрация: 08.02.2009
Сообщений: 92
|
type
Tmyproc=record Fmp: TPROCESSINFORMATION; Wmp: pchar; end; var Form1: TForm1; piArr: array [0..10] of Tmyproc ; ipi:integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var si: TSTARTUPINFO; pi: TPROCESSINFORMATION; begin fillchar(si,sizeof(si),#0); si.cb:=sizeof(si); if not createprocessa(nil,pchar(edit1.Text ),nil,nil,false,0,nil,nil,si,pi) then form1.Memo1.Lines.Add('Ошибка! '+inttostr(getlasterror())) else begin piArr[ipi].Fmp:=pi; piArr[ipi].Wmp:=pchar(edit1.Text); inc(ipi); end; end; procedure TForm1.Button2Click(Sender: TObject); var i:integer; begin form1.Memo1.Lines.Add('Список процессов: '); for i:= 0 to ipi-1 do form1.Memo1.Lines.Add(inttostr(i)+' ) '+ '; dwP: '+inttostr(piArr[i].Fmp.dwProcessId)+ '; dwT: '+inttostr(piArr[i].Fmp.dwThreadId)+ '; hP: '+inttostr(piArr[i].Fmp.hProcess)+ '; hT: '+inttostr(piArr[i].Fmp.hThread)+ ' '+piArr[i].Wmp); end; procedure TForm1.FormActivate(Sender: TObject); begin ipi:=0; end; Вот это запускает передает какие то параметры (4) но смыслая в них не вижу- как их использовать?
Велкам! :D http://radiomedtech.ucoz.ru
Последний раз редактировалось 100GRamm; 18.10.2009 в 09:47. Причина: некорректный вопрос |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как на WinApi получить все дочерние окна приложения? | Wadimka | Работа с сетью в Delphi | 8 | 27.05.2009 14:25 |
Получить Handle TEdit'a, зная дескриптор родительского окна | Cold_Night | Win Api | 2 | 13.02.2009 16:47 |
Как получить handle главного окна, зная имя приложения? | Altera | Win Api | 8 | 22.12.2008 18:52 |
как получить дескриптор приложения в C#? | fiatik | Общие вопросы .NET | 1 | 08.11.2008 08:18 |