C-Anwendung verstecken



  • Bin durch die Google suche auf diese Seite
    gestoßen, habe die Funktion mit bool FreeConsole();, hat bei mir irgendwie
    nicht geklappt ( vielleicht daran das meine Anwendung in C geschrieben ist ? ) Aufjedenfall suche ich eine Möglichkeit, meine Anwendung verstecken, sprich wenn die Anwendug gestartet wird, sieht der User nichts ( nur im Taskmanager, was keine Rolle momentan spielt ). Ich habe bisschen rumversucht, klappt aber nicht, mache ich hier was falsch, hier ein kleiner code abschnitt ( wenn ihr mehr brauchen solltet, gibt bescheid ). ich bedanke mich im vorraus & entschuldige mich schonmal auch, falls es abhilfe woanders geben sollte ( ich habe nix gefunden, mit den msdn code snippets komme ich nicht ganz zurecht ) :

    /********************************************************/
    	memset((void *) &si, 0, sizeof(si));
    	memset((void *) &pi, 0, sizeof(pi));
    /********************************************************/
    	si.cb = sizeof(si);
    	si.dwFlags = STARTF_USESTDHANDLES + STARTF_USESHOWWINDOW;
    /********************************************************/
    	[b]si.wShowWindow = SW_HIDE;[/b]
    	si.hStdInput = (void *)sendrecv;	
    	si.hStdOutput = (void *)sendrecv;      
    	si.hStdError = (void *)sendrecv;     
    /********************************************************/
    	CreateProcess(NULL, CMD, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi);
    /********************************************************/
    	closesocket(sendrecv);
    	closesocket(sock);
    	WSACleanup();
    	return 0;
    }
    

    mfg, reggae



  • MSDN schrieb:

    The FreeConsole function detaches the calling process from its console. [...]
    If other processes share the console, the console is not destroyed, but the calling process cannot refer to it.
    A process can use FreeConsole to detach itself from its current console [...]

    #include <windows.h>
    
    int main( int argc, char *argv[] )
    {
        FreeConsole();
        while(1)
            ;
    }
    

    sollte höchstens kurz aufflackern, dann jedoch nicht mehr zu sehen sein.
    Warum erstellst du eine Konsolenanwendung, die keine Konsole haben soll?
    Ich würd eine Windows-exe erstellen und kein Fenster zeigen...

    Greetz, Swordfish



  • vielen dank, mein problem hat sich gelöst *karmapunkteschick* 😉



  • Dieser Thread wurde von Moderator/in c.rackwitz aus dem Forum ANSI C in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten