Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.31;
Скачать: CL | DM;

Вниз

Скриншоты рабочего стола и окна приветствия   Найти похожие ветки 

 
clickmaker ©   (2009-02-19 16:31) [40]

> На сохранении картинки - Bmp.SaveTofile...

для кого я подчеркнул? в коде VCL
Use debug dcu и зайди отладчиком туда


 
Eraser ©   (2009-02-19 16:31) [41]

> [37] Alex22   (19.02.09 16:27)


> А какой в Висте подход?
> И как тогда грамотно реализовать данную задачу?

эт я вопросом ошибся ) если требуется сделать скриншот, то подход тот же.


 
Eraser ©   (2009-02-19 16:36) [42]

PS да, насчет скриншотов из сервиса. это допустимо только в XP и ранее и только в 0 терм. сессии. для остальных случаев прийдется использовать совершенно другой подход.


 
Alex22   (2009-02-19 16:59) [43]


> Eraser ©   (19.02.09 16:36) [42]

А можно поподробнее, что за такой "другой" подход?


> Ну так я не понял - ты убрал CreateThread ? Заменил на TThread
> или BeginThread ?Мало того, ты же в теле ф-ции ServiceThread()
> лезешь к синхронизируемому ресурсу напрямую, безо всяких
> крит.секций !

Да, заменил на BeginThread, а как правильно синхронизировать то?

function ServiceThread(P: Pointer): integer;
begin    
CriticalSection.Enter;
 msgPtr:=P;

 // InitActiveDesktop;

 Get_Screen;

CriticalSection.Leave;

//  ExitThread(0);
end;


Так?


 
Сергей М. ©   (2009-02-19 17:00) [44]


> так и в окне Winlogon


Картина маслом:

стартует Винда, появляется окно приветствия с приглашением выбрать уч.запись пользователя для входа в систему - и тут вдруг поверх нее как черт из табакерки выскакивает хрен знает что за форма с кучей "прочих элементов" и начинает "фотографировать" все что ни попадя..

Как вам оно покажется ?)


 
Сергей М. ©   (2009-02-19 17:03) [45]


> заменил на BeginThread


Ну и заменил бы тогда уж на TThread - ты же, судя по коду, знаешь как с ним управляться и как присобачить в метод Execute крит.секцию..

А ты так и не ответил, за каким лешим понадобилась эта солянка из "прямого" старта потока и старта потока через TThread-оболочку)


 
Alex22   (2009-02-19 17:35) [46]


> Картина маслом:

Не, картина будет скрыта в трее, и вызыватся если нужно кликом мыши, а так будет просто в трее висеть.

В TThread при использовании критической секции при клике на форму либо ее перетаскивании вылезает ошибка "Out of system resources" (повторяю уже наверное в сотый раз ))).

Прямой старт: при более ресурсоемких обработках изображения (не простом сохранении, а например применении какихлибо фильтров и т.п.) опять же выскакивает "Out of system resources".


 
Сергей М. ©   (2009-02-19 20:01) [47]


> Не, картина будет скрыта в трее,


А, ну да, тебе ж, конечно, виднее этот самый "трей" при еще НИ ОДНОМ активном десктопе.

Ну и , соответсвенно, чего-то там туда "запуздыренное")


 
Alex22   (2009-02-20 11:41) [48]

Хм... чет не получается простым путем, тогда несколько другой вопрос )
Есть ли возможность узнать (из-под сервиса и обычного пользователя), какой десктоп является текущим, т.е. какая сессия запущена на текущий момент?
Есть исходник определяющий момент переключения сессий, но в сервисе он не срабатывает, да и как определить сессию при запуске программы тоже непонятно, т.к. исходник отлавливает только ее переключение.
Есть какие-нибудь мысли?


 
kami ©   (2009-02-20 14:04) [49]

> [48] Alex22   (20.02.09 11:41)
> какая сессия запущена на текущий момент

В сервисе определяется через HandlerEx + MSDN


> [48] Alex22   (20.02.09 11:41)
> как определить сессию при запуске программы

WTSGetActiveConsoleSessionID+WTSQuerySessionInformation (afair)


 
Alex22   (2009-02-20 15:01) [50]


> kami ©   (20.02.09 14:04) [49]

Спасибо! Буду пробовать...



Страницы: 1 2 вся ветка

Текущий архив: 2010.01.31;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.011 c
2-1260258996
VS
2009-12-08 10:56
2010.01.31
32 битные битмапы с альфой на TSpeedButton


2-1260356012
Danco
2009-12-09 13:53
2010.01.31
Функция Case ... of


15-1259262478
@!!ex
2009-11-26 22:07
2010.01.31
Что нужно чтобы купить доменное имя и назнаить ему iP?


15-1259417380
koha!
2009-11-28 17:09
2010.01.31
Доступн для скачивания новый openSUSE11.2


4-1227644104
demon
2008-11-25 23:15
2010.01.31
Как очистить listbox?