Pokaż wyniki 1 do 10 z 10

Temat: dzialanie programu w tle i autostart

  1. #1
    Zarejestrowany
    Aug 2009
    Postów
    236

    Domyślnie dzialanie programu w tle i autostart

    co zrobic by program napisany w c++ dzialal w tle i automatycznie sie uruchamial wraz ze startem systemu
    chodzi mi zarowno o windowsa jak i o linuxa
    chce to oczywiscie osiagnac z poziomu programu

  2. #2
    Zarejestrowany
    Dec 2009
    Postów
    164

    Domyślnie

    jezeli chodzi o windows i uruchamianie programu przy starcie systemu to musisz dodac wpis do rejestru, dokladniej na ta sciezke:

    Kod:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    co do dzialania programu w tle, ma on dzialac calkowicie niezauwazalnie przez usera ? chodzi mi o proces, dzialanie, okno ?

  3. #3
    Zarejestrowany
    Aug 2009
    Postów
    408

    Domyślnie

    niestety windows jest systemem nastawionym na okna, i wiekszasc operacji jest na oknach.


    mozesz ustawic subsystem na GUI i nie tworzyc okna.

  4. #4
    Zarejestrowany
    Dec 2009
    Postów
    164

    Domyślnie

    ja nie cierpie okien ani w windows ani w linux, dla mnie moglyby byc systemy bez okien. Poza tym, jesli chcesz ukryc okno to o ile pamietam uzyj funkcji takich jak:

    FindWindow(), ShowWindow() z flaga SW_HIDE. To z tego co pamietam, ale najlepiej sprawdz to na msdn.

  5. #5
    Zarejestrowany
    Aug 2009
    Postów
    236

    Domyślnie

    ja nie programuje w winapi
    jak pisze jakis program to tylko konsola
    winapi nie chcialo mi sie uczyc
    wole sockety ale mniejsza z tym
    nie ma takiej opcji zebym mogl ukrywac okna a chcialem zeby program nie byl zauwazalny dla usera
    a co do rejestru to tak zgadza sie program by sie uruchamial
    ale jak dodac to z poziomu aplikacji?

  6. #6
    Zarejestrowany
    Dec 2009
    Postów
    164

    Domyślnie

    hehe, jak to jak, dodajesz wartosc do tego klucza funkcja RegSetValueEx. Oczywiscie przed tym wykonujac pewne operacje jak pobranie uchwytu rejestru ( gałąź HKEY_CURRENT_USER ).

    a: Do you want a code ?
    b: Of course.
    a: Here u r !

    Kod:
    #include <stdio.h>
    #include <windows.h>
    
    void addRegValue( void ) {
        //
        // dodawanie valuesa do sabkeja :D
        //
        
        HKEY reg;
        char regKeyPath[] = "Software\Microsoft\Windows\CurrentVersion\Run";
        LONG ret = 0;
        
        ret = RegOpenKeyEx( HKEY_CURRENT_USER, regKeyPath, NULL, KEY_ALL_ACCESS, &reg );
        if( reg != ERROR_SUCCESS ) puts( "pobieranie uchwytu rejestru [!]\r\n" );
        
         // 
        // w tym miejscu odwolujesz sie do RegSetValueEx
        // 
        
        ret = RegSetValueEx( // argumenty );
        if( ret != ERROR_SUCCESS ) puts( "dodawanie wartosci do podklucza[!]\r\n" );
    }   
    
    int main( void ) {
        addRegValue();
    }
    Ostatnio edytowane przez g3t_d0wn : 01-11-2010 - 16:37

  7. #7
    Zarejestrowany
    Aug 2009
    Postów
    236

    Domyślnie

    dzieki
    mimo ze nie wszystko rozumiem nakierowales mnie na to co musze znaleźć
    a i jeszcze to drugie
    jak zrobic by program nie byl widoczny dla uzytkownika

  8. #8
    Zarejestrowany
    Dec 2009
    Postów
    164

    Domyślnie

    pozapominalem troche funkcji ale napisalem w szybkim tempie ;p
    Kod:
    #include <stdio.h>
    #include <windows.h>
    
    void findAndHide( void ) {
        //
        // wyszukujemy i pobieramy uchwyt okna
        //
        
        HWND window;
        window = FindWindow( "notepad", NULL ); // klasa okna notatnika: 'notepad'
        // jezeli nie znasz klasy okna to w drugim argumencie wpisujesz jego nazwe.
        
        if( window == NULL ) puts( "wyszukiwanie okna notatnika[!]\r\n" ); // error check
        
        ShowWindow( window, SW_HIDE );
        //
    }
    
    int main( void ) {
        //
        // glowna funkcja soft'a
        //
        
        findAndHide();
        system( "pause" );
    }
    to tyle co do okna programu, ale co z procesem ?
    wystarczy logicznie pomyslec, jesli robisz to za pomoca API
    i usuwasz nazwe procesu z menedzera zadan jest to o wiele dluzsze,
    natomiast jesli chcesz to zrobic 'klasycznie' jest mniejszy kod, ale troche
    trudniejszy do zalapania, moge napisac ci kolejnego source'a ale juz nie za darmo gdyz takie kody jak ukrywanie procesu nie sa udostepniane w sieci ;p, a jesli juz to bardzo malo, wszystko do uzgodnienia na pm.

    ------------------
    ps co takiego nie do konca rozumiesz, wyraznie napisalem RegSetValueEx - utworzenie wartosci w podkluczu, trudne?
    Ostatnio edytowane przez g3t_d0wn : 01-11-2010 - 19:42

  9. #9
    Zarejestrowany
    Aug 2009
    Postów
    236

    Domyślnie

    mowilem ze nie uczylem sie nigdy api
    nie znam tych funkcji itp
    dzieki za pomoc
    Ostatnio edytowane przez matmat0123456789 : 01-11-2010 - 20:22

  10. #10
    Zarejestrowany
    Dec 2009
    Postów
    164

    Domyślnie

    a to pomylka bo zrozumialem ze nie zajmujesz sie OKNAMI, natomiast jesli nie znasz windowsowego api to nie jest za dobrze, polecam natychmiastowa nauke tego. Bez tego nie bedziesz pisal wiekszych projektow pod ten os

Podobne wątki

  1. Dołącznie programu do programu/pliku
    By xardas97 in forum Hacking
    Odpowiedzi: 1
    Autor: 12-03-2009, 11:25
  2. Drukarki prubóją pracować w tle.
    By zuku3000 in forum Windows
    Odpowiedzi: 0
    Autor: 07-28-2009, 14:39
  3. neibezpieczne dzialanie funkcja sleep() w PHP
    By gogulas in forum Security
    Odpowiedzi: 15
    Autor: 05-28-2008, 00:07
  4. [php] wchodzenie na strone w tle
    By andrew8666 in forum Newbie - dla początkujących!
    Odpowiedzi: 6
    Autor: 10-29-2007, 05:52
  5. Autostart programow
    By alfabeta90 in forum Linux
    Odpowiedzi: 2
    Autor: 04-07-2007, 13:56

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj