vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: bitte HILFE bei fertigstellung von Miniprogramm 
Autor: MiXiToLaG
Datum: 22.06.05 09:33

Hi,

Bin zwar selber Anfänger aber in dem Fall kann ich glaub ich weiterhelfen ..
Der FireFox muss nicht unbedingt den Fokus haben um beendet zu werden, das geht auch über das Fensterhandle!

Ich habe dir mal ein kleines Beispiel aus 2 Tips von hier zusammengebastelt..

Was du tun solltest:

Das
und das lesen

Dann brauchst du nur noch 2 Commandbuttons (cmdStart und cmdStop):

' zunächst die benötigten API-Deklarationen
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 Declare Function GetWindowThreadProcessId Lib _
  "user32" (ByVal hWnd As Long, lpdwProcessId As Long) _
  As Long
 
Private Declare Function FindWindow Lib "user32" _
  Alias "FindWindowA" (ByVal lpClassName As String, _
  ByVal lpWindowName As String) As Long
 
Private Declare Function GetWindow Lib "user32" _
  (ByVal hWnd As Long, ByVal wCmd As Long) As Long
 
Private Declare Function GetParent Lib "user32" _
  (ByVal hWnd As Long) As Long
 
Private Const GW_HWNDNEXT = 2
Const WM_SYSCOMMAND = &H112
Const SC_CLOSE = &HF060
Const LNULL = 0&
 
Dim lnghWnd As Long
 
Private Sub cmdStart_Click()
  Dim sFileName As String
 
  sFileName = "C:\Windows\system32\calc.exe"
  Call Shell2hWnd(sFileName)
 
  MsgBox lnghWnd
End Sub
 
Private Sub cmdStop_Click()
  Dim lRet As Long
 
  If lnghWnd <> 0 Then
    ' Fenster schließen
    lRet = SendMessage(lnghWnd, WM_SYSCOMMAND, _
      SC_CLOSE, LNULL)
  End If
End Sub
 
' Anwendung starten und Fenster-Handle zurückgeben
Private Function Shell2hWnd(ByVal sFileName As String, _
  Optional ByVal Mode As VbAppWinStyle)
 
  Dim lngAppTaskID As Long
  Dim lngProcTaskID As Long
 
  ' TaskID der zu startenden Anwendung
  lngAppTaskID = Shell(sFileName, Mode)
 
  ' Anwendung konnte nicht gestartet werden
  If lngAppTaskID = 0 Then Exit Function
 
  ' Fenster durchlaufen und nach Process-ID suchen
  lnghWnd = FindWindow(vbNullString, vbNullString)
  Do While lnghWnd <> 0
 
    ' Existiert kein Eltern-Fenster, dann ProcessID
    ' ermitteln und mit TaskID vergleichen
    If GetParent(lnghWnd) = 0 Then
      GetWindowThreadProcessId lnghWnd, lngProcTaskID
 
      ' Handelt es sich um die gesuchte TaskID?
      If lngProcTaskID = lngAppTaskID Then
        ' Fenster-Handle zurückgeben und Schleife
        ' verlassen!
        Shell2hWnd = lnghWnd
        Exit Do
      End If
 
    End If
 
    ' Nächstes Fenster
    lnghWnd = GetWindow(lnghWnd, GW_HWNDNEXT)
  Loop
End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
bitte HILFE bei fertigstellung von Miniprogramm835Phönix20.06.05 23:40
Re: bitte HILFE bei fertigstellung von Miniprogramm551Phönix20.06.05 23:41
Re: bitte HILFE bei fertigstellung von Miniprogramm479Phönix21.06.05 15:50
Re: bitte HILFE bei fertigstellung von Miniprogramm496Phönix22.06.05 05:17
Re: bitte HILFE bei fertigstellung von Miniprogramm524MiXiToLaG22.06.05 09:33
Re: bitte HILFE bei fertigstellung von Miniprogramm494MiXiToLaG22.06.05 09:53
Re: bitte HILFE bei fertigstellung von Miniprogramm515sico22.06.05 12:19
Re: bitte HILFE bei fertigstellung von Miniprogramm551Phönix22.06.05 16:04
Re: bitte HILFE bei fertigstellung von Miniprogramm496sico22.06.05 16:22
Re: bitte HILFE bei fertigstellung von Miniprogramm500pastis5525.06.05 12:43
Re: bitte HILFE bei fertigstellung von Miniprogramm513sico25.06.05 15:40
Re: bitte HILFE bei fertigstellung von Miniprogramm510MiXiToLaG26.06.05 11:08

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel