1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

C++ ShellExecute wieder schliessen

Discussion in 'Programmieren' started by 1Goldfisch1, Jun 6, 2012.

Thread Status:
Not open for further replies.
  1. Hallo zusammen
    Ich hab folgenden Code geschrieben
    Code:
    #include <cstdlib>
    #include <iostream>
    #include <windows.h>
    
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    
    
    ShellExecute(NULL,"Open","www.google.de",NULL ,NULL,1);
     
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    Er öffnet die Seite google.de. Jedoch möchte ich diese Seite nachher wieder schliessen. Ich habe schon gegoogelt und bin auf system("TASKKILL"); gestossen. Jedoch schliesst er das ganze Programm. Ich möchte aber nur die gerade geöffnete Internetseite wieder schliessen.
    Hat jemand eine Idee wie ich das anstellen könnte :) ?
    Danke für eure Hilfe ;)
     
  2. Hab jetzt nach langem Suchen diesen Thread gefunden:
    http://answers.yahoo.com/question/index?qid=20100707111229AAo3RtO
    Mein Code sieht jetzt folgendermassen aus:
    Code:
    #include <iostream>
    #include <windows.h>
    
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
    
    
    ShellExecute(NULL,"Open","www.google.de",NULL ,NULL,1);
    HWND hConsoleWnd = GetConsoleWindow();
     
     system("PAUSE");
     
     DestroyWindow(hConsoleWnd);
     
     
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    Dev c++ sagt mir jetzt:
    13 C:\Dev-Cpp\main.cpp `GetConsoleWindow' undeclared (first use this function)
    (Each undeclared identifier is reported only once for each function it appears in.)

    Bin leider C++ anfänger
    Verstehe nicht wie ich es deklarieren muss?!
    Hoffe ihr könnt mir helfen
     
  3. Edit: Mit visual c++ kann ich es jetzt kompilieren
    Jedoch öffnet er nur die Seite und schliesst sie nicht mehr :(
     
  4. kazhar

    kazhar Viertel Gigabyte

    irgendwie klar. getconsolewindow gibt das handle des "dos"fensters zurück, das dein programm benutzt - natürlich nur wenn es eines benutzt....

    das problem liegt an shellexecute. dabei wird die shell (explorer) angewiesen, in deinem fall google zu öffnen. dabei wird ein neuer prozess angestoßen, der sein eigenes fenster mitbringt. das kannst du nicht so einfach beinflussen.
     
Thread Status:
Not open for further replies.

Share This Page