Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.08.03;
Скачать: [xml.tar.bz2];

Вниз

Виртуальные рабочие столы на 2 мониторах   Найти похожие ветки 

 
Ajax   (2008-06-16 13:08) [0]

Подскажите пожалуйста, как такое можно осуществить?

Есть: компьютер с 2 подключенными мониторами.
Хочется: 2 "почти независимых" рабочих стола.

То есть хочется, чтобы на 2 мониторах были 2 разных рабочих стола. Чтобы на каждом была своя панель задач и можно было запускать программы. И при этом переключать фокус ввода между этими рабочими столами аналогично тому, как это сделано в различных программах типа virtuawin.

Спасибо.


 
X9 ©   (2008-06-16 13:20) [1]

В настройках видеодрайвера выбрать "расширение рабочего стола" на второй монитор.


 
Ajax   (2008-06-16 13:29) [2]

>В настройках видеодрайвера выбрать "расширение рабочего стола" на второй монитор.

Это я умею :-)

Меня интересует появление второго таскбара и т.д.


 
DVM ©   (2008-06-16 13:41) [3]


> Меня интересует появление второго таскбара и т.д.

Не, это не получится. Чтобы запустить второй экземпляр эксплорера в режиме рабочего стола, его надо запускать именно на другом десктопе, который в свою очередь должен отображаться на отдельном мониторе.


 
tesseract ©   (2008-06-16 13:46) [4]

Поставить linux. Там такая фишка есть.


 
Ajax   (2008-06-16 14:04) [5]

Линукс не подходит.

А как работают программы, которые под виндами создают виртуальные рабочие столы? Мне нужно что-то наподобие.


 
VirEx ©   (2008-06-16 14:09) [6]

ктото уже приводил такой код:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   procedure Button1Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

function MyThread(Parameter: Pointer): Integer; stdcall;
var
hdeskNew, hdeskOld: THandle;
StInfo: TStartupInfo;
PrInfo: TProcessInformation;
begin
hdeskNew:= CreateDesktop("MyDesktop", nil, nil, DF_ALLOWOTHERACCOUNTHOOK, MAXIMUM_ALLOWED, nil);

if hdeskNew <> 0 then begin
  hdeskOld:= GetThreadDesktop(GetCurrentThreadId());
  SetThreadDesktop(hdeskNew);
  SwitchDesktop(hdeskNew);
  MessageBox(0, "Hello from ""MyDesktop""!", "", MB_OK);

  ZeroMemory(@StInfo, SizeOf(StInfo));
  StInfo.cb:= SizeOf(StInfo);
  StInfo.lpDesktop:= PChar("MyDesktop");
  StInfo.wShowWindow:= SW_SHOW;

  if (CreateProcess(nil, "notepad.exe", nil, nil, False, 0, nil, nil, StInfo, PrInfo)) then begin
    WaitForSingleObject(PrInfo.hProcess, INFINITE);
    CloseHandle(PrInfo.hProcess);
    CloseHandle(PrInfo.hThread);
  end;
  SwitchDesktop(hdeskOld);
  SetThreadDesktop(hdeskOld);
  CloseDesktop(hdeskNew);
end;
result:= 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
var ThreadId: DWORD;
begin
CreateThread(nil, 0, @MyThread, nil, 0, ThreadId);
end;

end.


эксплорер запустишь на нём и делов


 
Ajax   (2008-06-16 18:10) [7]

Спасибо всем откликнувшимся. Кажется я нашел готовое решение - Multimon Taskbar.


 
X9 ©   (2008-06-16 20:17) [8]

Ещё, насколько я помню, в драйверах nVIDIA был менеджер виртуальных рабочих столов.


 
tesseract ©   (2008-06-16 20:18) [9]


> Ещё, насколько я помню, в драйверах nVIDIA был менеджер
> виртуальных рабочих столов.


Лучше бы он "был". Яркая недоработка.



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

Форум: "Прочее";
Текущий архив: 2008.08.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
15-1213651482
k2_
2008-06-17 01:24
2008.08.03
Симпатишный дизайн, полюбуйтесь.


15-1213613867
oxffff
2008-06-16 14:57
2008.08.03
Мы из космоса.


15-1213951444
brrr
2008-06-20 12:44
2008.08.03
Комп перегружается при нагрузке


10-1139646655
_Seldon_
2006-02-11 11:30
2008.08.03
Delphi+Visio


15-1213783704
ciborg
2008-06-18 14:08
2008.08.03
Как работают мьютексы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский