Webmaster Forum Logo Part 1 Webmaster Forum Logo Part 2
Webmaster Forum Logo Part 3
     
 
  :: Anmeldung

Benutzername:

Registrierung...

Passwort:

Passwort vergessen?

angemeldet bleiben


  
  :: Umfrage
Welche sozialen Netzwerke benutzt du regelmäßig?

 Facebook
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 73%
 keines
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 22%
 Google+
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 19%
 Twitter
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 11%
 Xing
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 6%
 schülerVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 5%
 meinVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 studiVZ
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 4%
 MySpace
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%
 LinkedIn
 Webmaster - WebspaceWebmaster - WebspaceWebmaster - Webspace 2%

 ges. 392 Stimmen
 
  :: Buttons

Valid XHTML 1.0 Transitional

NiBurhe

Kaiser

Dabei seit: 07.04.2003

Beiträge: 1 292

 

1 Zum Seitenanfang

Sonntag, 29. Januar 2006, 13:38

[C++]IE schliessen und wieder Starten

Hallo,

ich will mir nen kleines Programm in C++ schreiben, was mit nach einer bestimmten Zeit bestimmte Befehle ausführt, leider ist es schon lange her und es war auch nur sehr sehr kurz, dass ich mal mit C++ angefangen habe.

Hier nun mein Code. Er soll den Internet-Explorer schliessen und dannach wieder öffnen und nach 60 Sekunden das gleiche wieder.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
using namespace std;

int main(int argc, char *argv[])
{
    int time = 60;
   while(time < 70)
   {
    system("taskkill /F /IM iexplore.exe");
    system("C:\Programme\Internet Explorer\IEXPLORE.EXE");
    wait(time);
   }
    system("PAUSE");
    return EXIT_SUCCESS;
}


Hoffe Ihr könnt mir helfen.

MfG
NiBurhe
 

silence

König

Dabei seit: 28.02.2003

Beiträge: 981

 

2 Zum Seitenanfang

Sonntag, 29. Januar 2006, 14:03

Was genau funktioniert den nicht?

Des weiteren solltest du auf "SYSTEM" Anweisungen komplett verzichten (weil das was bis jetzt da steht auch in ner .bat funktionieren würde)

Nimm zum starten des IE einfach ShellExecute oder ShellExecuteEx

Zum beenden schickst du an den IE mit SendMessage einen WM_QUIT
Aktuell nutze ich: Windows, Linux, MacOS X, Solaris...weil die Welt nicht nur S/W ist!
Blog
 

NiBurhe

Kaiser

Dabei seit: 07.04.2003

Beiträge: 1 292

 

3 Zum Seitenanfang

Sonntag, 29. Januar 2006, 16:29

Ich würde auch .bat Dateien nehmen, aber der kann man nicht sagen, dass Sie wartet oder?

Das Problem sind irgentwie die zeichen, beim Schliessen, beim Compilieren gibt er immer folgenden Fehler:

Zitat


Compiler: Default compiler
Building Makefile: "C:\Dev-Cpp\Makefile.win"
Führt make... aus
make.exe -f "C:\Dev-Cpp\Makefile.win" all
g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include"

main.cpp: In function `int main(int, char**)':

main.cpp:9: error: `system' undeclared (first use this function)
main.cpp:9: error: (Each undeclared identifier is reported only once for each function it appears in.)
main.cpp:10:12: warning: unknown escape sequence '\P'
main.cpp:10:12: warning: unknown escape sequence '\I'
main.cpp:10:12: warning: unknown escape sequence '\I'
main.cpp:11: error: `wait' undeclared (first use this function)

main.cpp:14: error: `EXIT_SUCCESS' undeclared (first use this function)

make.exe: *** [main.o] Error 1

Ausführung beendet


In einem Programm fände ich es auch schöner, auch wenn man es auch in einer .bat machen könnte.

MfG
NiBurhe
 

OnkelJürgen

Moderator

Dabei seit: 30.12.2002

Beiträge: 1 719

 

4 Zum Seitenanfang

Sonntag, 29. Januar 2006, 16:38

auch, wenn ich eigentlich keine ahung von c++ hab, so sagt der compiler doch, dass du falsch escaped hast:

hier:

Quellcode

1
system("C:\Programme\Internet Explorer\IEXPLORE.EXE")


müsste nämlich:

Quellcode

1
system("C:\\Programme\\Internet Explorer\\IEXPLORE.EXE")


heißen, sonst denkt der compiler, du willst die buchstaben im pfad escapen .. außerdem scheint die fehlermeldung zu sagen, dass die funktion wait vorher erst deklariert werden muss, also nicht einfach so zur verfügung steht, genauso wie "EXIT_SUCCESS", wobei ich bei letzterm auch nichts weiß . wie gesagt, ahb cih eigentlich keien ahnung von c++ ... :P
Auf jede Frage gibt es eine Antwort, man muss nur lange genug danach suchen.


z.B. auf www.netscripter.de :-P
 

silence

König

Dabei seit: 28.02.2003

Beiträge: 981

 

5 Zum Seitenanfang

Sonntag, 29. Januar 2006, 18:08

Zitat

Original von NiBurhe
main.cpp:9: error: `system' undeclared (first use this function)
main.cpp:9: error: (Each undeclared identifier is reported only once for each function it appears in.)

Du hast vergessen eine Headerdatei zu inkludieren, ich glaube SYSTEM braucht die stdio.h

Zitat

Original von NiBurhe
main.cpp:10:12: warning: unknown escape sequence '\P'
main.cpp:10:12: warning: unknown escape sequence '\I'
main.cpp:10:12: warning: unknown escape sequence '\I'

Das hat OnkelJürgen schon richtig erklärt (liegt an den Escapesequenzen)

Zitat

Original von NiBurhe
main.cpp:11: error: `wait' undeclared (first use this function)

Genaus das selbe wie bei der SYSTEM Funktion, nimm stattdessen Sleep(int) aus der WinAPI.

Quellcode

1
2
#include <windows.h>
Sleep(2000); //Wartet 2 Sekunden


Zitat

Original von NiBurhe
main.cpp:14: error: `EXIT_SUCCESS' undeclared (first use this function)

EXIT_SUCCESS ist nicht definiert.
Entweder du schreibst stattdessen 0 oder definierst es:

Quellcode

1
#define EXIT_SUCCESS 0
Aktuell nutze ich: Windows, Linux, MacOS X, Solaris...weil die Welt nicht nur S/W ist!
Blog
 

NiBurhe

Kaiser

Dabei seit: 07.04.2003

Beiträge: 1 292

 

6 Zum Seitenanfang

Montag, 30. Januar 2006, 13:36

Danke!

Soweit funktioniert es, ich habe jetzt nur ein Problem und zwar, wenn ich den IE geöffnet habe, geht das Programm erst dann weiter, wenn ich Ihn wieder geschlossen habe.

Gibt es eine Möglichkeit, dass Programm (IE) auszuführen und sofort weiter in dem Programm (Das C ++ - Programm) zu gehen, ohne vorher den IE schliessen zu müssen?

MfG
NiBurhe

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »NiBurhe« (30. Januar 2006, 13:36)

 

silence

König

Dabei seit: 28.02.2003

Beiträge: 981

 

7 Zum Seitenanfang

Mittwoch, 1. Februar 2006, 15:24

Wenn du ShellExecute benutzt sollte das eigentlich gehen.
SYSTEM ist blocking afaik, d.h. die Funktion wartet, bis der Aufgerufene Prozess geschlossen wurde.
Bin mir aber nicht 100% sicher
Aktuell nutze ich: Windows, Linux, MacOS X, Solaris...weil die Welt nicht nur S/W ist!
Blog