Screenshot

  • Автор темы EXEcutiONeR
  • Дата начала
Статус
Закрыто для дальнейших ответов.
E

EXEcutiONeR

пишу программу на Делфи 7 , задача программы делать скриншот рабочего стола(игры и т.п.)
возможно вопрос ламерский и все решение проблемы сводится к одной строчке но всеже:
при снимке рабочего стола на котором есть форма с прозрачностью - в созданом графическом файле этой формы попросту нет! ее не Видно.. подскажите пожалуйста как это исправить.
вот кусок кода:
var
bm: TBitMap;
...
//Creating SnapShot!
bm := TBitMap.Create;
bm.Width := Screen.Width;
bm.Height := Screen.Height;
bm.Palette:=32;
BitBlt(bm.Canvas.Handle, 0, 0, bm.Width , bm.Height , GetDC(0), 0, 0, SRCCOPY);
....
 
M

morpheus

Не знаю начёт видимости/невидимости прозрачных окон, но вот немного другойй код
 
E

EXEcutiONeR

о спасибо! думаю тут наверника будет код позволяющий снимок с прозрачностью
 
B

Barmutik

Стоит прост одобавить один параметр в BitBlt... под рукой нет хелпа но стоит его почитать в MSDN и станет ясно какой надо добавить...

Была похожая проблема ...
 
E

EXEcutiONeR

MSDN нету( если сможешь - найди пожалуйста че там точно писать. Anyway за подсказку спасибо!

кстати чтоб не создавать новой темы решил тут спросить :
в чем тут трабл? label12 никак не хочет получать заголовок окна..просто пусто....
хотя если для проверки написать ShowMessage(act_win); все ок - в сообщении заголовок активного окна.
--------------------------------------------------------------------------------------------------------------
var
Act_win: array [0..64] of Char;
...
if checkbox8.Checked = true then begin
SendMessage(GetForegroundWindow, WM_GETTEXT, SizeOf(Act_win), LParam(@Act_win));
label12.Caption:= Act_win ;
end else begin
label12.Caption:= edit4.text ;
end;
--------------------------------------------------------------------------------------------------------------
 
B

Barmutik

Я просто не на родине ... поэтому стоисло просто попользовать гугл..

Параметр CAPTUREBLT...
 
E

EXEcutiONeR

спасибо! в гугле все сразу нашел!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!