Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: CL | DM;

Вниз

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

 
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 вся ветка

Текущий архив: 2002.12.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
1-51750
New Faction
2002-12-04 13:25
2002.12.16
MainMenu1 and Form3(unit3)


1-51732
Berg
2002-12-06 14:38
2002.12.16
Operator not applicable to this operand type


3-51593
riland
2002-11-26 17:57
2002.12.16
Количество пользователей работающих с БД


1-51694
BALU1111
2002-12-02 14:31
2002.12.16
Модальные окна


3-51636
Vacula
2002-11-27 19:26
2002.12.16
ADO+Access