/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
er programmet åben
Fra : Danlamp Teknik


Dato : 23-08-01 14:39

Hejsa
Jeg har brug for noget kode der kan fortælle mig om eks. Calc.exe køre/er
åben.


Hilsen
Henrik Absalon



 
 
Bjarke Walling Peter~ (23-08-2001)
Kommentar
Fra : Bjarke Walling Peter~


Dato : 23-08-01 15:32

Danlamp Teknik skrev:
> Hejsa
> Jeg har brug for noget kode der kan fortælle mig om eks. Calc.exe køre/er
> åben.

Måske kan du bruge det her:


Private Declare Function GetWindow Lib "user32" (ByVal _
hWnd As Long, ByVal wCmd As Long) As Long

Private Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal _
lpString As String, ByVal cch As Long) As Long

Private Declare Function GetWindowTextLength Lib "user32" _
Alias "GetWindowTextLengthA" (ByVal hWnd As Long) _
As Long

Private Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hWnd As Long, ByVal wMsg As _
Long, ByVal wParam As Long, lParam As Any) As Long

Private Const WM_CLOSE = &H10

Private Enum xCompareMethod
xBinaryCompare
xTextCompare
End Enum

Private Sub CloseWindow(hWnd As Long)
If hWnd = 0 Then Exit Sub
SendMessage hWnd, WM_CLOSE, 0, 0
End Sub

Private Function GetWindowHWnd(WindowCaption As String, _
Optional Compare As xCompareMethod) As Long
Dim wCaption As String
Dim hWnd As Long
Dim ln As Long
If IsEmpty(Compare) Then
Compare = xTextCompare
End If
If Compare = xTextCompare Then
WindowCaption = LCase$(WindowCaption)
End If
GetWindowHWnd = 0
hWnd = GetWindow(Me.hWnd, 0)
Do While hWnd <> 0
ln = GetWindowTextLength(hWnd)
wCaption = Space$(ln)
If GetWindowText(hWnd, wCaption, ln) > 0 Then
If Compare = xTextCompare Then
wCaption = LCase$(wCaption)
End If
If InStr(wCaption, WindowCaption) <> 0 Then
GetWindowHWnd = hWnd
Exit Do
End If
End If
hWnd = GetWindow(hWnd, 2)
Loop
End Function

Private Sub Command1_Click()

' *************************
' Og sådan kan man så f.eks. gøre:
' *************************
Dim hWnd As Long
hWnd = GetWindowHWnd("Lommeregner")
If hWnd = 0 Then
MsgBox "Programmet kører ikke..."
Else
MsgBox "Programmet kører..." & vbCrLf & "Handle: " & CStr(hWnd)
MsgBox "Programmet vil nu blive lukket!"
CloseWindow hWnd
End If

End Sub


Det skal lige siges at jeg ikke har testet det helt igennem, men jeg er ret
sikker på at det virker...

- Bjarke Walling Petersen



Danlamp Teknik (24-08-2001)
Kommentar
Fra : Danlamp Teknik


Dato : 24-08-01 11:38

Jeg kan ikke få koden til at virke, er der nogle der kan hjælpe mig vider.

Henrik




"Bjarke Walling Petersen" <bwp@bwp.dk> skrev i en meddelelse
news:9m342r$1vd2$1@news.cybercity.dk...
> Danlamp Teknik skrev:
> > Hejsa
> > Jeg har brug for noget kode der kan fortælle mig om eks. Calc.exe
køre/er
> > åben.
>
> Måske kan du bruge det her:
>
>
> Private Declare Function GetWindow Lib "user32" (ByVal _
> hWnd As Long, ByVal wCmd As Long) As Long
>
> Private Declare Function GetWindowText Lib "user32" _
> Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal _
> lpString As String, ByVal cch As Long) As Long
>
> Private Declare Function GetWindowTextLength Lib "user32" _
> Alias "GetWindowTextLengthA" (ByVal hWnd As Long) _
> As Long
>
> Private Declare Function SendMessage Lib "user32" Alias _
> "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As _
> Long, ByVal wParam As Long, lParam As Any) As Long
>
> Private Const WM_CLOSE = &H10
>
> Private Enum xCompareMethod
> xBinaryCompare
> xTextCompare
> End Enum
>
> Private Sub CloseWindow(hWnd As Long)
> If hWnd = 0 Then Exit Sub
> SendMessage hWnd, WM_CLOSE, 0, 0
> End Sub
>
> Private Function GetWindowHWnd(WindowCaption As String, _
> Optional Compare As xCompareMethod) As Long
> Dim wCaption As String
> Dim hWnd As Long
> Dim ln As Long
> If IsEmpty(Compare) Then
> Compare = xTextCompare
> End If
> If Compare = xTextCompare Then
> WindowCaption = LCase$(WindowCaption)
> End If
> GetWindowHWnd = 0
> hWnd = GetWindow(Me.hWnd, 0)
> Do While hWnd <> 0
> ln = GetWindowTextLength(hWnd)
> wCaption = Space$(ln)
> If GetWindowText(hWnd, wCaption, ln) > 0 Then
> If Compare = xTextCompare Then
> wCaption = LCase$(wCaption)
> End If
> If InStr(wCaption, WindowCaption) <> 0 Then
> GetWindowHWnd = hWnd
> Exit Do
> End If
> End If
> hWnd = GetWindow(hWnd, 2)
> Loop
> End Function
>
> Private Sub Command1_Click()
>
> ' *************************
> ' Og sådan kan man så f.eks. gøre:
> ' *************************
> Dim hWnd As Long
> hWnd = GetWindowHWnd("Lommeregner")
> If hWnd = 0 Then
> MsgBox "Programmet kører ikke..."
> Else
> MsgBox "Programmet kører..." & vbCrLf & "Handle: " & CStr(hWnd)
> MsgBox "Programmet vil nu blive lukket!"
> CloseWindow hWnd
> End If
>
> End Sub
>
>
> Det skal lige siges at jeg ikke har testet det helt igennem, men jeg er
ret
> sikker på at det virker...
>
> - Bjarke Walling Petersen
>
>



Jan-Owe Fornes (26-08-2001)
Kommentar
Fra : Jan-Owe Fornes


Dato : 26-08-01 04:28

Virket fint her.

Måtte forandre :
hWnd = GetWindowHWnd("Lommeregner")
til :
hWnd = GetWindowHWnd("Calc")


Hvilken feil fikk du ?


- jOWE

"Danlamp Teknik" <danlamp@danlamp.dk> wrote in message
news:9m5beb$5rm$1@sunsite.dk...
> Jeg kan ikke få koden til at virke, er der nogle der kan hjælpe mig vider.




Danlamp Teknik (27-08-2001)
Kommentar
Fra : Danlamp Teknik


Dato : 27-08-01 06:27

Jeg har muligvis ikke fået koden placeret de rigtige steder.
Hvor meget af koden skal over i et modul og hvor meget skal ligge under
formen.

Henrik

"Jan-Owe Fornes" <jan-ofo@online.no> skrev i en meddelelse
news:v4_h7.1518$1T5.18336@news1.oke.nextra.no...
> Virket fint her.
>
> Måtte forandre :
> hWnd = GetWindowHWnd("Lommeregner")
> til :
> hWnd = GetWindowHWnd("Calc")
>
>
> Hvilken feil fikk du ?
>
>
> - jOWE
>
> "Danlamp Teknik" <danlamp@danlamp.dk> wrote in message
> news:9m5beb$5rm$1@sunsite.dk...
> > Jeg kan ikke få koden til at virke, er der nogle der kan hjælpe mig
vider.
>
>
>



Bjarke Walling Peter~ (27-08-2001)
Kommentar
Fra : Bjarke Walling Peter~


Dato : 27-08-01 16:57

Danlamp Teknik skrev:
> Jeg har muligvis ikke fået koden placeret de rigtige steder.
> Hvor meget af koden skal over i et modul og hvor meget skal ligge under
> formen.
>
> Henrik

Som jeg også skrev i den mail jeg sendte til dig, skal det hele ligge i
formens kode.

- Bjarke Walling Petersen



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste