Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   VBA | Несворачиваемое и незакрываемое окно (http://forum.oszone.net/showthread.php?t=69191)

SSseregaSS 30-07-2006 22:28 466451

VBA | Несворачиваемое и незакрываемое окно
 
Скажите пожалуйста как в Visual Basic 6.0
програмно сделать так, чтобы кнопки "Windows" (или
кнопки "Окно") не работала!
Просто я хочу сделать прогу, которая была б поверх
всех окон (в т.ч. поверх рабочего стола) и её нельзя
было бы убрать (закрыть, или свернуть!)

DillerInc 31-07-2006 16:09 466755

SSseregaSS
Если я правильно понял,то делается это тривиально.
Главное окно программы просто создаётся с определённым стилем(точнее сказать -- без определённых стилей):
Код:

push        0          ;lpParam
push        hInst        ;hInstance
push        NULL        ;menu
push        NULL        ;parent hwnd
push        280        ;высота окна
push        430        ;ширина окна
push    300        ;координата y левого верхнего угла окна
push        350        ;координата x левого верхнего угла
push        WS_CAPTION                  ;стиль окна
push        offset szTitleName          ;Строка заголовка окна
push        offset szClassName        ;имя класса окна
push        WS_EX_TOPMOST        ;Расширенный стиль окна
call          CreateWindowExA

Это код на ассемблере,но суть будет везде одна и та же.С помощью функции CreateWindowExA создаётся главное окно,среди параметров которого присутствуют и стили этого окна.
Расширенный стиль WS_EX_TOPMOST заставляет окно быть поверх всего остального.
Стиль WS_CAPTION только создаёт заголовок окна.
Убить такое окно можно будет,только убив процесс этого окна с помощью Диспетчера задач.
Если хочешь нормальный вид окна(с кнопками),то в данном случае необходимо добавить стили WS_SYSMENU, WS_MINIMIZEBOX и т.д.

hasherfrog 01-08-2006 09:53 466969

DillerInc
А "свернуть все окна" подействует?
А "Закрыть" из меню на таскбаре?
Просто интересно...

DillerInc 01-08-2006 17:01 467139

Цитата:

А "свернуть все окна" подействует?
Сейчас пробовал -- окно так и остаётся висеть на экране в то время как все остальные окна сворачиваются,просто становится неактивным.
Цитата:

А "Закрыть" из меню на таскбаре?
...в том-то и дело,что та таскбаре не появляется вкладки этого окна,поэтому и закрывать получается нечего.
Однако на комбинацию "Alt+F4" окно реагирует и закрывается.

hasherfrog 01-08-2006 19:22 467183

Ясно, спасиб. А то лень проверять :-)


Время: 22:00.

Время: 22:00.
© OSzone.net 2001-