C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Command Windows
avtoritet
Отправлено: 23.09.2004, 00:45


Ученик-кочегар

Группа: Участник
Сообщений: 15



Кто -нибудь знает команду винды для сворачиваня всех окон?
Можно ли ее как-нибудь прописать в *bat file?

P.S. А вообще как узнать какие функции вызова имеет длл?

Спасибо за внимание!
AVC
Отправлено: 23.09.2004, 08:16


Ветеран

Группа: Модератор
Сообщений: 1583



По поводу dll
Impdef -h библиотека.def библиотека.bpl
или TDump
пользуюсь bat файлом
CODE

IF Not Exist %1\%2.%3   GoTo Exit
Echo %1\%2.%3
Tdump      %1\%2.%3 %2.lst    > nul
Tdump  -em %1\%2.%3 %2.imp    > nul
Impdef -h  %2.def   %1\%2.%3  > nul
:Exit
где 1 — path; 2 — name; 3 — extension

Gedeon
Отправлено: 23.09.2004, 08:17


Ветеран

Группа: Модератор
Сообщений: 1742



Сию команду можно симитировать эмуляцией нажатия кнопок "Win"+"D", а если в батник, то толкните ярлык свернуть все окна.
avtoritet
Отправлено: 23.09.2004, 15:58


Ученик-кочегар

Группа: Участник
Сообщений: 15



Про Win+D мне известно. Симулировать нажаие клавишь, намой взгляд, лишь крайний выход.

AVC: я не совсем догоняю по тому что написал. Твой код для бат файла для узнавания функций длл?

А как вызвать из функци длл в бат файле?
AVC
Отправлено: 23.09.2004, 16:35


Ветеран

Группа: Модератор
Сообщений: 1583



2avtoritet
Это просто командный файл для генерации содержимого библиотеки. Используется из командной строки (или другого батника) примерно так
Call tolst . VclBde50 bpl
Call tolst . AxLib bpl
Call tolst .. hcenger exe
Call tolst .. btimg dll

Результат — список импортируемых и экспортируемых глобальных символов — смотрим в файлах *.def *.lst *.imp с соответствующими библиотеке именами
Pirs
Отправлено: 30.09.2004, 16:22


Дежурный стрелочник

Группа: Участник
Сообщений: 39



Попробуй:

HWND WinHandle ;
WinHandle = Handle ;
while ( WinHandle != 0 )
{
WinHandle = GetNextWindow(WinHandle,GW_HWNDNEXT) ;

if ( (GetWindow(WinHandle,GW_OWNER)) //только главное окно приложения
&& (!IsIconic(WinHandle)) // если оно еще не свернуто
&& ( IsWindowVisible(WinHandle)) // если видимо
&& (WinHandle != Application->Handle)//исключить данное приложение
&& (WinHandle != Handle ) //исключить данное окно
)
PostMessage(WinHandle,WM_SYSCOMMAND,SC_MINIMIZE,0);
}
Код взят из новой, только что вышедшей книги Архангельского «Приемы программирования C++Builder. Механизмы Windows, сети». «Для освоивших C++Builder».
Офигенное число примеров (на диске) с пояснениями именно на системном уровне Windows. В предисловии авторами сказано, что это ответы на самые обсуждаемые темы на многих форумах.



Вернуться в Вопросы программирования в C++Builder