Screenshot

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

EXEcutiONeR

Гость
#1
пишу программу на Делфи 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);
....
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
Не знаю начёт видимости/невидимости прозрачных окон, но вот немного другойй код
<< код >>
 
E

EXEcutiONeR

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

Barmutik

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

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

EXEcutiONeR

Гость
#5
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

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

Параметр CAPTUREBLT...
 
Статус
Закрыто для дальнейших ответов.