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

Вниз

Скрыть элементы рабочего стола   Найти похожие ветки 

 
Hokum   (2002-02-18 16:39) [0]

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


 
Юрий Зотов ©   (2002-02-18 16:57) [1]

Файл system.ini
Секция boot
Параметр shell=ваша_программа

И не будет никаких рабочих столов, таскбара, ярлыков и прочего. Соответственно, пользовательской оболочкой системы становится Ваша программа и теперь за все отвечает она.


 
Polevi ©   (2002-02-18 17:58) [2]

можно создать TOPMOST окно во весь экран


 
Nikolay ©   (2002-02-18 18:39) [3]

2 это только после перезугрузки.


 
Nikolay ©   (2002-02-18 18:39) [4]

2Юрий Зотов это только после перезугрузки.


 
drpass ©   (2002-02-19 11:13) [5]

Можно из своей программы принудительно прибить explorer


 
VuDZ ©   (2002-02-19 12:22) [6]

всё элементарно, Ватсон:
1. находим хэнд окна - это класс SysListView32, заголовок - "FolderView".
2. Делаем ShowWindow(hwnd, SW_HIDE);
3. UpdateWindow();
и всё... иконок нет...

если они нужны - ShowWindow(hwnd, SW_SHOW);


 
Sasha9   (2002-02-23 19:24) [7]

а легче всего enumwindows(см. MS SDK)


 
MCi ©   (2002-02-24 15:13) [8]

Скрыть иконки с рабочего стола можно также через реестр:
в разделе
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System" создаешь параметр типа DWORD "NoDispCPL" со значением 1. После этого просто перезагружаешь Explorer и иконок как небывало(даже правая кнопка мыши не работает).


 
VuDZ ©   (2002-02-24 15:26) [9]

2Sasha9 чем легче?
и что ты с ним сделаешьс этими окнами?

PS я конечно понимаю, что паскалю пофигу на регистр ф-ий, но если уж ссылаешся на SDK пиши как есть, EnumWindows(), etc.


 
Sasha9 ©   (2002-02-24 22:54) [10]

2VuDZ
возвращаясь к первоначальному вопросу:EnumWindows() даёт хендлы всех окон, а с их помощью можно спрятять все окна и будет чистый экран


 
VuDZ ©   (2002-02-25 02:07) [11]

а, сорри, я не прав, я предложил метод что-бы спрятать все иконки с раб. стола... бывает-с...


 
sniknik ©   (2002-02-26 00:37) [12]

Из программы

Прячет таскбар.

var
HTaskBar: THandle;
begin
HTaskBar:= FindWindow("SHELL_TRAYWND", nil);
ShowWindow(HTaskBar, SW_HIDE);
end;

прячет рабочий стол

function GetDesktopListViewHandle: THandle;
var S: String;
begin
Result := FindWindow("ProgMan", nil);
Result := GetWindow(Result, GW_CHILD);
Result := GetWindow(Result, GW_CHILD);
SetLength(S, 40);
GetClassName(Result, PChar(S), 39);
if PChar(S) <> "SysListView32" then Result := 0;
end;

var HMainForm: THandle;
begin
HMainForm:= GetDesktopListViewHandle;
Button4.Caption:= IntToStr(HMainForm);
ShowWindow(HMainForm, SW_HIDE);
end;

замена
ShowWindow(HMainForm, SW_HIDE);
на
SendMessage(HMainForm, WM_CLOSE, 0, 0);
закрывает. В этом случае востанавливается только перезагрузкой.


 
SeF ©   (2002-02-27 02:43) [13]

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowWindow(FindWindow("Progman", "Program Manager"), SW_HIDE);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ShowWindow(FindWindow("Progman", "Program Manager"), SW_SHOW);
end;


минусы скрывает только значки на рабочем столе. (9x/me/2k работает, XP не пробовал)



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

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

Наверх




Память: 0.49 MB
Время: 0.015 c
1-73206
PShadow
2002-05-14 15:51
2002.05.23
Не могу запустить Excel


6-73326
atl_max
2002-03-11 19:11
2002.05.23
TNMSMTP - как приконнектится к серверу если ....


1-73268
BAHO
2002-05-10 02:22
2002.05.23
Кнопка


1-73170
Гена
2002-05-14 04:43
2002.05.23
---|Ветка была без названия|---


1-73298
vrRaven
2002-05-09 06:50
2002.05.23
Динамический массив с TButton