Avatar billede krismort Nybegynder
22. marts 2001 - 20:38 Der er 7 kommentarer og
1 løsning

Check om program Kører

hej
Hvordan kan jeg checke om et af mine programmer kører gennem et andet program ?
Avatar billede krismort Nybegynder
22. marts 2001 - 20:40 #1
nb. Programmet ændrer hele tiden caption
Avatar billede preclean Nybegynder
22. marts 2001 - 20:41 #2
control alt delete  åbner et vindoe hvori du kan se de kørende programmer.(og lukke dem)
Avatar billede preclean Nybegynder
22. marts 2001 - 20:42 #3
prøv lige at forklare dig lidt nærmer ??
Avatar billede roelsgaard Nybegynder
22. marts 2001 - 20:49 #4
Hvis du i windows trykker control alt delete, for du en liste og kørende programmer!
Avatar billede krismort Nybegynder
22. marts 2001 - 21:02 #5
Det er et program jeg vil lave i VB
Avatar billede scb Praktikant
22. marts 2001 - 21:32 #6
Du kunne jo lade programmet, ved start, skrive en oplysning i en fil, som så bliver slettet når programmet afsluttes.
Det andet program checker så indholdet i denne fil og kan derved se om det andet program er aktiv.
Ulempen er at hvis Win går ned imens er filen der stadig.
-SCB
Avatar billede joern Nybegynder
22. marts 2001 - 22:29 #7
Hej krismort.

Prøv at kigge på:  http://www.eksperten.dk/spm/11329
Jeg lægger også lige kildeteksten til min lille prototype på http://www.jkfsoft.dk/tasklist.zip

Det er bare lidt kode til videre udbygning.  m.v.h.  Jørn


26. marts 2001 - 10:45 #8
Hvis det er f.eks er nogle af office-programmerne eller hvis du har programmets Class-name, kan nedenstående kode måske hjælpe:

\'******************** Code Start ************************
Private Const SW_HIDE = 0
Private Const SW_SHOWNORMAL = 1
Private Const SW_NORMAL = 1
Private Const SW_SHOWMINIMIZED = 2
Private Const SW_SHOWMAXIMIZED = 3
Private Const SW_MAXIMIZE = 3
Private Const SW_SHOWNOACTIVATE = 4
Private Const SW_SHOW = 5
Private Const SW_MINIMIZE = 6
Private Const SW_SHOWMINNOACTIVE = 7
Private Const SW_SHOWNA = 8
Private Const SW_RESTORE = 9
Private Const SW_SHOWDEFAULT = 10
Private Const SW_MAX = 10

Private Declare Function apiFindWindow Lib \"user32\" Alias _
    \"FindWindowA\" (ByVal strClass As String, _
    ByVal lpWindow As String) As Long

Private Declare Function apiSendMessage Lib \"user32\" Alias _
    \"SendMessageA\" (ByVal hWnd As Long, ByVal Msg As Long, ByVal _
    wParam As Long, lParam As Long) As Long
   
Private Declare Function apiSetForegroundWindow Lib \"user32\" Alias _
    \"SetForegroundWindow\" (ByVal hWnd As Long) As Long
   
Private Declare Function apiShowWindow Lib \"user32\" Alias _
    \"ShowWindow\" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
   
Private Declare Function apiIsIconic Lib \"user32\" Alias _
    \"IsIconic\" (ByVal hWnd As Long) As Long
   
Function IsAppRunning(ByVal strAppName As String, _
        Optional fActivate As Boolean) As Boolean
    Dim lngH As Long, strClassName As String
    Dim lngX As Long, lngTmp As Long
    Const WM_USER = 1024
    On Local Error GoTo IsAppRunning_Err
    IsAppRunning = False
    Select Case LCase$(strAppName)
        Case \"excel\":      strClassName = \"XLMain\"
        Case \"word\":        strClassName = \"OpusApp\"
        Case \"access\":      strClassName = \"OMain\"
        Case \"powerpoint95\": strClassName = \"PP7FrameClass\"
        Case \"powerpoint97\": strClassName = \"PP97FrameClass\"
        Case \"notepad\":    strClassName = \"NOTEPAD\"
        Case \"paintbrush\":  strClassName = \"pbParent\"
        Case \"wordpad\":    strClassName = \"WordPadClass\"
        Case Else:          strClassName = \"\"
    End Select
   
    If strClassName = \"\" Then
        lngH = apiFindWindow(vbNullString, strAppName)
    Else
        lngH = apiFindWindow(strClassName, vbNullString)
    End If
    If lngH <> 0 Then
        apiSendMessage lngH, WM_USER + 18, 0, 0
        lngX = apiIsIconic(lngH)
        If lngX <> 0 Then
            lngTmp = apiShowWindow(lngH, SW_SHOWNORMAL)
        End If
        If fActivate Then
            lngTmp = apiSetForegroundWindow(lngH)
        End If
        IsAppRunning = True
    End If
IsAppRunning_Exit:
    Exit Function
IsAppRunning_Err:
    IsAppRunning = False
    Resume IsAppRunning_Exit
End Function

\'******************** Code End ************************


Syntaxen er som følger:
If IsAppRunning(\"Excel\") = true then ...

/Thomas
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester