Текущее время: Сб, авг 08 2026, 15:22

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: SAPLPD. Переключение окон
СообщениеДобавлено: Ср, фев 18 2009, 10:21 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Алексей09 написал:
1300 км от нас - это Москва. И принтеров у нас много, практически у каждого пользователя. А на транзакцию SPAD нет прав.
Кстати, дело вроде не в SAPLPD. Сначала я запустил SAPLPD, как сервис - не помогло. Потом переименовал saplpd.exe в saplpd1.exe. Соответственно, он не запускался, печать не происходила, но фокус все равно куда-то уходил. Теперь попробую определить, на какое окно/процесс он переключается.

Вообще SAPLPD запускается в фоновом окошке и фокус на себя не переключает.
Может у вас версия сап гуя (и соответственно SAPLPD) сильно древняя? Какая версия установлена?
Такая фигня у всех пользователей или не у всех?

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAPLPD. Переключение окон
СообщениеДобавлено: Ср, фев 18 2009, 19:57 
Начинающий
Начинающий

Зарегистрирован:
Пн, фев 09 2009, 16:23
Сообщения: 6
Пол: Мужской
Все. Разобрался. Лечится правкой 42-х байт в файле sapfront.dll - NOPятся вызовы функции SetForegroundWindow.

А нашел это так (кому интересно):
Набросал прогу-монитор, котрая непрерывно определяет, какое окно в данный момент имеет фокус, его хендл и процесс, и выводит эти данные на экран с указанием времени. Потом запустил печать. Монитор показал, что создалось невидимое окно класса SAP_FRONTEND_SESSION без заголовка, его процесс saplogon.exe. Это окно автоматически уничтожается после печати, и его хендл каждый раз разный. Сам файл saplogon.exe небольшой, но в памяти процесс занимает много места всвязи с кучей загружаемых библиотек. Значит, надо определить точнее, кто-же создает это окно.
Опять запустил монитор, и послал документ на печать. В тот момент, когда фокус переключился, я запустил отладчик Syser, запомнив значение хендла невидимого окна из монитора. В Syser'е определил, что этот окно с таким хендлом создает модуль sapfront.
Далее загнал sapfront.dll в дизассемблер IDA, среди импортируемых функций нашел подозрительные вызовы, взаимодействующие с окнами. Наиболее подозрительной оказалась функция SetForegroundWindow, переключающая фокус. После определил все вызовы (их 7) этой функции, и забил их командами NOP.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SAPLPD. Переключение окон
СообщениеДобавлено: Чт, фев 19 2009, 10:23 
Начинающий
Начинающий

Зарегистрирован:
Чт, май 22 2008, 16:51
Сообщения: 19
Откуда: СССР
Пол: Мужской
Респект таким "всего лишь пользователям сап"!
Но имхо правильнее обновить saplogon на более новую версию. У меня сейчас 7.10 - окошко печати в бэкграунде, на 6.40 вроде тоже не лезло вперед. saplpd 6.28. Проверьте версии и обновите при необходимости.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SAPLPD. Переключение окон
СообщениеДобавлено: Пт, мар 06 2009, 14:11 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 14 2004, 18:02
Сообщения: 415
Откуда: из HR
Пол: Мужской
Алексей09 написал:
Все. Разобрался. Лечится правкой 42-х байт в файле sapfront.dll - NOPятся вызовы функции SetForegroundWindow...

дааа, посмеялся от души :shumlol: так все красиво начиналось и как тривиально все закончилось :shumlol:
Вы бы хоть не признавались столь открыто в нарушении лицензионного соглашения :mrgreen:


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB