[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.
Hoffe Ihr könnt mir helfen.
MfG
NiBurhe
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
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
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
Blog
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:
In einem Programm fände ich es auch schöner, auch wenn man es auch in einer .bat machen könnte.
MfG
NiBurhe
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
auch, wenn ich eigentlich keine ahung von c++ hab, so sagt der compiler doch, dass du falsch escaped hast:
hier:
müsste nämlich:
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++ ...
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++ ...
Auf jede Frage gibt es eine Antwort, man muss nur lange genug danach suchen.
z.B. auf www.netscripter.de :-P
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
Blog
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
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)
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
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
Blog


