• 12 odgovora
  • 3.431 pregleda
Aplikacija pod Processes a ne pod Applications 22.08.2006. u 09:40 · pre 245 meseci #1
Pozdrav svima!

Interesuje me da li mogu , i kako , uciniti da se aplikacija koju napravim ne prikazuje pod "Applications" vec u "Processes" u Task Manager-u...???




Da se nista ne pokazuje u task bar-u, uradio sam sljedece:

void __fastcall TForm1::FormShow(TObject *Sender)
{
ShowWindow(Application->Handle,SW_HIDE);
}

(Imate li bolje rijesenje za ovo??)
Potpis
kod žorža ti je ka' u banku!!
oko? sto ce ti oko??
Re: Aplikacija pod Processes a ne pod Applications 22.08.2006. u 14:44 · pre 245 meseci #3
Citat:

void __fastcall TForm1::FormShow(TObject *Sender)
{
ShowWindow(Application->Handle,SW_HIDE);
}


Pogledaj ovde:
http://www.elitesecurity.org/t167265-0#1086892

Takodje, imaj u vidu da kod koji je predvidjen da se izvrsi JEDANPUT a stavljas
ga u OnShow ili OnActivate (cak i OnPaint), treba da ima konkretnu zastitu
da se ne izvrsi vise puta STO JE SASVIM MOGUCE !!!:

--- PSEUDO ---

Code:

TVOJ_ON_SHOW()
{
   static bool HasPassedOnceOnShow = false;
   if ( !HasPassedOnceOnShow )
   {
      HasPassedOnceOnShow = true;
      // OVDE KOD KOJI SE IZVRSAVA JEDANPUT
   }
   // OVDE KOD KOJI TREBA DA SE IZVRSI UVEK KADA DODJE U EVENT ...
}

Re: Aplikacija pod Processes a ne pod Applications 22.08.2006. u 15:33 · pre 245 meseci #4
Citat:
Aplikacija i nije ništa drugo već proces.


ma dobro, ali mene interesuje u TASK MANAGER-u u TAB-u applications da ne stoji ime moga programa vec (Ako bas mora) da bude samo u Processes
Potpis
kod žorža ti je ka' u banku!!
oko? sto ce ti oko??
Re: Aplikacija pod Processes a ne pod Applications 23.08.2006. u 14:50 · pre 245 meseci #7
> Interesuje me da li mogu , i kako , uciniti da se aplikacija koju napravim ne prikazuje pod "Applications" vec u "Processes" u Task Manager-u...???

U Application tabu se prikazuju vidljivi top level prozori, a to su oni čiji parent je Desktop i imaju postavljen WS_EX_APPWINDOW a nemaju WS_EX_TOOLWINDOW extended stil.


void __fastcall TForm1::FormShow(TObject *Sender)
{
ShowWindow(Application->Handle,SW_HIDE);
}

> (Imate li bolje rijesenje za ovo??)

Na WinNT sistemima je to najlakše rešenje, na Win9x sistemima možeš koristiti RegisterServiceProcess.
Potpis
Do not be a help vampire (http://slash7.com/pages/vampires), use the google.

How to ask questions the smart way:
http://www.catb.org/~esr/faqs/smart-questions.html
http://solair.eunet.rs/~fangor...stions/smart-questions.sr.html
Re: Aplikacija pod Processes a ne pod Applications 23.08.2006. u 16:52 · pre 245 meseci #8
Citat:

void __fastcall TForm1::FormShow(TObject *Sender)
{
ShowWindow(Application->Handle,SW_HIDE);
}

Problem kod ovog koda je sto ova izmena nije 'trajna', vec se nekim
eksternim (i nenamernim) dogadjajima SW_HIDE moze izgubiti:

bcbdev faq:
Citat:

"Hiding the form's taskbar icon with ShowWindow is not permanent.
Certain actions will cause the taskbar icon to reappear. You can
remove a program's taskbar icon and prevent it from ever appearing
again by making the hidden application window a tool window. Tool
windows never have a taskbar icon. Making the application window a
tool window has the side effect of removing the program from the list
of programs that appear when the user presses ALT-TAB."


Za alternativu, pogledajte ovde:
http://www.elitesecurity.org/t167265-0#1086892
Re: Aplikacija pod Processes a ne pod Applications 23.08.2006. u 20:55 · pre 245 meseci #9
Nije mi jasno...

Kaze:
Citat:

You can
remove a program's taskbar icon and prevent it from ever appearing
again by making the hidden application window a tool window. Tool
windows never have a taskbar icon.


ja sam sad probao: stavio da mi je Forma bsToolWindow

Ikona mi nije nestala iz taskbara....

Na sta on misli u ovom tekstu?? Kako dobiti sta ovdje pise?
Potpis
kod žorža ti je ka' u banku!!
oko? sto ce ti oko??
Re: Aplikacija pod Processes a ne pod Applications 24.08.2006. u 09:20 · pre 245 meseci #10
Evo da javim da sam rijesio (??) problem...

Uradio sam to na ovaj nacin:

Code:

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
                 Application->Initialize();
                 Application->Title = "moj_program";
                 Application->CreateForm(__classid(TForm1), &Form1);
                 Application->ShowMainForm = false;    // dodao ovo
                 //ShowWindow(Application->Handle, SW_HIDE);     <-- ne znam da li jos ovo da dodam? mislim da nema potrebe
                 Application->Run();
        }
        catch (Exception &exception)
        {
                 Application->ShowException(&exception);
        }
        catch (...)
        {
                 try
                 {
                         throw Exception("");
                 }
                 catch (Exception &exception)
                 {
                         Application->ShowException(&exception);
                 }
        }
        return 0;
}


Uglavnom, ovaj kod uzrokuje da se aplikacija ne vidi, da joj se ne vidi ikona u taskbaru i da ne bude vidljiva u Applications Tab-u vec u Processes...

Tacno sto sam ja trazio... Da li vam se svidja ovakav nacin??
Potpis
kod žorža ti je ka' u banku!!
oko? sto ce ti oko??
Re: Aplikacija pod Processes a ne pod Applications 25.08.2006. u 10:17 · pre 245 meseci #13
Kombinacija:
Code:

Application->ShowMainForm = false; 
::ShowWindow( Application->Handle, SW_HIDE ); 

i
Code:

Application->ShowMainForm = true; 
::ShowWindow( Application->Handle, SW_SHOW ); 

... je kod Borland C++ Buildera cesta. Ne znam na sta je Nibble mislio (mozda se nismo
najbolje razumeli).
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme