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

Вниз

Как спрятать програму от Alt+Tab   Найти похожие ветки 

 
anjey   (2005-04-20 15:08) [0]

Как спрятать програму от Alt+Tab?
при этом форма проги должна остатся видимой


 
alpet ©   (2005-04-20 15:23) [1]


procedure TForm1.FormShow(Sender: TObject);
var h: THandle;
begin
ShowWindow (application.Handle, sw_hide);
h := FindWindow (nil, "Program Manager");
windows.setparent (handle, h);
end;


 
anjey   (2005-04-20 15:42) [2]

все конечно работает
но теперь вопрос как установить для формы параметры (поверх всех окон и т.д.)?


 
alpet ©   (2005-04-20 16:08) [3]

WINAPI:
SetWindowPos (form1.handle, HWND_TOPMOST, 0, 0, 0, 0,
SWP_NOSIZE or SWP_NOMOVE);
VCL:

procedure TForm.FormCreate (Sender: TObject);
begin
FormStyle := fsStayOnTop;
end;


 
anjey   (2005-04-20 16:33) [4]

мда ...
вот такая бойда у меня
есть основная форма (при запуске невидима) на ней куча всяких настроек (вызывается из трея) в частности как должна выглядеть вторая форма (поверх всех окон или нет, прозрачная - или нет)
вторая форма видима - на ней отображается текущее время и пр.
из панели задач обе формы я убрал, но  все они видны через Alt+Tab при отображении  на экране
тобиш

.....
MainForm.FormCreate(Sender: TObject);
begin
 // непоказывать окно приложения
 Application.ShowMainForm := False;
 // скрыть окна из панели задач
 SetWindowLong (Application.Handle,GWL_EXSTYLE,NOT WS_EX_APPWINDOW);
 ....
end;

во втром модуле кроме обработчика события на таймере ничего нет
при использовании
h := FindWindow (nil, "Program Manager");
windows.setparent (handle, h);

все попытки настроить вид второй формы бесполезны


 
alpet ©   (2005-04-20 17:26) [5]

SetWindowLong убери - ты не прочитал справку, а функцию уже добавил. Более того, какой бы ты стиль не задал окну из списка "Окон приложений" ты его не уберешь. Это определяется прежде всего отношениями окон. Если у видимого окна нет родителя, оно имеет все шансы в этот список попасть.


 
alpet ©   (2005-04-20 17:28) [6]

Чтобы убрать и вторую форму к строкам

h := FindWindow (nil, "Program Manager");
windows.setparent (handle, h);

добавь

windows.setparent (form2.handle, h);


 
anjey   (2005-04-21 10:01) [7]

я немного поиграл с параметрами SetWindowLong (без windows.setparent)
вроде получается тока есть пару но
- вид основного окна как у окна инструментов
- при включении поверх всех окон все настройки сбрасываются и форма видна по Alt+Tab

 // непоказывать окно приложения
 Application.ShowMainForm := False;
 SetWindowLong (Application.Handle,GWL_EXSTYLE,NOT (WS_EX_APPWINDOW ));
 SetWindowLong (Основная форма.Handle,GWL_EXSTYLE, GetWindowLong (Основная форма,GWL_EXSTYLE) OR WS_EX_TOOLWINDOW);
 SetWindowLong (Вторая форма.Handle,GWL_EXSTYLE, GetWindowLong (Вторая форма.Handle,GWL_EXSTYLE) OR WS_EX_TOOLWINDOW);



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

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

Наверх




Память: 0.46 MB
Время: 0.03 c
14-1116707198
Gamer
2005-05-22 00:26
2005.06.14
CD-ROM => CD-Player


11-1099777588
Sewix
2004-11-07 00:46
2005.06.14
Какое событие изменение ширины столбцов в TKOLListView


9-1110462270
Zak3D[@Tm]
2005-03-10 16:44
2005.06.14
VertexArray и с чем его едят?


6-1111871948
Nes
2005-03-27 00:19
2005.06.14
Undeclared identifier: TIdSocketHandle -- "Ха"?


1-1117126665
Serg1981
2005-05-26 20:57
2005.06.14
ListView со строками разного цвета





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