![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Эмуляция
memphis555 © (2002-12-03 00:41:00)Конечно везде мааса вопросов на эту тему, но реализация не подходит для моего случая. Как возможно получать весь рабочий стол вместе с панелью задач и со всем что на нём происходит.
Если делать так
BitBlt(BitMap.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, GetDC(GetDesktopWindow), 0, 0, SRCCopy);
то получается изображение без панели задач (не пойму почему).
В другом случае просто эмулируется "Printscreen". Все хорошо с изображением, но оно сохраняется в Clipboard, что не желательно!!!
Dimka Maslov (2002-12-05 09:49:00) [1]uses Clipbrd
var
B: TBimtap;
begin
B:=TBitmap.Create;
keybd_event(VK_SNAPSHOT, 0, 0, 0);
keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0);
B.Assign(Clipboard)
....
Song (2002-12-05 07:30:00) [2]Возможно где-то раньше в программе использовался SystemParametersInfo() с параметром SPI_SETWORKAREA и написан криво, может AppBar создавали.. вообщем глюк Ваш.
Cobalt (2002-12-04 23:32:00) [3]В ВинХР - тоже ОК, сохраняет весь экран вместе с панелью задач...
Севостьянов Игорь (2002-12-04 11:34:00) [4]Может у тебя проблемы с
Screen.Height?
Севостьянов Игорь (2002-12-04 11:32:00) [5]Очень странно, а меня с панелью под w2k скопировала
memphis555 (2002-12-03 16:01:00) [6]
Bitmap := TBitmap.Create;
try
Bitmap.Width := Screen.Width;
Bitmap.Height := Screen.Height;
BitBlt(Bitmap.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, GetDC(0), 0, 0, SRCCopy);}
BitMap.SaveToFile("scr.bmp");
finally
Bitmap.free;
end;
Проверил это под W9x все было окейно. Но под W2k экран без панели задач.
Song (2002-12-03 09:07:00) [7]Чего-то ерунду Вы говорите..
GetDC(GetDeskTopWindow) неправильно. Надо использовать псевдоописатель - GetDC(HWND_DeskTop) или просто GetDC(0) как написано выше.
Приведите полный пример где Вы снимаете экран.
memphis555 (2002-12-03 09:02:00) [8]Эффект такой же как и от BitBlt() c GetDC(GetDesktopWindow)
Diamond Cat (2002-12-03 01:15:00) [9]myhdc:=getdc(0) вроде должно сработать