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, 3637 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 ..
Ähnliche Inhalte
Windows 10
Parallels Desktop - Netzwerk Scan - HP Drucker (6)

Frage von Nikl45 zum Thema Windows 10 ...

Batch & Shell
Batch Übung zum Desktop Switchen (7)

Anleitung von TechnoX zum Thema Batch & Shell ...

Windows 7
gelöst Win7 Enterprise Desktop mit Lizenz-Software? (4)

Frage von Snowman25 zum Thema Windows 7 ...

Windows 7
gelöst Desktop-Raster ändern (1)

Frage von 132232 zum Thema Windows 7 ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (21)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (20)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (18)

Frage von Pandreas zum Thema Windows Userverwaltung ...

Exchange Server
gelöst MS Exchange 2016 - Basicconfig Fragen (16)

Frage von maddig zum Thema Exchange Server ...