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

Вниз

Приложение - эгоист   Найти похожие ветки 

 
CASU   (2002-10-30 17:12) [0]

Ребята! Как сделать так, чтобы при запущенном моем приложении пользователь не мог перейти к любому другому приложению не закрыв мое?


 
Marcus   (2002-10-31 14:56) [1]

Заставить пользователя работать в DOS! :)))
Ну а если кроме шуток, то можно попробовать такой зверский способ: при запуске своей проги найти все окна запущенных приложений через EnumWindows и заблокировать их EnableWindow(hwnd, false), не забыв естественно потом разблокировать, при закрытии твоего приложения.


 
Толик   (2002-10-31 15:22) [2]

А какой смысл делать такое приложение?
Умными людьми была потрачена масса времени на то, чтобы сделать многозадачные операционные системы. Преимущества такого подхода очевидны. Так какой смысл делать приложения противоречащие концепции операционной системы?
Что, назад в будущее??? :)


 
msts   (2002-10-31 15:31) [3]

какая винда?
если под нт4/2000/xp
то созданием рабочего стола


 
Обсолютный Ноль   (2002-11-03 21:44) [4]

with form1 do
begin
formstyle:=fsstayontop;
borderstyle:=bsnone;
top:=0;
left:=0;
width:=1100;
height:=1100;
systemparametrsinfo(.....,nil);
//P.S. Что вместо ..... посмотри в хелпе.
end;







 
Pat   (2002-11-03 23:33) [5]

Обсолютный Ноль (03.11.02 21:44)
Win+D и можно переходить на любое приложение
Надо немного подправить код - поместить окно поверх всех в системе SetWindowPos, "блокировать" Win+D - отлавливать WM_POSCHANGING..кажись оно так звучит. Если надо будет - напишу подробнее


 
Pat   (2002-11-03 23:46) [6]

Короче, примерно так:

procedure WMWinPosChanging(var mes: TWMWINDOWPOSCHANGING); message WM_WINDOWPOSCHANGING;
. . . . . . . .
procedure TForm1.WMWinPosChanging(var mes: TWMWINDOWPOSCHANGING);
begin
mes.WindowPos^.flags := mes.WindowPos^.flags and not SWP_HIDEWINDOW;
inherited;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
with form1 do
begin
SetBounds(0,0,screen.width,screen.height);
FormStyle:=fsStayOnTop;
BorderStyle:=bsNone;
end;
SetWindowPos(handle,HWND_TOPMOST,left,top,width,height,SWP_SHOWWINDOW)
end;


 
MFV   (2002-11-03 23:47) [7]

// Это я юзал в только сегодня редактированной проге.
// На Win+D не пробовал пока

procedure TForm1.KillCAD;
var
Dummy : integer;
begin
Dummy := 0;
{Отключаем ALT-TAB}
SystemParametersInfo( SPI_SETFASTTASKSWITCH, 1, @Dummy, 0);
{Отключаем CTRL-ALT-DEL}
SystemParametersInfo( SPI_SCREENSAVERRUNNING, 1, @Dummy, 0);
end;

procedure TForm1.CoverScreen;
begin
BorderStyle:=bsNone;
Left:=0;
Top:=0;
Width:=GetSystemMetrics(SM_CXSCREEN);
Height:=GetSystemMetrics(SM_CYSCREEN);
FormStyle:=fsStayOnTop;
end;



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

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

Наверх





Память: 0.46 MB
Время: 0.007 c
3-51562
Serginio
2002-11-26 12:11
2002.12.16
Структура индекса CDX . Очень нужно


3-51600
Ruf
2002-11-27 18:46
2002.12.16
Летит таблица


14-51926
Anatoly Podgoretsky
2002-11-23 14:34
2002.12.16
Именинники 23 ноября


1-51719
Кирилл
2002-12-06 10:56
2002.12.16
мне нужно получить длину текста из Edit в пикселях...


1-51691
aterm
2002-12-04 13:11
2002.12.16
Какой код у клавиши delete





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