Ga naar inhoud

form, Me.Show, Hwnd vraagje vb6


Aanbevolen berichten

De code is [code:1:a1eaac28aa] Public MyHwnd As Long Public Sub GetStaticInfo(ByVal Hwnd As Long) Dim P As Integer Dim TaskID As Long MyHwnd = Hwnd Call GetWindowThreadProcessId(MyHwnd, TaskID) Label1(11).Caption = GetClass(MyHwnd) Label1(12).Caption = MyHwnd Label1(13).Caption = TaskID Text1 = GetClass(MyHwnd) Text2 = MyHwnd Text3 = TaskID Me.Show End Sub Private Sub Command1_Click() Dim C As New Cap2 Call C.GetStaticInfo(197710) End Sub [/code:1:a1eaac28aa] waarom werkt dit wel als ik Me.Show gebruik en niet zonder Me.Show zo dat alles op z'n eigen form blijft. iemand een iedee hoe ik dit moet veranderen?
Link naar reactie
Je bent niet volledig in de vraagstelling? Mijn aannames: [code:1:f1bbb2b914]Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hWnd As Long, ByRef dwX As Long) As Long[/code:1:f1bbb2b914] De form waar je code vanaf komt heet Cap2? Als ik de boel dan start zonder GetClass functie, werkt het prima. Je nieuwe instanties Cap2 zijn gewoon hidden na de call van GetStaticInfo. Deze regel in Command1_Click is niet zo logisch: [code:1:f1bbb2b914]Call C.GetStaticInfo(197710)[/code:1:f1bbb2b914]want: [quote:f1bbb2b914]The Microsoft Windows operating environment identifies each form and control in an application by assigning it a handle, or hWnd. The hWnd property is used with Windows API calls. Many Windows operating environment functions require the hWnd of the active window as an argument. [b:f1bbb2b914]Note Because the value of this property can change while a program is running, never store the hWnd value in a variable.[/b:f1bbb2b914] [/quote:f1bbb2b914]Je codeert hier keihard een window handle? Ook nog reden voor verwarring: Doordat je een parameter genaamd hWnd gebruikt in GetStaticInfo kun je de window handle van de form niet meer benaderen. Althans niet zolang je niet Me.hWnd gebruikt.... [code:1:f1bbb2b914]Option Explicit Private Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hWnd As Long, ByRef dwX As Long) As Long Public MyHwnd As Long Public Sub GetStaticInfo(ByVal hWnd As Long) Dim P As Integer Dim TaskID As Long MsgBox Me.hWnd & " " & hWnd MyHwnd = hWnd Call GetWindowThreadProcessId(MyHwnd, TaskID) 'Label1.Caption = GetClass(MyHwnd) Label2.Caption = MyHwnd Label3.Caption = TaskID 'Text1 = GetClass(MyHwnd) Text2 = MyHwnd Text3 = TaskID Me.Show End Sub Private Sub Command1_Click() Dim C As New Cap2 Call C.GetStaticInfo(197710) End Sub [/code:1:f1bbb2b914]
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...