Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Probleme bei API-Aufrufen bei der Portierung von VB6-Code nach VB.NET

Frage Entwicklung Visual Studio

Mitglied: MarcoBorn

MarcoBorn (Level 1) - Jetzt verbinden

05.09.2012 um 13:11 Uhr, 3278 Aufrufe, 4 Kommentare

Hallo Forum,
folgenden VB-Code habe ich aus Herber's Excel-Forum (http://www.herber.de/forum/archiv/792to796/t792649.htm):

Option Explicit
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 GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" (ByVal hwnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

Private FensterRegion&, Region&
Private Hauptfensternummer&, Clientfensternummer&
Private dummy As Long

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Sub UserForm_Initialize()
Call FensterOhneKopf
End Sub

Sub FensterOhneKopf()
Dim Abmessung As RECT
Dim Abmessung1 As RECT
Dim Pos1x&, Pos1y&, Pos2x&, Pos2y&
If FensterRegion <> 0 Then Exit Sub
UserForm1.BorderStyle = fmBorderStyleSingle
Call Fensternummer(UserForm1, Abmessung, Abmessung1)
Pos1x = 0
Pos1y = (Abmessung1.Top - Abmessung.Top)
Pos2x = Abmessung.Right - Abmessung.Left
Pos2y = Abmessung.Bottom - Abmessung.Top
FensterRegion = SetWindowRgn(Hauptfensternummer, CreateRectRgn(Pos1x, Pos1y, Pos2x, Pos2y), True)
End Sub

Private Sub Fensternummer(Form As Object, Abmessung As RECT, Abmessung1 As RECT)
Dim Fenstername$, Suchstring$
Suchstring = "UserForm ohne Titelzeile"
Fenstername = Form.Caption
Form.Caption = Suchstring
Hauptfensternummer = FindWindow(vbNullString, Suchstring)
Form.Caption = Fenstername
Clientfensternummer = GetWindow(Hauptfensternummer, 5)
dummy = GetWindowRect(Hauptfensternummer, Abmessung)
dummy = GetWindowRect(Clientfensternummer, Abmessung1)
End Sub


Ich versuche, das Ganze nach VB.NET zu portieren, bekomme aber beim Aufruf von
"dummy = GetWindowRect(Hauptfensternummer, Abmessung)" folgende Fehlermeldung:
"Der Wert vom Typ "Long" kann nicht in "System.Runtime.InteropServices.HandleRef" konvertiert werden."

Die API-Funktionen habe ich jeweils gemäß der Syntax von www.pinvoke.net deklariert. Auch die RECT-Struktur ist neu deklariert worden. Scheinbar liegt das Problem an RECT-Struktur, die laut VB Long-Variablen zurückliefert, obwohl dort alle Eigenschaften als Integer gesetzt sind. Kann mir hier jemand weiterhelfen?

Vielen Dank,
M. Born
Mitglied: MonoTone
05.09.2012 um 14:38 Uhr
Was genau willst du eigentlich damit in .NET erreichen?
Bei einer .NET Windows Form das X oben entfernen?
Wenn ja, dann haben .NET Forms eine Eigenschaft ControlBox.
Diese auf False gesetzt und das X ist weg.
Bitte warten ..
Mitglied: MarcoBorn
05.09.2012 um 15:04 Uhr
Ich will die komplette Titelzeile entfernen, nicht nur das X.
Bitte warten ..
Mitglied: MonoTone
05.09.2012, aktualisiert um 15:15 Uhr
Setze FormBorderStyle auf "None".

Dann ist alles weg.

Alternativ:
http://stackoverflow.com/questions/1394197/show-or-hide-a-title-bar-on- ...
Bitte warten ..
Mitglied: MarcoBorn
05.09.2012 um 15:45 Uhr
Vielen Dank, der Weg mit "FormBorderStyle=None" macht genau das, was ich gesucht habe. Jetzt kann ich endlich die ganzen APIs entfernen.
Bitte warten ..
Ähnliche Inhalte
Visual Studio
VB.Net und DHCP Server Management API
gelöst Frage von emeriksVisual Studio1 Kommentar

Hallo, ich versuche unter VB.Net 2012 einen DHCP-Server remote abzufragen (Windows 2008 R2 SP1). Dazu verwende ich die DHCP ...

Visual Studio
VB.Net Keys-Code für die Hashtag-Taste
gelöst Frage von Aicher1998Visual Studio12 Kommentare

Hallo ich suche den KeyCode für die Taste # bzw ' Ich hab auch schon gegoogelt, aber nix gefunden ...

Visual Studio
Probleme mit mehrdimensionalen Arrays in VB.NET
gelöst Frage von MarcoBornVisual Studio10 Kommentare

Hallo Forum, ich versuche gerade, in VB.NET ein mehrdimensionales Array zu definieren, dann mit Werten zu füllen und anschließend ...

Apache Server
Probleme mit Aufruf von index.php
gelöst Frage von Wid0kejApache Server2 Kommentare

Hi Freunde! Auf einem strato server (testzwecke) habe ich mir domäne mytestdomain.de eingerichtet und dazu mongodb server. Jetzt brauche ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 14 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 16 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Batch & Shell
Neuste Datei via PowerShell kopieren
gelöst Frage von kaiuwe28Batch & Shell11 Kommentare

Hallo zusammen, ich hatte mir mit Hilfe der Suche im Forum einen kleinen Code von colinardo rausgesucht und versucht ...