Script pausieren/fortsetzen

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Script pausieren/fortsetzen

Post by Boss55 » 27 Jun 2022, 05:52

:? Hallo Forum,

der alte Mann ist am basteln und braucht eure kompetente Hilfe.

Mit dem Befehl

run F:\Eigene_Dateien\Datenbank\Musik\musik.mdb

starte ich eine Access-Datenbank, funktioniert so weit.

Ich würde gerne noch ein paar Befehle einbauen, die jedoch erst NACH dem Schliessen der Datenbank abgearbeitet werden sollen.
Die DB wird nicht über ALT+F4, sondern in Access über eine Schaltfläche mit hinterlegtem Script geschlossen (das ist alles nur geklaut).

Das Script sollte dann nach Schliessung der DB ohne weitere Aktion meinerseits weiterlaufen (ja, faul ist der Kerl auch noch).

Habe schon mit Pause experimentiert, kriege es aber nicht gebacken, wer kann mir weiterhelfen ?

Beim Antworten bitte bedenken, Erklärungen bitte für Dummies, gehe zielstrebig auf die 70 zu und in dem Alter ist die Auffassungsgabe nicht mehr ganz so fit.

Allen die sich die Zeit nehmen dies zu lesen und/oder zu antworten im Voraus besten Dank.

bye

User avatar
flyingDman
Posts: 2791
Joined: 29 Sep 2013, 19:01

Re: Script pausieren/fortsetzen

Post by flyingDman » 27 Jun 2022, 15:01

runwait ?
Run / RunWait

Runs an external program. Unlike Run, RunWait will wait until the program finishes before continuing.
14.3 & 1.3.7

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Re: Script pausieren/fortsetzen

Post by Boss55 » 28 Jun 2022, 01:43

Moin !

Danke für eure Antworten.

Hinter der Schaltfläche liegt ein VBA-Script. (gnadenlos abgekupfert).

Runwait habe ich jetzt ausprobiert, aber alle Befehle die darauf folgen werden ignoriert, zb

send !t (blendet die Taskleiste wieder ein)
Send #{Esc} (deaktiviert die Bildschirmlupe)

Auch wenn ich die DB nicht über das VBA-Script sondern über die Windows Tastenkombination ALT+ F4 beende, verhält sich das so, was nach m.A. dieses VBA als Fehlerursache ausschliesst.

Wo ist da der Haken ??

Schönen Tag

User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script pausieren/fortsetzen

Post by Gerdi » 28 Jun 2022, 02:48

eventuell kannst Du mit

Code: Select all

run F:\Eigene_Dateien\Datenbank\Musik\musik.mdb,,,MdbPID
Process, WaitClose, %MdbPID%, 99999999
heraus bekommen wo es hängt
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Re: Script pausieren/fortsetzen

Post by Boss55 » 28 Jun 2022, 04:31

Moin !
heraus bekommen wo es hängt
..wenn ich das könnte, hätte ich hier nicht gepostet.

Mit diesem Befehl wird alles nachfolgende Befehle ebenfalls ignoriert.

bye

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Script pausieren/fortsetzen

Post by BoBo » 28 Jun 2022, 04:58

Nachteilig ist es dein script nicht sehen zu können!
Wir kennen weder vorgelagerte noch nachgelagerte deiner Befehlssequenzen.
Und kontinuierliches Raten macht's auf Dauer nur mäßig unterhaltsam.
:think:

User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script pausieren/fortsetzen

Post by Gerdi » 28 Jun 2022, 05:11

was passiert vor und nach beenden der DB

Code: Select all

MsgBox %A_LineNumber%
run F:\Eigene_Dateien\Datenbank\Musik\musik.mdb,,,MdbPID
MsgBox %A_LineNumber%	%MdbPID%
Process, WaitClose, %MdbPID%, 99999999
MsgBox %A_LineNumber%
schau auch im Taskmanager nach ob und von wann bis wann die MdbPID vorkommt.
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick

User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script pausieren/fortsetzen

Post by Gerdi » 28 Jun 2022, 05:59

lass Parameter 3 mit den vielen 9en weg
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Re: Script pausieren/fortsetzen

Post by Boss55 » 28 Jun 2022, 07:51

Hallo !
@BoBo
Spar dir doch dein gemotze, keiner zwingt dich dazu, hier zu antworten.

@Gerdi
Erst mal many thx für deine Gedul und deine Mühe.
Das Script bringt
Msgbox 1
DB startet
Msdbox 3 und Msgbox 4

Im Taskmanager läuft Access als Dienst weiter mit der PID 15548.

Hilft dir das irgendwie weiter.

bye

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Script pausieren/fortsetzen

Post by BoBo » 28 Jun 2022, 08:28

@BoBo
Spar dir doch dein gemotze, keiner zwingt dich dazu, hier zu antworten.
Dies war keine Antwort auf deine Frage, sonder ein konstruktiver Hinweis darauf, deine Supporter mit der Bereitstellung (d)eines Codes zu unterstützen.
Das ist in diesem Forum gängige, und bewährte Praxis. Zudem verbleibt es mir dich auf die Foren-Regeln bzgl. deines konfrontativen "Tonfalls" zu verweisen.
Happy scripting 8-)

User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script pausieren/fortsetzen

Post by Gerdi » 28 Jun 2022, 09:09

Im Taskmanager läuft Access als Dienst weiter mit der PID 15548.
Du brauchst irgend ein Schließ-Ereignis auf das Du reagieren kannst!
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Re: Script pausieren/fortsetzen

Post by Boss55 » 28 Jun 2022, 11:21

Ballo !
Du brauchst irgend ein Schließ-Ereignis auf das Du reagieren kannst
Sorry, versteh ich nicht, nicht meine Welt, ich geb´s auf.

bye

User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script pausieren/fortsetzen

Post by Gerdi » 28 Jun 2022, 16:44

Die DB wird nicht über ALT+F4, sondern in Access über eine Schaltfläche mit hinterlegtem Script geschlossen
was schließt sich, wenn die Schaltfläche betätigt wird?
Wenn das ein Fenster ist, kann man mit WinWaitClose weiterkommen. Aufs Prozessende warten hatten wir oben schon probiert, wobei hier noch anzumerken wäre, dass die Ausgabe der letzten MsgBox 5 statt 4 hätte lauten müssen. Es sei denn, statt Parameter 3 der 4. Zeile, wurde die ganze 4. Zeile gelöscht.
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Re: Script pausieren/fortsetzen

Post by Boss55 » 30 Jun 2022, 10:57

Hallo,

und nochmals vielen Dank für deine Ausdauer. Habe versucht mit Winwaitclose was zu reißen, hat aber auch nicht funktioniert, vielleicht bin ich auch einfach nur zu blöd.

Das Problem mit wwc könnte auch seim das ich keine exe starte sondern eine Datei.
Die Msg-Box hat die 4 zurückgegeben, Tippfehler meinerseits.
However, habe das jetzt mit einer Batch gelöst, funktioniert nicht ganz wie gewünscht, muss per Tastendruck eingreifen, erfüllt aber seinen Zweck.
Werde das einfach so lassen, habe keinen Bock mehr, weiter rumzufrickeln, bringt nur Frust.

Dir nochmals vielen Dank für deine Geduld und die Mühe die du investiert hast.

bye

User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script pausieren/fortsetzen

Post by Gerdi » 30 Jun 2022, 15:34

Das Problem mit wwc könnte auch seim das ich keine exe starte sondern eine Datei.
diese Vermutung hatte ich auch beim warten auf Prozessende, aber bei

Code: Select all

MsgBox %A_LineNumber%
run "C:\temp\9.txt",,,MdbPID
; run notepad.exe "C:\temp\9.txt",,,MdbPID
MsgBox %A_LineNumber%	%MdbPID%
Process, WaitClose,%MdbPID%
MsgBox %A_LineNumber%
funktioniert das warten auf schließen von Notepad. Egal ob ich den Text direkt starte oder über Notepad.exe

@alle
es hatte allerdings nicht verlässlich funktioniert mit

Code: Select all

Process, WaitClose,%MdbPID%,99999999
wofür ich keine Erklärung habe.
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick

Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Re: Script pausieren/fortsetzen

Post by Boss55 » 02 Jul 2022, 10:27

Hallo,

der alte Mann gibt doch noch keine Ruhe (klarer Fall von Altersstarsinn) :mrgreen: :mrgreen:

Habe jetzt diesen Code zusammengeschludert

Code: Select all

run "D:\Programme (x86)\Microsoft Office\Office12\MSACCESS.EXE" F:\Eigene_Dateien\Datenbank\Musik\musik.mdb,,,MdbPID
MsgBox %A_LineNumber%	%MdbPID%
Process, WaitClose,%MdbPID%, 99999999
send !t
Send #{Esc}
der auch so lange funktioniert, bis ich die Zeile mit der MsgBox lösche, weil unerwünscht und muss immer mit ok bestätigt werden.
Dann endet das Script beim Schliessen der Datenbank.

Welchen Befehl kann ich da ersatzweise verwenden, ohne das ich da eingreifen muss, denn sonst scheint es, als würde waitClose die PID nicht mitbekommen.

Oder lieg ich da völlig daneben ?

bye

BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Script pausieren/fortsetzen

Post by BoBo » 02 Jul 2022, 11:41


Boss55
Posts: 31
Joined: 09 Oct 2021, 12:50

Re: Script pausieren/fortsetzen

Post by Boss55 » 02 Jul 2022, 12:29

Hallo,
RunWait
hatten wir schon,hat nicht funktioniert. Brauch einen Befehl, mit dem man den Wert aus mdbPID an Waitclose übergeben kann.

bye


User avatar
Gerdi
Posts: 185
Joined: 03 Aug 2015, 18:48
Location: Germany
Contact:

Re: Script pausieren/fortsetzen

Post by Gerdi » 02 Jul 2022, 19:34

Code: Select all

run "D:\Programme (x86)\Microsoft Office\Office12\MSACCESS.EXE" "F:\Eigene_Dateien\Datenbank\Musik\musik.mdb",,,MdbPID
Sleep 2000
Process, WaitClose,%MdbPID%
; Aktionen nach schließen der  Datenbank
Ich weiß immer noch nicht ob Du es schon wie drüber ohne 99999999 probiert hast?
Mit der 99999999 scheint der Befehl nicht wie in der Hilfe beschrieben zu funktionieren.
Win 10 Home (x64) and Win 11 Pro N
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick

Post Reply

Return to “Ich brauche Hilfe”