vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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

VB.NET - Fortgeschrittene
Problem mit CallWindowProc 
Autor: rub
Datum: 14.01.09 17:34

Hallo,

Ich würde gerne ein Programm schreiben, welches andere Programme überwacht, also prüft, ob diese laufen oder ob sich eines aufgehängt hat.

Dachte das das über das senden einer Nachricht an die Application / Fenster funktionieren sollte.
Jetzt funktioniert das mit CallWindowProc leider nicht so wie ich mir das vorgestellt habe, bzw. kommt die Nachricht nicht beim Fenster an.

Zudem habe ich noch nicht begriffen, für was der erste Parameter der Funktion benutzt wird.

Und funktioniert das überhaupt, oder würdet Ihr mir einen anderen Weg empfehlen?

    Declare Function CallWindowProc Lib "user32.dll" _
  Alias "CallWindowProcA" ( _
  ByVal lpPrevWndFunc As Long, _
  ByVal hWnd As Long, _
  ByVal Msg As Long, _
  ByVal WParam As Long, _
  ByVal lParam As Long) As Long
 
    Declare Function FindWindow Lib "user32.dll" _
  Alias "FindWindowA" ( _
  ByVal lpClassName As String, _
  ByVal lpWindowName As String) As Long
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
        Dim WM_QUERYENDSESSION As Integer = &H11
        Dim hwnd As Long
        'Für Testzwecke wird der name der aktuellen Form benutzt
        hwnd = FindWindow(Me.Name, vbNullString)
        Dim x As Long = CallWindowProc(0, hwnd, WM_QUERYENDSESSION, 0, 0)
        If x <> 0 Then
            MsgBox("")
        End If
    End Sub
 
    Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
        Dim WM_QUERYENDSESSION As Integer = &H11
        If m.Msg = WM_QUERYENDSESSION Then
            MsgBox("Close")
            Me.Close()
        End If
        MyBase.WndProc(m)
    End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Problem mit CallWindowProc937rub14.01.09 17:34
Re: Problem mit CallWindowProc558mändler15.01.09 09:54
Re: Problem mit CallWindowProc520rub15.01.09 11:39

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