Форум: "Система";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];
ВнизСкрыть элементы рабочего стола Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c