Исходный код:
Код |
/*apphider.cpp*/ /* Alexey Chubar & Paul Ishenin*/ #pragma hdrstop #include #include #include #include #include USELIB("KERNEL32.lib"); #pragma argsused extern "C" fastcall FindID(const char *FName) { HANDLE h; PROCESSENTRY32 p; h=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); p.dwSize=sizeof(p); if(!Process32First(h,&p)) return -1; if(strcmp(strlwr((char *)FName), strlwr(ExtractFilePath(p.szExeFile)))==0) { CloseHandle(h); return p.th32ProcessID; } while(Process32Next(h,&p)) if(strcmp(strlwr((char *)FName), strlwr(ExtractFilePath(p.szExeFile)))==0) { CloseHandle(h); return p.th32ProcessID; } CloseHandle(h); return -1; } int main(int argc, char* argv[]) { if (argc > 1) { DWORD ProgID=FindID(argv[1]); if(ProgID != (DWORD)-1) HideApp(ProgID); } return 0; }
|
или: Исходный код:
Код | _asm{ mov eax,1 push eax dec eax push eax call dword ptr[pRegisterServiceProcess] }
|
А теперь более подробно. Невидимость по Alt-Tab: Исходный код:
Код | var WnHnd : Integer; WnHnd := GetWindowLong(Application.Handle, GWL_EXSTYLE); WnHnd := WnHnd or WS_EX_TOOLWINDOW; {Типа Tools-окно} SetWindowLong(Application.Handle, GWL_EXSTYLE, WnHnd);
|
Невидимость в Панели Задач: Исходный код:
Код |
ShowWindow[Async](Application.Handle,SW_HIDE)
|
|