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

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

За 2005-09-29

Re[3]: Список окон. iString of Toolbutton

Хаю ду ю ду Алексей?

Смотрю и вижу, как ты печатаешь умные вещи и дай-ка, думаю,
тоже что-нибудь напечатаю:

А> же текст русский то кракозябры всякие, я думаю что используются
А> двухбайтные символы.

Праильно думаешь

А> Кто-нибудь знает как получить обычный string?
А> Пишу на Делфи.

Юзай widestring вместо string.

   2005-09-29 19:08:25 (#445875)

Re[2]: Список окон. iString of Toolbutton

>> Как можно получить список окон, которые отображаются на таскбаре.
>> Список процессов получить могу, но как из них выделить нужные не знаю.
>> Пробовал сделать EnumChildWindows у таскбара, но такой фокус не
>> прошел.

Всем огромное спасибо, вопрос закрыт.

Есть другая проблема теперь. Получаю кнопку с помощью месседжа
TB_GETBUTTON. У полученной структуры есть поле iString, которое
указывает на адрес, где хранится строка. Я считываю эту строку и вижу
там такое: если текст английский, то через один символ стоит #0, если
же текст русский то кракозябры всякие, я думаю что используются
двухбайтные символы. Кто-нибудь знает как получить обычный string?
Пишу на Делфи.

Номер выпуска : 4943
Возраст листа : 739 (дней)
Количество подписчиков : 533
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/445731
Получить правила : 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

   2005-09-29 14:44:05 (#445731)

Re: Список окон.

> Как можно получить список окон, которые отображаются на таскбаре.
> Список процессов получить могу, но как из них выделить нужные не знаю.
> Пробовал сделать EnumChildWindows у таскбара, но такой фокус не
> прошел.
>
Что-то много здесь было мудреных ответов. Возможно,
я чего-то не понимаю, но решение проще.

Смотрим раздел MSDN "Handling the Taskbar", подраздел
"Visibility of Taskbar Buttons" (или вроде того).
Там сказано, что на панели задач отображаются кнопки
для видимых окон без владельца, которые к тому же
не имеют стиля WS_EX_TOOLWINDOW.
Получается простой перебор:

BOOL CALLBACK EnumProc(HWND hwnd,LPARAM lParam) {
TCHAR szTitle[256];

if(IsWindowVisible(hwnd)&&(GetWindow(hwnd,GW_OWNER)==0)&&
((GetWindowLong(hwnd,GWL_EXSTYLE)&WS_EX_TOOLWINDOW)==0)) {
GetWindowText(hwnd,szTitle,sizeof(szTitle));
printf("%s\n",szTitle);
}
return TRUE;
}
int main(void) {
EnumWindows(EnumProc,0);
return 0;
}

Затем при желании можно узнать идентификатор процесса,
которому принадлежит окно с помощью
GetWindowThreadProcessId.

Номер выпуска : 4942
Возраст листа : 739 (дней)
Количество подписчиков : 533
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/445595
Получить правила : 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

   2005-09-29 10:57:08 (#445595)