WinAPI funktion ShowWindow.. komisches verhalten
-
Habe ein VB .NET 1.1 Anwendung in der ich ShowWindows API funktion verwende
Declare Function ShowWindow Lib "user32" Alias "ShowWindow" ( _ ByVal hwnd As Long, _ ByVal nCmdShow As Long) As Long
wenn ich im konstruktor meine Form
ShowWindow(Me.Handle.ToInt64,1);
oder
ShowWindow(Me.Handle.ToInt64,5);
aufrufe, wird das fenster unsichbar gemacht, obwohl dies eigentlich nur bei 0 geschehen sollte ...
-
Hi Boris,
Deine Typen sind falsch. 'Long' hat, wie Du schon bemerkt hast, die Breite 64 Bit. Die Parameter der Funktion sind aber vom Typ DWORD, also 32 Bit. Besser ist es sogar, wenn Du den ersten Parameter als IntPtr deklarierst und übergibst, das ist intern nämlich ein HWND und der kann unter einigen Systemen breiter sein, nämlich AFAIR 96 Bit (stimmt das?), jedenfalls die gleiche Breite wie ein System.IntPtr.
Übrigens würde ich Dir vorschlagen, Deine VB-Fragen doch in einem VB-Forum zu stellen, z.B. auf ActiveVB.
Zurück zum Problem, deklarier die Funktion so:
Declare Function ShowWindow Lib "kernel32"(hwnd As IntPtr, showCmd As Int32) As Boolean
und ruf sie so auf:
ShowWindow(Me.Handle, 5)
Am besten ist es aber, Du führst ein Enum für die möglichen Show-Kommandos ein.