Текущий архив: 2006.02.26;
Скачать: CL | DM;
Вниз
Не получается удалить иконку приложения из Atl+Tab Найти похожие ветки
← →
leonidus © (2005-12-08 10:06) [0]Уже все факи перечитал, но так и не получается в Windows XP удалить иконку моей программы из Atl+Tab.
Если делаю так:
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;
То кнопка программы просто пропадает из TaskBar`а, но по Atl+Tab она прекрасно видна.
Если делать так:
function RegisterServiceProcess(ProcessID, Typ: Integer): Integer;
external "KERNEL32.DLL";
procedure TForm1.Button1Click(Sender: TObject);
begin
RegisterServiceProcess(GetCurrentProcessId, 1);
ShowWindow(Application.Handle, SW_HIDE);
SetWindowLong(Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) or
WS_EX_TOOLWINDOW);
end;
то появляется ошибка "точка входа в процедуру RegisterServiceProcess не найдена в библиотеке KERNEL32.DLL"
Что делать?
← →
Чапаев © (2005-12-08 10:56) [1]
> SetWindowLong(Application.Handle, GWL_EXSTYLE,
> GetWindowLong(Application.Handle, GWL_EXSTYLE) or
> WS_EX_TOOLWINDOW);
Гм... Стиль WS_EX_TOOLWINDOW тебе надо не устанавливать, а сбрасывать...
Ещё поиграйся с Application.ShowMainForm.
> то появляется ошибка "точка входа в процедуру RegisterServiceProcess
> не найдена в библиотеке KERNEL32.DLL"
>
> Что делать?
Читать ФАКи внимательно. RegisterServiceProcess есть только в виндах ветки 9х.
Страницы: 1 вся ветка
Текущий архив: 2006.02.26;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.025 c