Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

За 2004-03-21

Re[3]: CreateWindowEx - fails under XP...

Здравствуйте !

> WindowClass типа WNDCLASS. А 2-ой параметр CreateWindowEx типа
> LPCTSTR. То
> есть не инфа о приложении и пр., а строка содержащая название класса
> окна (то же что и было передано в RegisterClass). Может я нечто не так
> понял?

Извиняюсь, блин, это меня переклинило что то.
Я что то напутал между MFC - шным AfxRegisterClass и API - шной
RegisterClass (она значение типа ATOM, вроде, возвращает).

То есть в поле lpszClassName структуры WNDCLASS заносится
то же самое AppName ? Гм...
Дикая мысль - может, AppName совпадает с именем какого нибудь
уже зарегистренного класса ?

--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru
Номер выпуска : 2656
Возраст листа : 181 (дней)
Количество подписчиков : 375
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/108821
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-03-21 21:20:57 (#108821)

Re[2]: CreateWindowEx - fails under XP...

Рад приветствовать, Victor!

Довелось мне Saturday, March 20, 2004 читать, следующее:

>> If RegisterClass (WindowClass) = 0 then
>> MainWindow := CreateWindowEx(
>> WS_EX_TOPMOST,
>> AppName,
>> AppName,

VVV> Может, надо что то типа :
VVV> MainWindow := CreateWindowEx(
VVV> WS_EX_TOPMOST,
VVV> WindowClass,
VVV> AppName,
VVV> ...

Не понял я что-то.
WindowClass типа WNDCLASS. А 2-ой параметр CreateWindowEx типа LPCTSTR. То
есть не инфа о приложении и пр., а строка содержащая название класса
окна (то же что и было передано в RegisterClass). Может я нечто не так
понял?

Alles Gutes!

CU @ http://smuta.boom.ru

...In Code We Trust...

   2004-03-21 14:55:47 (#108604)

Re: как получить список из TListView из другой программы

Здарова, Ghost!

20 марта 2004 г., суббота, 13:35:47 (GMT+05:00), ты намылил:

G> естественно нет. У программы есть компонент TListView.

G> компонента. Handle, id контрола известны. Пытаюсь сделать через
G> посылку сообщений LB_GETCOUNT и затем в цикле LB_GETTEXT, но это

Как говориться - RTFM!!!!
LVM_GETITEMCOUNT
LVM_GETITEMTEXT и т.д.

Объясняю для тех кто в танке:
RTFM - Read The Fucking Manual

Для счастливых обладателей Delphi и/или Builder:

ИНСТРУКЦИЯ К ПРИМЕНЕНИЮ ХЕЛПА (читать ВСЕМ):
1) Запускаем делфу/билдер;
2) В меню Help ищем пункт Customize... , жмем, появляется окно
OpenHelp;
3) Ищем меню Edit - > Add Files...;
4) Следующую операцию проделываем на всех вкладках (Contens, Index,
Link, и Project):
Добавляем все файлы которые будут видны в окне Add File (3 пункт)
из папок:
а) С:\Program Files\Borland\Delphi5 (или CBuilder5)\Help;
б) C:\Program Files\Common Files\Borland Shared\MSHelp;
5) Сохраняем проект хелпа как delphi5.ohp;
6) Жмем F1;
7) Переходим на вкладку поиск;
8) Если вы уже создавали файл индекса, то жмем кнопку Перестроить...;
9) В появившемся мастере "Настройка поиска" выбираем следующие
настройки:
а) Выбрать особые возможности поиска - > Далее;
б) Выделить все - > Далее;
в) Включить разделы без названий - > Далее;
г) Включить поиск выражений - > Далее;
д) Отображать соответствующие образцу фразы - > Далее;
е) Обеспечить поиск по сходству - > Далее;
ж) - > Готово;
10) После построения индекса получаете зверский хелп.

PS: Для Delphi/Bulider версии отличной от 5 соответственно цифра 5
поменяется на версию продукта и т.д.

PPS: Например для поиска выше перечисленных LVM_***, у меня
ушло ~ 20 секунд:
Запуск хелпа
Переход на Поиск
Ввод фразы: "listview message get item"
Сразу в результатах поиска было замечено LVM_GETITEMTEXT, далее в этом
разделе присутствовала кнопка Group.

--
Никогда больше не буду говорить афоризмами. Да, кстати, запишите мою последнюю
фразу

   Томилов Александр 2004-03-21 13:02:01 (#108535)

Re: как получить список из TListView из другой программы

Здравствуйте !

> G> Я с помощью своей программы хочу извлечь список строк из этого
> G> компонента. Handle, id контрола известны. Пытаюсь сделать через
> G> посылку сообщений LB_GETCOUNT и затем в цикле LB_GETTEXT, но это
> G> работает только для стандартных ListBox'ов (даже не ListCtrl'ов).
>
> Не уверен на все 150, но, кажется, вы используете не то сообщение.
> Нужно использовать LV_ITEM (см. win32.hlp).

Не думаю, что вообще все это получится _таким_ образом.
Дело в том, что все указатели, возвращаемые такими сообщениями
действительны только в адресном пространстве процесса, содержащего контрол.
То есть LB_GETCOUNT и (для списка) - LVM_GETITEMCOUNT использовать
можно таким образом - вся инфа содержится в структуре сообщения,
а с LB_GETTEXT - облом. Чтобы решить эту задачу, надо внедрять
свой код в адресное пространство другого процесса. Самое простое -
загрузить туда длл - ку (например, через хук, или удаленный поток в 2000-х
виндах). В этой длл - ке получать нужные данные, а уже из длл-ки
получать данные другим процессом (например при помощи WM_COPYDATA,
общей секчии данных, MMF, каналов (pipes), или еще чего).

--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru
Номер выпуска : 2653
Возраст листа : 181 (дней)
Количество подписчиков : 375
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/108406
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

   2004-03-21 07:49:29 (#108406)

Re: как получить список из TListView из другой программы

Hello Ghost,

Saturday, March 20, 2004, 10:35:47 AM, you wrote:

G> Я с помощью своей программы хочу извлечь список строк из этого
G> компонента. Handle, id контрола известны. Пытаюсь сделать через
G> посылку сообщений LB_GETCOUNT и затем в цикле LB_GETTEXT, но это
G> работает только для стандартных ListBox'ов (даже не ListCtrl'ов).

Не уверен на все 150, но, кажется, вы используете не то сообщение.
Нужно использовать LV_ITEM (см. win32.hlp).

   Вадим Шешунов 2004-03-21 01:12:59 (#108303)