Текущее время: Чт, мар 28 2024, 14:41

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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