Панель задач
До этого читала форум и видела тему в которой описывалась функция позволяющая скрыть из списка задач загруженные программы, т.е. при нажатии Ctr+Alt+Del высвечивается пустое окно панели задач. Кто знает подскажите.
пробовал - не получается....
Вот пример программы, к-я не выгружается диспетчером задач...
http://man2002ua.hotbox.ru/InjHook.rar
пробовал - не получается....
Вот пример программы, к-я не выгружается диспетчером задач...
http://man2002ua.hotbox.ru/InjHook.rar
1) Твой архив не распаковывается..
2) Какой из способов ?? (что все не пашут)
1) Твой архив не распаковывается..
2) Какой из способов ?? (что все не пашут)
1)странно, только что скачал - нормально все. Попробуй еще раз из вложения.
2) тот, что для 2К (Application.title := "")
1)странно, только что скачал - нормально все. Попробуй еще раз из вложения.
2) тот, что для 2К (Application.title := "")
И чего , во первых програмка не исщезает из панели задая( у меня ХП), а вовторых, ну и чего а где исходник в чем фича то..
Если надо скрыть из Win NT'ей то полазей на void.ru в архивах статей там было две статьи на эту тему очень граматные... (а вообще и на этом форуми давал линки на них но это было давно)
-- за линк спасибо -- хоть у меня это давно уже сделано (перехват пароля в WINLOGON именно на этих мех-мах реализован :D )
До этого читала форум и видела тему в которой описывалась функция позволяющая скрыть из списка задач загруженные программы, т.е. при нажатии Ctr+Alt+Del высвечивается пустое окно панели задач. Кто знает подскажите.
Если тебе нужно спрятать программу из списка запущенных программ то у меня в Вин98 отлично работает такой код (в NT наверное работать не будет хотя можешь и проверить)
**********************************************
Файл Project1.cpp
(вызвать его можешь с помощью Project Manager)
**********************************************
//---------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", Form1);
USERES("Project1.res");
typedef DWORD (WINAPI *PREGISTERSERVICEPROCESS)(DWORD,DWORD);
bool RSP(double p1, double p2)
{
PREGISTERSERVICEPROCESS rsp;
HINSTANCE hK32;
bool Rc=false;
hK32=GetModuleHandle("kernel32.dll");
if(hK32!=NULL) {
rsp=(PREGISTERSERVICEPROCESS) GetProcAddress(hK32, "RegisterServiceProcess");
if(rsp!=NULL) {
Rc=true;
rsp(p1,p2);
}
FreeLibrary(hK32);
}
return Rc;
}
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
if (!RSP(NULL,1)) return 0;
try
{
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}
//---------------------------------------------------------------------------
**********************************************
конец файла
**********************************************
Как видишь здесь добавлена функция RSP
и ее вызов в момент запуска программы...
Если же тебе нужно что бы программу не могли завершить то попробуй это описание
(сам не применял)
From : Dmitry V. Liseev
Делать неубиваемый процесс очень просто.
Перед тем, как убить винда сначала попытается завершить
его по-хорошему. Тут он и должен запустить свою копию
и передать ей все нужные данные перед благополучным
завершением.
LRESULT WINAPI WndProc(HWND hWnd, UINT msg,
WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
//HANDLE_MSG(hWnd, WM_CREATE, WndProc_OnCreate);
HANDLE_MSG(hWnd, WM_DESTROY, WndProc_OnDestroy);
//HANDLE_MSG(hWnd, WM_SIZE, WndProc_OnSize);
//HANDLE_MSG(hWnd, WM_COMMAND, WndProc_OnCommand);
default:
return DefWindowProc(hWnd, msg, wParam, lParam);
}
}
void WndProc_OnDestroy(HWND hWnd)
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
// Создадим другой процесс, а этот благополучно завершим.
memset(&si, 0, sizeof(STARTUPINFO));
si.cb = sizeof(STARTUPINFO);
CreateProcess(NULL, "program.exe", NULL, NULL,
FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
PostQuitMessage(0);
//return FORWARD_WM_DESTROY(hWnd, DefWindowProc);
}
она не должна исчезать - она не должа сниматься кнопкой "Завершить процесс", а исчезание - это уже работа с другой ф-ей.
-- за линк спасибо -- хоть у меня это давно уже сделано (перехват пароля в WINLOGON именно на этих мех-мах реализован :D )
Она легко выгружается
Она легко выгружается
задолбали :D
она не завершается, если ее уничтожать ф-ей TerminateProcess (как это делается в TaskManager в списке ПРОЦЕССОВ, а не задач)