Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Herausfinden, ob sich ein Fenster auf dem Desktop befindet

Frage Entwicklung Basic

Mitglied: joerns

joerns (Level 1) - Jetzt verbinden

16.09.2006, aktualisiert 18.09.2006, 3630 Aufrufe, 3 Kommentare

(Visual Basic)

Hallo ihr Experten!

bei Visual Basic gibt es ja die Funktion
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
auf jeden Fall kann man das Fenster damit "woanders hinsetzen", also z.b. in ein bild bzw. alles was eine Hwnd hat. Dann gibt es noch die Funktion
Private Declare Function GetParent Lib "user32" (ByVal hWnd As Long) As Long
mit der man das Übergeordnete Fenster rausfinden kann. doch irgendwie klappt es bei mir nicht, damit herauszufinden, ob das fenster auf dem Desktop liegt. Ich bekomme immer nur den Rückgabewert 0. Kann mir jemand helfen?

thx
js
Mitglied: MacBest
17.09.2006 um 10:24 Uhr
Hallo JS,

die von Dir genannten Funktionen haben nichts mit der Sichtbarkeit zu tun. Bei dem Hauptfenster einer Anwendung wird Dir GetParent stets anzeigen, dass es keinen Parent mehr hat. (Er könnte aber sehr wohl noch einen Owner haben.) Durch Abfragen des WS_VISIBLE-Flags erfährst Du, was Du suchst. Das geht natürlich mit GetWindowLong. Für die Abfrage dieses Flags gibt es aber sogar eine eigene Funktion, und zwar IsWindowVisible. Falls Dir die Deklaration fehlen sollte, besorg Dir bitte den ApiViewer.
Bitte warten ..
Mitglied: joerns
17.09.2006 um 22:06 Uhr
nee darum geht es mir nicht
ich will nur herausfinden, ob sich das fenster, das ich in ein anderes gesetzt habe, noch dort befindet oder sich vielleicht auf den desktop zurückgesetzt hat (sowas solls schon geben).
Aber ich glaube ich mach es andersrum: Ich lass mir alle Childs (müssten doch eigentlich Children heissen...) von dem Fenster, wo ich es reingesetzt hab anzeigen. Wenn es nicht dabei ist, stimmt wohl was nicht...
js
Bitte warten ..
Mitglied: MacBest
18.09.2006 um 00:09 Uhr
JS,

dann sieht es so aus, dass Du die Parent-Child-Relation nicht korrekt setzt. Aber das dürfte Dir inzwischen EnumChildWindows gezeigt haben. Der Punkt ist, dass der einfache Aufruf von SetParent allein nicht genügt, damit die neue Relation korrekt registriert wird. Du musst vorher den Fensterstil WS_CHILD via SetWindowLong setzen.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Virtualisierung
OpenSource Desktop-Virtualisierung für Thin-Clients (7)

Frage von Fenris14 zum Thema Virtualisierung ...

Windows Server
RemoteApp Fenster kommt nicht in den Vordergrund (1)

Frage von thomasreischer zum Thema Windows Server ...

Windows Server
Windows Server 2008 R2 Aero-Design auf Remote Desktop geht nicht (3)

Frage von Motherboard33 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...