Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Advanced Developers Conference     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: C++ (auch C++0x und C++11) ::  [Gelöst]Cmd in den Vordergrund?  
Gehen Sie zu Seite 1, 2, 3, 4  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
Incocnito
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.09.2010
Beiträge: 240
Beitrag Incocnito Mitglied 17:38:51 02.09.2010   Titel:   [Gelöst]Cmd in den Vordergrund?            Zitieren

Hallo erstmal!

Ich wollte mir mal eben ein kleines "Startprogramm" programmieren, damit ich schnell die Programme starten kann, die ich brauche. Hier erst mal der Quellcode:
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include
<windows.h>
#include
<conio.h>

using namespace std;

int main(void)
{
   
    int Wahl;
   
    do
    {
        system("cls");
        cout << "Willkommen beim Starter! Was willst du starten? ;-)\n";
        cout << "---------------------------------------------------\n";
        cout << "1: ICQ\n";
        cout << "2: Dev-cpp\n";
        cout << "3: Internetz\n";
        cout << "4: FFN\n";
        cout << "5: Bremen 4\n";
        cout << "6: Beenden\n";
        cout << "Deine Wahl: ";
       
       
        Wahl = _getch();
       
        switch(Wahl)
        {
            case 49:
                system("start icq");
                break;
            case 50:
                system("start C:\\Programme\\Dev-cpp\\devcpp.exe");
                break;
            case 51:
                system("start www.google.de");
                break;
            case 52:
                system("start C:\\users\\Yannik\\downloads\\tunein_ffn.pls");
                break;
            case 53:
                system("start http://www.radiobremen.de/bremenvier/media/player.php?firstTab=3");
            case 54:
                break;
           
            default:
                cerr << "Falsch Eingabe!";
           
        }
    } while(Wahl != 54);
   
    return 0;
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include
<windows.h>
#include
<conio.h>

using namespace std;

int main(void)
{

int Wahl;

do
{
system("cls");
cout << "Willkommen beim Starter! Was willst du starten? ;-)\n";
cout << "---------------------------------------------------\n";
cout << "1: ICQ\n";
cout << "2: Dev-cpp\n";
cout << "3: Internetz\n";
cout << "4: FFN\n";
cout << "5: Bremen 4\n";
cout << "6: Beenden\n";
cout << "Deine Wahl: ";


Wahl = _getch();

switch(Wahl)
{
case 49:
system("start icq");
break;
case 50:
system("start C:\\Programme\\Dev-cpp\\devcpp.exe");
break;
case 51:
system("start www.google.de");
break;
case 52:
system("start C:\\users\\Yannik\\downloads\\tunein_ffn.pls");
break;
case 53:
system("start http://www.radiobremen.de/bremenvier/media/player.php?firstTab=3");
case 54:
break;

default:
cerr << "Falsch Eingabe!";

}
} while(Wahl != 54);

return 0;
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include
<windows.h>
#include
<conio.h>

using namespace std;

int main(void)
{
   
    int Wahl;
   
    do
    {
        system("cls");
        cout << "Willkommen beim Starter! Was willst du starten? ;-)\n";
        cout << "---------------------------------------------------\n";
        cout << "1: ICQ\n";
        cout << "2: Dev-cpp\n";
        cout << "3: Internetz\n";
        cout << "4: FFN\n";
        cout << "5: Bremen 4\n";
        cout << "6: Beenden\n";
        cout << "Deine Wahl: ";
       
       
        Wahl = _getch();
       
        switch(Wahl)
        {
            case 49:
                system("start icq");
                break;
            case 50:
                system("start C:\\Programme\\Dev-cpp\\devcpp.exe");
                break;
            case 51:
                system("start www.google.de");
                break;
            case 52:
                system("start C:\\users\\Yannik\\downloads\\tunein_ffn.pls");
                break;
            case 53:
                system("start http://www.radiobremen.de/bremenvier/media/player.php?firstTab=3");
            case 54:
                break;
           
            default:
                cerr << "Falsch Eingabe!";
           
        }
    } while(Wahl != 54);
   
    return 0;
}


Wie schon gesagt, sehr simpel. Nun ja, aber mein Problem ist jetzt, dass wenn man irgendein Programm startet dieses sofort im Vordergrund ist. Heißt also, wenn ich google.de starte, drängt sich der Browser in den Vordergrund und ich muss den erst wieder minimieren, bevor ich weitermachen lann. Das selbe gilt auch für die anderen Programme. Hat jemand eine Idee, wie man das ändern könnte?

Danke schonmal ;-)


Zuletzt bearbeitet von Incocnito am 23:49:58 11.11.2010, insgesamt 2-mal bearbeitet
Athar
Mitglied

Benutzerprofil
Anmeldungsdatum: 24.12.2009
Beiträge: 827
Beitrag Athar Mitglied 17:43:13 02.09.2010   Titel:              Zitieren

Nimm ShellExecute statt system, dann kannst du den initialen Fensterzustand angeben (z.B. SW_MINIMIZE).
Incocnito
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.09.2010
Beiträge: 240
Beitrag Incocnito Mitglied 17:55:24 02.09.2010   Titel:              Zitieren

Und wie kann ich dann das gewünschte Programm minimieren? Mit SW_MINIMIZE passiert bei mir auch nicht viel mehr.


Zuletzt bearbeitet von Incocnito am 17:57:42 02.09.2010, insgesamt 1-mal bearbeitet
unskilled
Mitglied

Benutzerprofil
Anmeldungsdatum: 06.07.2007
Beiträge: 3649
Beitrag unskilled Mitglied 18:06:48 02.09.2010   Titel:              Zitieren

Incocnito schrieb:
Und wie kann ich dann das gewünschte Programm minimieren? Mit SW_MINIMIZE passiert bei mir auch nicht viel mehr.


Eigtl sollte das aber klappen.
Alternativ kannst du auch SetForegroundWindow und GetForegroundWindow nehmen.


bb

_________________
Keiner kann besser nix als ich - Tagedieb mit Lächeln im Gesicht :o)
Incocnito
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.09.2010
Beiträge: 240
Beitrag Incocnito Mitglied 18:10:53 02.09.2010   Titel:              Zitieren

Ähm.. Und wie benutze ich jetzt dieses 'SetForegroundWindow'? Ich kenn mich mit der WinAPI nun gar nicht aus, kann das jemand erklären?
Incocnito
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.09.2010
Beiträge: 240
Beitrag Incocnito Mitglied 18:44:06 02.09.2010   Titel:              Zitieren

Naja wie dem auch sei.. Ich hab mein Problem jetzt einfach so gelöst, macht ja nicht soo einen großen Unterschied:
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
#include
<windows.h>
#include
<conio.h>

using namespace std;

int main(void)
{
   
    int Wahl, Eingaben[5], i = 0;
    bool fertig = false;
   
    do
    {
        system("cls");
        cout << "Willkommen beim Starter! Was willst du starten? ;-)\n";
        cout << "---------------------------------------------------\n";
        cout << "1: ICQ\n";
        cout << "2: Dev-cpp\n";
        cout << "3: Internetz\n";
        cout << "4: FFN\n";
        cout << "5: Bremen 4\n";
        cout << "6: Beenden\n";
        cout << "Deine Wahl: ";
       
       
        Wahl = _getch();
       
        switch(Wahl)
        {
            case 49:
                Eingaben[i] = 1;
                break;
            case 50:
                Eingaben[i] = 2;
                break;
            case 51:
                Eingaben[i] = 3;
                break;
            case 52:
                Eingaben[i] = 4;
                break;
            case 53:
                Eingaben[i] = 5;
                break;
            case 54:
                Eingaben[i] = 6;
                fertig = true;
                break;
           
            default:
                cerr << "Falsche Eingabe!";
           
        }
        i++;
    } while(!fertig);
   
    system("cls");
   
    for(int i = 0; Eingaben[i] != 0; i++)
    {
        switch(Eingaben[i])
        {
            case 1:
                system("start icq");
                Sleep(500);
                break;
            case 2:
                system("start C:\\Programme\\Dev-cpp\\devcpp.exe");
                Sleep(500);
                break;
            case 3:
                system("start www.google.de");
                Sleep(500);
                break;
            case 4:
                system("start C:\\users\\Yannik\\downloads\\tunein_ffn.pls");
                Sleep(500);
                break;
            case 5:
                system("start http://www.radiobremen.de/bremenvier/media/player.php?firstTab=3");
                Sleep(500);
                break;
            case 6:
                return 0;
        }
    }
   
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
#include
<windows.h>
#include
<conio.h>

using namespace std;

int main(void)
{

int Wahl, Eingaben[5], i = 0;
bool fertig = false;

do
{
system("cls");
cout << "Willkommen beim Starter! Was willst du starten? ;-)\n";
cout << "---------------------------------------------------\n";
cout << "1: ICQ\n";
cout << "2: Dev-cpp\n";
cout << "3: Internetz\n";
cout << "4: FFN\n";
cout << "5: Bremen 4\n";
cout << "6: Beenden\n";
cout << "Deine Wahl: ";


Wahl = _getch();

switch(Wahl)
{
case 49:
Eingaben[i] = 1;
break;
case 50:
Eingaben[i] = 2;
break;
case 51:
Eingaben[i] = 3;
break;
case 52:
Eingaben[i] = 4;
break;
case 53:
Eingaben[i] = 5;
break;
case 54:
Eingaben[i] = 6;
fertig = true;
break;

default:
cerr << "Falsche Eingabe!";

}
i++;
} while(!fertig);

system("cls");

for(int i = 0; Eingaben[i] != 0; i++)
{
switch(Eingaben[i])
{
case 1:
system("start icq");
Sleep(500);
break;
case 2:
system("start C:\\Programme\\Dev-cpp\\devcpp.exe");
Sleep(500);
break;
case 3:
system("start www.google.de");
Sleep(500);
break;
case 4:
system("start C:\\users\\Yannik\\downloads\\tunein_ffn.pls");
Sleep(500);
break;
case 5:
system("start http://www.radiobremen.de/bremenvier/media/player.php?firstTab=3");
Sleep(500);
break;
case 6:
return 0;
}
}

}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
#include
<windows.h>
#include
<conio.h>

using namespace std;

int main(void)
{
   
    int Wahl, Eingaben[5], i = 0;
    bool fertig = false;
   
    do
    {
        system("cls");
        cout << "Willkommen beim Starter! Was willst du starten? ;-)\n";
        cout << "---------------------------------------------------\n";
        cout << "1: ICQ\n";
        cout << "2: Dev-cpp\n";
        cout << "3: Internetz\n";
        cout << "4: FFN\n";
        cout << "5: Bremen 4\n";
        cout << "6: Beenden\n";
        cout << "Deine Wahl: ";
       
       
        Wahl = _getch();
       
        switch(Wahl)
        {
            case 49:
                Eingaben[i] = 1;
                break;
            case 50:
                Eingaben[i] = 2;
                break;
            case 51:
                Eingaben[i] = 3;
                break;
            case 52:
                Eingaben[i] = 4;
                break;
            case 53:
                Eingaben[i] = 5;
                break;
            case 54:
                Eingaben[i] = 6;
                fertig = true;
                break;
           
            default:
                cerr << "Falsche Eingabe!";
           
        }
        i++;
    } while(!fertig);
   
    system("cls");
   
    for(int i = 0; Eingaben[i] != 0; i++)
    {
        switch(Eingaben[i])
        {
            case 1:
                system("start icq");
                Sleep(500);
                break;
            case 2:
                system("start C:\\Programme\\Dev-cpp\\devcpp.exe");
                Sleep(500);
                break;
            case 3:
                system("start www.google.de");
                Sleep(500);
                break;
            case 4:
                system("start C:\\users\\Yannik\\downloads\\tunein_ffn.pls");
                Sleep(500);
                break;
            case 5:
                system("start http://www.radiobremen.de/bremenvier/media/player.php?firstTab=3");
                Sleep(500);
                break;
            case 6:
                return 0;
        }
    }
   
}


Wenn mir das mit SetForegroundWindow noch jemand erklären könnte, wär ich auch ziemlich dankbar :)
unskilled
Mitglied

Benutzerprofil
Anmeldungsdatum: 06.07.2007
Beiträge: 3649
Beitrag unskilled Mitglied 19:18:38 02.09.2010   Titel:              Zitieren

C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <Windows.h>

void start_program(const char* file, const char* parameters = NULL)
{
  HWND actually_handle = GetForegroundWindow();

  HINSTANCE ec = ShellExecute(GetDesktopWindow(), NULL, file, parameters, NULL, SW_SHOWMAXIMIZED);
/*return value testen*/
  SetForegroundWindow(actually_handle);
}


int main()
{
/*...*/
  start_program("iexplore.exe", "www.google.de"); //IE
  start_program("www.google.de"); //standard browser
/*...*/

/*noch paar bsp., was damit alles geht:*/

  start_program("C:/Program Files (x86)/VideoLAN/VLC/vlc.exe"); //vlc öffnen
  start_program("C:/Program Files (x86)/VideoLAN/VLC/vlc.exe", "\"L:\\Filme\\asd.mpg\" --fullscreen"); //asd.mpg maximiert wiedergeben
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <Windows.h>

void start_program(const char* file, const char* parameters = NULL)
{
HWND actually_handle = GetForegroundWindow();

HINSTANCE ec = ShellExecute(GetDesktopWindow(), NULL, file, parameters, NULL, SW_SHOWMAXIMIZED);
/*return value testen*/
SetForegroundWindow(actually_handle);
}


int main()
{
/*...*/
start_program("iexplore.exe", "www.google.de"); //IE
start_program("www.google.de"); //standard browser
/*...*/

/*noch paar bsp., was damit alles geht:*/

start_program("C:/Program Files (x86)/VideoLAN/VLC/vlc.exe"); //vlc öffnen
start_program("C:/Program Files (x86)/VideoLAN/VLC/vlc.exe", "\"L:\\Filme\\asd.mpg\" --fullscreen"); //asd.mpg maximiert wiedergeben
}
C/C++ Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <Windows.h>

void start_program(const char* file, const char* parameters = NULL)
{
  HWND actually_handle = GetForegroundWindow();

  HINSTANCE ec = ShellExecute(GetDesktopWindow(), NULL, file, parameters, NULL, SW_SHOWMAXIMIZED);
/*return value testen*/
  SetForegroundWindow(actually_handle);
}


int main()
{
/*...*/
  start_program("iexplore.exe", "www.google.de"); //IE
  start_program("www.google.de"); //standard browser
/*...*/

/*noch paar bsp., was damit alles geht:*/

  start_program("C:/Program Files (x86)/VideoLAN/VLC/vlc.exe"); //vlc öffnen
  start_program("C:/Program Files (x86)/VideoLAN/VLC/vlc.exe", "\"L:\\Filme\\asd.mpg\" --fullscreen"); //asd.mpg maximiert wiedergeben
}

gut zu wissen:
pfad-angaben gehen statt C:\\... auch immer C:/... zu schreiben - ist übersichtlicher. (ok - vlc kann das gerade mal nicht - ausnahmen bestätigen die regel ;))

ShellExecute

bb

_________________
Keiner kann besser nix als ich - Tagedieb mit Lächeln im Gesicht :o)
Incocnito
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.09.2010
Beiträge: 240
Beitrag Incocnito Mitglied 20:41:00 02.09.2010   Titel:              Zitieren

Ich glaub bald ernsthaht, wenn ich mit meinem fettem "C++ von A bis Z" von Jürgen Wolf durch bin, fang ich mit der WinAPI an ;)
Nein, ernstahft. Dieses Windows nervt mich einfach megamäßig.. Ich glaub ich denk in Zukunft einfach etwas mehr nach und versuch meine Probleme mit meinen Kentnissen zu lösen, das übt ja doch gewaltig :)
Und ich benutze ungern abkopierte Quelltexte, die ich nicht einmal verstehe. Meine erste GUI wird erstmal wxWidgets sein, und das reicht mir vorerst auch völlig. Trotzdem danke für die Antworten. Und das mit C:\\ statt C:/ hab ich mir einfach angewöhnt. ;)

mfg incocnito


Zuletzt bearbeitet von Incocnito am 20:42:03 02.09.2010, insgesamt 1-mal bearbeitet
SeppJ
Moderator

Benutzerprofil
Anmeldungsdatum: 10.06.2008
Beiträge: 12052
Beitrag SeppJ Moderator 20:46:21 02.09.2010   Titel:              Zitieren

Incocnito schrieb:
"C++ von A bis Z" von Jürgen Wolf

:mad: Nein! :mad:

:warning: Hör auf zu lesen! Sofort! Schmeiß es weg! Verbrenn es!:warning:

http://www.c-plusplus.de/forum/viewtopic-var-t-is-272350.html
Incocnito
Mitglied

Benutzerprofil
Anmeldungsdatum: 02.09.2010
Beiträge: 240
Beitrag Incocnito Mitglied 20:59:08 02.09.2010   Titel:              Zitieren

Also ich finde das Buch klasse, nach 300 Seiten immer noch keine Probleme :D
Und:

http://www.c-plusplus.de/forum/viewtopic-var-t-is-272350.html

Hat der Typ irgendwie Langeweile gehabt oder versucht witzig zu sein? Und wenn es die Leute stört, dass fragen auftauchen weil in einem 1250 Seiten Buch immer noch nicht alles erläutert wurde, dann sind die Leute hier eben fehl am Platz..

Ansonsten: Empfehl mir doch eine Alternative^^ Mit

http://www.amazon.de/Einstieg-4-Auflage-Galileo-Co ....... ?ie=UTF8&s=books&qid=1283457697&sr=8-1

bin ich schon durch, durch C++ von A bis Z wollte ich mal tiefer reingehen..


Zuletzt bearbeitet von Incocnito am 21:02:13 02.09.2010, insgesamt 1-mal bearbeitet
C/C++ Forum :: C++ (auch C++0x und C++11) ::  [Gelöst]Cmd in den Vordergrund?  
Gehen Sie zu Seite 1, 2, 3, 4  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.