Вверх ↑
Этот топик читают: Гость
Ответов: 49
Рейтинг: 10
#1: 2009-06-25 18:38:03 ЛС | профиль | цитата
Здравствуйте. Кто может помочь ? Как узнать по имени процесса, идентификатор окна приложения (Window Handle), в HiAsm есть но там наоборот.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2009-06-25 18:45:56 ЛС | профиль | цитата
в одном процессе может быть несколько окон ввиду чего однозначного сопоставления не существует.
карма: 27
0
Ответов: 2125
Рейтинг: 159
#3: 2009-06-25 18:46:24 ЛС | профиль | цитата
Перебрать все окна и найти нужный процесс.
карма: 1

0
Ответов: 49
Рейтинг: 10
#4: 2009-06-25 18:58:47 ЛС | профиль | цитата
Ну а если там точно 1 окно ?
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#5: 2009-06-25 19:03:26 ЛС | профиль | цитата
tsdima писал(а):
Перебрать все окна и найти нужный процесс.

карма: 27
0
Ответов: 49
Рейтинг: 10
#6: 2009-06-25 19:11:36 ЛС | профиль | цитата
не понятно как, чем ? : можно пример ?
------------ Дoбавленo в 19.47:
Не кто не сделает примера ? Главная задачи определить Window Handle левого приложения, по названию, размеру или хоть чему..
карма: 0

0
Ответов: 4641
Рейтинг: 334
#7: 2009-06-25 20:11:39 ЛС | профиль | цитата
MireX писал(а):
Не кто не сделает примера ?

а справку читал (Wiki)? Может там найдешь??
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 578
Рейтинг: 14
#8: 2009-06-25 20:16:12 ЛС | профиль | цитата
у процесса каждый раз меняется заголовок окна
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#9: 2009-06-25 20:24:38 ЛС | профиль | цитата
GanjaKyp писал(а):
у процесса каждый раз меняется заголовок окна

построение фразы на 5 с плюсом...
карма: 27
0
Ответов: 49
Рейтинг: 10
#10: 2009-06-25 20:55:00 ЛС | профиль | цитата
Вообщем вот что у меня получилось, но результата которого хотел не добился. У KeyEvent есть желтая точка "handle" - определяет идентификатор окна для проведения эмуляции. Научился находить идентификатор, теперь KeyEvent знает идентификатор, а эмуляцию клавиши когда окно какого либо приложения не активно, не производит. Что предложите что бы даже не на активное окно производилась эмуляция ?
Make(delphi)
ver(4.02 build 179)
Add(MainForm,3666360,273,119)
{
Left=20
Top=105
Width=273
Height=133
Caption="Определение и эмуляция F клавиш"
BorderStyle=4
Position=1
}
Add(Edit,7280601,406,371)
{
Left=65
Top=5
Width=195
Text=""
}
Add(Edit,10241453,406,455)
{
Left=65
Top=55
Width=195
Enabled=1
Text=""
ReadOnly=0
link(Str,13379621:Handle,[])
}
Add(WinEnum,13379621,406,413)
{
VisibleOnly=1
link(onFindWindow,10241453:doText,[(450,419)(450,440)(394,440)(394,461)])
link(Caption,7280601:Text,[])
}
Add(Label,7381753,7,7)
{
Left=5
Top=10
Width=57
Height=17
Caption="Название:"
}
Add(Label,7446230,42,91)
{
Left=5
Top=60
Width=59
Height=17
Caption="Результат:"
}
Add(Button,279179,357,420)
{
Left=5
Top=30
Width=255
Caption="Найти индетификатор по названию"
link(onClick,13379621:doFind,[])
}
Add(KeyEvent,4605242,406,504)
{
link(Handle,10241453:Text,[])
link(Code,13150169:String,[(419,495)(468,495)])
}
Add(ComboBox,13150169,455,441)
{
Left=65
Top=80
Width=65
Height=21
Strings=#3:112|3:113|3:114|3:115|3:116|3:117|3:118|3:119|3:120|3:121|
ReadOnly=0
}
Add(Label,14262023,7,84)
{
Left=5
Top=85
Width=52
Height=17
Caption="Клавиша:"
}
Add(Button,2035512,322,504)
{
Left=135
Top=80
Caption="Начать"
link(onClick,13366820:doTimer,[])
}
Add(Button,8943876,322,539)
{
Left=195
Top=80
Width=65
Caption="Закончить"
link(onClick,13366820:doStop,[(359,545)(359,517)])
}
Add(Timer,13366820,364,504)
{
Interval=4000
Enable=1
link(onTimer,4605242:doPress,[])
}
карма: 0

0
Ответов: 3514
Рейтинг: 184
#11: 2009-06-25 20:56:05 ЛС | профиль | цитата
В русской раскладке копируй.
ап: ок
карма: 0
0
Ответов: 49
Рейтинг: 10
#12: 2009-06-25 21:04:41 ЛС | профиль | цитата
Ну что кто что предложит ?
карма: 0

0
Ответов: 4641
Рейтинг: 334
#13: 2009-06-25 21:08:23 ЛС | профиль | цитата
MireX писал(а):
Ну что кто что предложит ?

MireX, читай да?
Астрамак писал(а):
В русской раскладке копируй.

схема криво выложилась!
------------ Дoбавленo в 21.10:
MireX писал(а):
Что предложите что бы даже не на активное окно производилась эмуляция ?

сделать его активным или ни как!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 49
Рейтинг: 10
#14: 2009-06-25 22:21:19 ЛС | профиль | цитата
Вот что я нашел: Dilma - можно перебрать окна через winenum, который возвращает handle и далее по нему посылать сообщения WM_KEYDOWN с нужным кодом клавиш
Как сделать это "и далее по нему посылать сообщения WM_KEYDOWN с нужным кодом клавиш"
карма: 0

0
Ответов: 8930
Рейтинг: 823
#15: 2009-06-25 22:54:06 ЛС | профиль | цитата
MireX, ох! code_13903.txt, не забыть открыть Блокнот
карма: 19

1
файлы: 1code_13903.txt [1.6KB] [206]
Голосовали:MireX
Сообщение
...
Прикрепленные файлы
(файлы не залиты)