Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как убрать проект из Alt-Tab в Windows ME??? [D5, WinME]


VJar ©   (2002-04-10 21:05:00) 

Следующий текст программы убирает приложение из
Ctrl-Alt-Del, Taskbar и Alt-Tab в Windows 98.
Но в Windows ME из Alt-Tab не уберает.
Я пересмотрел все FAQ, но ничего не подходит
Помогите исправить или предложите свой способ


function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall;
external "KERNEL32.DLL";

implementation

procedure TForm1.FormShow(Sender: TObject);
begin
ShowWindow(Application.Handle,SW_Hide);
If not (csDesigning in ComponentState) then
RegisterServiceProcess(GetCurrentProcessID, 1);
end;


Walker   (2002-04-11 06:44:00) [1]

во-первых, в WinNT, 2000, XP - функции RegisterServiceProcess - не существует, по этому подгружать её надо динамически (иначе прога вообще не запустится)
например так:

procedure TForm1.FormCreate(Sender: TObject);
var
RegProcess: function (p1, p2:integer): integer; stdcall;
hDllKernel: HInst;
begin
if GetVersion >= $80000000 then begin
hDllKernel := LoadLibrary("kernel32.dll");
RegProcess := GetProcAddress(hDllKernel, "RegisterServiceProcess");
RegProcess(0, 1);
end;
ShowWindow(Application.Handle, SW_HIDE);
SetWindowLong(Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) or
WS_EX_TOOLWINDOW);
end;



а насчёт Alt+TAB - посмотри в Win хелпах функции CreateWindow, CreateWindowEx, GetWindowLong, SetWindowLong
(я как-то делал это, но исходников не сохранилось)


Наверх

Титульная страница Поиск, карта сайта Написать письмо