PDA

Vollständige Version anzeigen : Shell und AppActivate (ACC97 und NT)


Rol
16.01.2003, 11:19
Hallo,
ich habe folgendes Problem:
Mit der Shell-Funktion rufe ich per Bottom eine Anwendung auf und
merke mir TaskID in einer globalen Variabel. Ist bei Betätigung des Bottoms die Anwendung schon gestartet, soll sie aktiv gesetzt werden.
Der Code ist dieser

Dim stAppName As String

If IsNull(WinTaskID) Then
stAppName = "C:\test\test.exe"
WinTaskID = Shell(stAppName, 1)
Else
AppActivate (WinTaskID)
End If

Das Starten der Anwendung klappt ohne Probleme, nur beim Versuch die Anwendung
Wieder zu aktivieren erhalte ich eine Fehlermeldung. „Unzulässiger Prozedureaufruf oder Ungültiges Argument“

Die Variabel WinTaskID ist als Variant deklariert.
Ich weis leider nicht wo ich den Fehler noch suchen soll.
Für eine Tip wäre ich sehr dankbar. Gibt es vielleicht noch eine andere Möglichkeit
Das zu lösen.

Gruss
Rol

Rol
16.01.2003, 13:16
Hallo noch mal,

Noch als weitere Bemerkung, die Anwendung ist ein DOS-Programm und liegt wenn sie nicht aktiv ist in der Taskleiste.
Kann mir da jemand weiterhelfen ???

Gruss Rol

Rol
17.01.2003, 07:31
Hallo,
kennt keiner dieses Problem ?
Gibt es vieleicht noch eine Möglichkeit,
wie man das anders lösen kann.

Gruss
Rol

Anne Berg
17.01.2003, 08:28
Hi Rol,

im Prinzip funktioniert das (hab's mit Word getestet).
Muss wohl an der Art deiner Test-Anwendung liegen...

Was ist das denn für ein DOS-Programm??

Sascha Trowitzsch
17.01.2003, 08:39
Hast du mal versucht WinTaskID als Double zu deklarieren statt Variant?

Rol
17.01.2003, 08:56
Hallo,
vielen Dank für Eure Antworten.

@ Anne
Ich habe das jetzt auch mal mit Excel getestet und es funktioniert solange wie Excel auf dem Desktop liegt. Liegt Excel aber minimiert in der Taskleiste kommt es zu der schon genannten Fehlermeldung.
Dieses Dos-Programm (test.exe nur als Beispiel) liefert mir bestimmte Informationen, die ich in der Datenbank brauche.

@Sascha
Mit Double auch versucht, ändert sich aber nichts.

Gruss
Rol