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. В предисловии авторами сказано, что это ответы на самые обсуждаемые темы на многих форумах.
|
|