Lopende taken

Status
Niet open voor verdere reacties.

Salonkorf

Gebruiker
Lid geworden
9 mrt 2007
Berichten
29
Ik heb een Access 2000 applicatie. Een gebruiker drukt op een button in een formulier. De vba code die hierachter zit mag alleen uitgevoerd worden als bepaalde andere acccess applicaties of programma's afgesloten zijn.
Hoe kan ik een lijst krijgen van de opgestarte applicatie en checken of daar 1of meerdere programma's tussen staan die eerst afgesloten moeten worden?

Alvast bedankt
 
Laatst bewerkt:
Zijn dit losse applicaties (dan moet je naar de winapi uitwijken), of forms die in dezelfde applicatie draaien?
 
Het zijn losse applicaties. Hoe werkt dit dan met winapi?

Ik heb er wel eens iets over gelezen, maar dan in Excel.

En euh... mijn conclusie was: blijf daaraf als je geen doorwinterde programmeur bent die bereid is veel tijd door te brengen tussen (soms ongedocumenteerde) dingen.

Misschien dat je veel geluk hebt en dat jouw specifieke vraag ergens op internet te vinden is met uitgewerkte code, zoniet vrees ik het ergste want dit is echt niet simpel hoor. Ik ga er zeker geen tijd aan besteden, niets persoonlijks hé ;)

Wigi
 
Is niet makkelijk, ik heb een boek van Dan Appleman over win32 api en het heeft me altijd flink wat energie gekost om het aan de gang te krijgen. Als je de window titel weet zou je gebruik kunnen maken van de de FindWindow API:

Code:
Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

   Public Function TestWindow(strWindowName as string) as boolean
      Dim lng_hinst as long

       lng_hinst = FindWindow(vbNullString, strWindowName)
       TestWindow = (lng_hinst = 0)
    End Function

'code example:
Debug.Print TestWindow( "Untitled - Notepad")
' waar als notepad draait
 
Is niet makkelijk, ik heb een boek van Dan Appleman over win32 api en het heeft me altijd flink wat energie gekost om het aan de gang te krijgen. Als je de window titel weet zou je gebruik kunnen maken van de de FindWindow API:

Code:
Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

   Public Function TestWindow(strWindowName as string) as boolean
      Dim lng_hinst as long

       lng_hinst = FindWindow(vbNullString, strWindowName)
       TestWindow = (lng_hinst = 0)
    End Function

'code example:
Debug.Print TestWindow( "Untitled - Notepad")
' waar als notepad draait

Bedankt, ik ga kijken of ik hier iets mee kan
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan