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, 3644 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 Server
Nutzungsstatistik von Remote Desktop Services Apps (2)

Frage von Hellvis zum Thema Windows Server ...

Windows 7
Windows 7 Enterprise - Default Desktop (4)

Frage von CufusedByte zum Thema Windows 7 ...

Xenserver
Remote Desktop Access - Automatischer Programmstart (14)

Frage von Ravelux zum Thema Xenserver ...

Batch & Shell
gelöst Mit Batch Datei nach Ordner benennen indem sie sich befindet? (4)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Rechtliche Fragen
Hotspot rechtssicher betreiben? (14)

Frage von xSiggix zum Thema Rechtliche Fragen ...

Server-Hardware
gelöst Empfehlung KVM over IP Switch (8)

Frage von Androxin zum Thema Server-Hardware ...