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

Вниз

Эмуляция   Найти похожие ветки 

 
memphis555 ©   (2002-12-03 00:41) [0]

Конечно везде мааса вопросов на эту тему, но реализация не подходит для моего случая. Как возможно получать весь рабочий стол вместе с панелью задач и со всем что на нём происходит.
Если делать так
BitBlt(BitMap.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, GetDC(GetDesktopWindow), 0, 0, SRCCopy);
то получается изображение без панели задач (не пойму почему).
В другом случае просто эмулируется "Printscreen". Все хорошо с изображением, но оно сохраняется в Clipboard, что не желательно!!!


 
Diamond Cat ©   (2002-12-03 01:15) [1]

myhdc:=getdc(0) вроде должно сработать


 
memphis555 ©   (2002-12-03 09:02) [2]

Эффект такой же как и от BitBlt() c GetDC(GetDesktopWindow)


 
Song ©   (2002-12-03 09:07) [3]

Чего-то ерунду Вы говорите..

GetDC(GetDeskTopWindow) неправильно. Надо использовать псевдоописатель - GetDC(HWND_DeskTop) или просто GetDC(0) как написано выше.
Приведите полный пример где Вы снимаете экран.


 
memphis555 ©   (2002-12-03 16:01) [4]

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 экран без панели задач.


 
Севостьянов Игорь ©   (2002-12-04 11:32) [5]

Очень странно, а меня с панелью под w2k скопировала


 
Севостьянов Игорь ©   (2002-12-04 11:34) [6]

Может у тебя проблемы с Screen.Height ?


 
Cobalt ©   (2002-12-04 23:32) [7]

В ВинХР - тоже ОК, сохраняет весь экран вместе с панелью задач...


 
Song ©   (2002-12-05 07:30) [8]

Возможно где-то раньше в программе использовался SystemParametersInfo() с параметром SPI_SETWORKAREA и написан криво, может AppBar создавали.. вообщем глюк Ваш.


 
Dimka Maslov ©   (2002-12-05 09:49) [9]

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)
....



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
7-51987
sniknik
2002-10-15 12:34
2002.12.16
Нужна помощь по работе с Thread


4-51999
CASU
2002-10-30 17:12
2002.12.16
Приложение - эгоист


6-51850
Igor_thief
2002-10-20 18:53
2002.12.16
Почта


3-51615
Shaman
2002-11-26 17:06
2002.12.16
Автоинкрементные поля - как с ними работать ч-з TSimpleDataSet


1-51782
lety
2002-12-04 22:12
2002.12.16
Курсор в мемо