Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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.063 c
1-73132
Konsul
2002-05-13 15:38
2002.05.23
Вопрос о свойствах формы


1-73138
dlp
2002-05-12 16:43
2002.05.23
заявка процедуры


1-73150
UDS
2002-04-28 21:28
2002.05.23
Замкнутый круг. Как закончить цикл?


7-73419
Aleksey_K
2002-02-25 14:45
2002.05.23
UPS


1-73220
Mnch
2002-05-14 16:48
2002.05.23
Прочитать уже открытый файл





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский