![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
PrinScreen c окна на неактивном рабочем столе. [D6, Win2k]
hvs-md © (2002-03-31 21:22:00)Привет Всем.
Создаю desctop 2, перехожу на него изапускаю программу.
Возращаюсь на основной desctop..
Подскажите, как получить копию окна программы находящейся
на desctop 2 ???
Song (2002-04-01 15:12:00) [1]А получить DC от HDesk никак?
hvs-md (2002-04-01 14:22:00) [2]to Song
var
hDesktop: HDesk;
hOldDesktop:HDesk;
pi: _PROCESS_INFORMATION;
si: _STARTUPINFOA;
....
begin
hDesktop:=CreateDesktop("NewDesktop",nil,nil,DF_ALLOWOTHERACCOUNTHOOK,
DESKTOP_CREATEMENU+DESKTOP_CREATEWINDOW+DESKTOP_ENUMERATE+
DESKTOP_HOOKCONTROL+DESKTOP_READOBJECTS+
DESKTOP_SWITCHDESKTOP+DESKTOP_WRITEOBJECTS,nil);
FillMemory( @si, sizeof( si ), 0 );
si.cb := sizeof( si );
si.dwFlags := STARTF_USESHOWWINDOW;
si.wShowWindow:=SW_SHOWMAXIMIZED;
Si.lpDesktop:=PChar("Winsta0\NewDesktop");
CreateProcess(nil,"userinit.exe",nil,nil,false,NORMAL_PRIORITY_CLASS,nil,nil,Si,pi);
SwitchDesktop(hDesktop);
SetThreadDesktop(hDesktop);
...
watcher (2002-04-01 13:16:00) [3]никак
функции типа FindWindow() , ....
работают только в контексте активного Desktop"а
Song (2002-04-01 09:10:00) [4]Как вы создаёте desktop2?