|
You last visited: Today at 05:46
Advertisement
Programm wird mehrfach gestartet?
Discussion on Programm wird mehrfach gestartet? within the AutoIt forum part of the Coders Den category.
08/16/2013, 20:52
|
#1
|
elite*gold: 0
Join Date: Jul 2010
Posts: 1,342
Received Thanks: 1,599
|
Programm wird mehrfach gestartet?
Hallo liebe Elitepvper's.
Ich hab' vor, ein Programm per [F7] aufrufen zu lassen. Das klappt auch ganz gut, aber nachdem ich [F7] drücke, erscheint das Programm mehrfach, anstatt nur 1 mal.
Wo mache ich den Fehler?
Code:
#include <Misc.au3>
$dll = DllOpen("user32.dll")
while 1
if _IsPressed("76", $dll) then Run("script\PROGRAMM.exe")
wend
Lg
|
|
|
08/16/2013, 21:13
|
#2
|
elite*gold: 2
Join Date: Dec 2005
Posts: 413
Received Thanks: 72
|
Heyho,
du hast dein Aufruf in einer While Schleife, diese ist endlos.
Könntest jetzt wenn das Programm gestartet wurde einfach ExitLoop reinschreiben damit er aus der While Schleife geht und mit dem Script weiter macht.
Hoffe konnte dir helfen =)
Grüße
|
|
|
08/16/2013, 22:01
|
#3
|
elite*gold: 0
Join Date: Jul 2010
Posts: 1,342
Received Thanks: 1,599
|
Quote:
Originally Posted by Rolle
Heyho,
du hast dein Aufruf in einer While Schleife, diese ist endlos.
Könntest jetzt wenn das Programm gestartet wurde einfach ExitLoop reinschreiben damit er aus der While Schleife geht und mit dem Script weiter macht.
Hoffe konnte dir helfen =)
Grüße
|
Danke für die schnelle Antwort! (:
Das Problem ist nur, dass das Programm bzw die Funktion nicht beendet werden soll. Es soll eine Art Hotkey(Deshalb [F7]) darstellen, welchen man jederzeit drücken kann.
Deshalb sollte sich das Programm nicht schließen x:
|
|
|
08/16/2013, 22:32
|
#4
|
elite*gold: 2
Join Date: Dec 2005
Posts: 413
Received Thanks: 72
|
Dann mach doch einfach am anfang des Scripts:
HotKeySet("{Taste}", "Function")
Dann kannste die Taste immer drücken ohne das sich dein Programm beendet.
Das ist jetzt die Hilfe die ich aus deiner Fragestellung raus lesen kann ^^
Am besten schreibst du mal genau was du vorhast
Grüße
|
|
|
08/16/2013, 22:58
|
#5
|
elite*gold: 0
Join Date: Jul 2010
Posts: 1,342
Received Thanks: 1,599
|
Quote:
Originally Posted by Rolle
Dann mach doch einfach am anfang des Scripts:
HotKeySet("{Taste}", "Function")
Dann kannste die Taste immer drücken ohne das sich dein Programm beendet.
Das ist jetzt die Hilfe die ich aus deiner Fragestellung raus lesen kann ^^
Am besten schreibst du mal genau was du vorhast
Grüße
|
Du hast es schon richtig verstanden (:
Ich hab' es nun mal so versucht, aber nun startet das Programm nicht einmal.(Zwar kein Error, aber auch nicht im Taskmanager zu sehen):
Code:
HotKeySet("{F1}", "Start")
Func Start()
Run("script\PROGRAMM.exe")
EndFunc
|
|
|
08/16/2013, 23:05
|
#6
|
elite*gold: 966
Join Date: Apr 2010
Posts: 1,104
Received Thanks: 681
|
Bin zwar kaum in AutoIt drin, aber das kommt daher, dass außer dem HotKeySet kein Code zum ausführen da ist. Du musst das Programm mit einer while-schleife am Leben erhalten.
Code:
HotKeySet("{F1}", "Start")
While 1
Sleep(10)
WEnd
Func Start()
Run("script\PROGRAMM.exe")
EndFunc
So sollte es dann auch klappen
MfG
Jeoni
|
|
|
08/16/2013, 23:21
|
#7
|
elite*gold: 64
Join Date: May 2011
Posts: 1,228
Received Thanks: 847
|
Naja, das Hauptproblem ist, das es in einer While-Schleife steht.
B.z.w die While durchläuft so schnell das _IsPressed in
einer Sekunde vielleicht 2x(oder mehrmals) abgefragt wird.
Code:
#include <Misc.au3>
$dll = DllOpen("user32.dll")
while 1
if _IsPressed("76", $dll) then
Run("script\PROGRAMM.exe")
Sleep(200)
EndIf
wend
|
|
|
08/16/2013, 23:25
|
#8
|
elite*gold: 2
Join Date: Dec 2005
Posts: 413
Received Thanks: 72
|
Jeoni hat recht, du musst dem Programm eine While Schleife geben. Damit es am "leben" bleibt. Ansonsten geht das Script einmal durch und dann ist es "zu Ende" und beendet sich in dem Fall^^
Somit haste keine Chance deinen HotKey zu drücken :P
Grüße
|
|
|
08/16/2013, 23:26
|
#9
|
elite*gold: 0
Join Date: Jul 2010
Posts: 1,342
Received Thanks: 1,599
|
Quote:
Originally Posted by BladeTiger12
Naja, das Hauptproblem ist, das es in einer While-Schleife steht.
B.z.w die While durchläuft so schnell das _IsPressed in
einer Sekunde vielleicht 2x(oder mehrmals) abgefragt wird.
Code:
#include <Misc.au3>
$dll = DllOpen("user32.dll")
while 1
if _IsPressed("76", $dll) then
Run("script\PROGRAMM.exe")
Sleep(200)
EndIf
wend
|
So funktionert es, vielen Dank! (:
|
|
|
08/17/2013, 00:28
|
#10
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,147
|
Wenn das "PROGRAMM" generell nur einmal gestartet werden soll kannst du dir auch die Funktion _Singleton() angucken. Vorausgesetzt, dass du die "PROGRAMM.exe" aus einem AutoIt Script erstellst.
|
|
|
08/17/2013, 19:56
|
#11
|
elite*gold: 0
Join Date: Jan 2013
Posts: 426
Received Thanks: 129
|
oder besser (das programm wartet nun auch darauf, bis F7 wieder losgelassen wird):
Code:
#include <Misc.au3>
while 1
if _IsPressed("76") then
Run("script\PROGRAMM.exe")
While 1
If not _ispressed("76") then Exitloop
WEnd
EndIf
WEnd
|
|
|
|
Similar Threads
|
Worldedit 4.7 wird nicht gestartet
10/28/2011 - Minecraft - 6 Replies
Hi Leute
ich habe mal eine frage:
Ich habe einen Server von Bukkit und wollte dort den Plugin Worldedit instalieren.
Habe auch schon viele andere Pluggins die gut funktionieren.
Jedoch startet die Konsole kein Worldedit. Er zeigt garnicht erst an, dass er Worldedit läd.
Als wenn er es einfach Ignoriert.
|
[HILFE] "Windows wird gestartet" wird angezeigt, tuts aber nicht....
04/21/2011 - Main - 7 Replies
Hallo leute,
wie schon im titel gesagt! Ich starte ordnungsgemäß mein pc, "Windows wird gestartet" wird angezeigt, tuts aber nicht. Habe ungf. 5min gewartet dann hab ichs einfach ausgemacht. Habe Win 7 64Bit vor 2 Tagen neu installiert weil irgendein fehler aufgetreten ist, wenn ich mich angemeldet habe ( dann ist der explorer immer abgekakt und konnte nichts machen). Weiss vielleicht einer was man tun kann? Habe schon versucht über den abgesicherten modus reinzukommen <-- Geht nicht!
Meine...
|
svchost.exe mehrfach gestartet.
04/13/2011 - Technical Support - 13 Replies
Moin,
Habe ein kleines Problemchen, dass mich momentan ziemlich stört. Und zwar habe ich beim Hochfahren den Prozess svchost.exe schon locker um die 10-15mal offen. Warum ist das so? Und vorallem, was kann man dagegen machen?
Das komische ist ja, dass auf den Rechner meines Kollegen, den ich fertig konfiguriert hatte nur insgesamt gerademal um die 10 Prozesse laufen.
Auch interessant ist, dass sich bei mir der Systemprozess sfc.exe ständig startet und sich wieder schließt im Sekunden...
|
Wo auf einer Map gestartet wird einstellen?
07/29/2010 - Metin2 Private Server - 1 Replies
HI
Ich hab mal ne Frage :D
Wo kann man einstellen, wo man startet wenn man auf die map geht?
Edit: und am besten noch wo die verschiedenen reiche starten.
|
Server8 wird vill neu gestartet
11/19/2009 - Metin2 - 18 Replies
Serverproblem Server 8 Torkas
Liebe Community,
die Serverprobleme auf Server 8 Torkas sind bekannt. Die Technik wurde soeben informiert.
Der Server wird vorraussichtlich neugestartet.
Wir bitten um euer Veständnis.
Euer Metin2.de-Team
|
All times are GMT +2. The time now is 05:46.
|
|