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

externes Programm starten und Position festlegen

Frage Entwicklung VB for Applications

Mitglied: Haegar75

Haegar75 (Level 1) - Jetzt verbinden

29.03.2009, aktualisiert 16:59 Uhr, 7542 Aufrufe, 6 Kommentare

Hallo Leute,
ich fürchte ich stelle mich wiedereinmal ungeschickt an..
Ich möchte in einem vb.net Programm eine externe Anwendung mit Shell(...) mehrfach starten (2-4mal..) Dabei möchte ich die Fenster der Anwendungen schön nebeneinander anordnen. Hier http://www.schmittis-page.de/index.html?/excel/faq/f38.htm habe ich einen Anstaz gefunden der mir aber nicht weiterhilft, da bei allen Fenstern der Fenstertitel gleich ist.. Ich muss doch irgendwie an das Handle der Fenster kommen, denn schließlich starte ich sie ja selbst, oder? Wer weiß Rat?
Mitglied: bastla
29.03.2009 um 22:10 Uhr
Hallo Haegar75!

Da ja Shell() eine PID als Rückgabewert liefert, könntest Du anhand dieser versuchen, das entsprechende Fenster zu finden - siehe zB http://support.microsoft.com/kb/242308 oder etwa hier oder da ...

Grüße
bastla
Bitte warten ..
Mitglied: Haegar75
30.03.2009 um 19:56 Uhr
Hi,
ich schon wieder Also die obigen Beispiele habe ich probiert, aber die Funktion:

Function GetWinHandle(hInstance As Long) As Long
Dim tempHwnd As Long

' Grab the first window handle that Windows finds:
tempHwnd = FindWindow(vbNullString, vbNullString)

' Loop until you find a match or there are no more window handles:
Do Until tempHwnd = 0
' Check if no parent for this window
If GetParent(tempHwnd) = 0 Then
' Check for PID match
If hInstance = ProcIDFromWnd(tempHwnd) Then
' Return found handle
GetWinHandle = tempHwnd
' Exit search loop
Exit Do
End If
End If

' Get the next window handle
tempHwnd = GetWindow(tempHwnd, GW_HWNDNEXT)
Loop
End Function

läuft in einer Endlosschleife wenn ich es aufrufe weil tempHwnd bei jedem Durchlauf den gleichen Wert hat. Die PID stimmt, dass konnte ich im Taskmanager kontrollieren..
Jemand ne Idee?
Gruß Haegar
Bitte warten ..
Mitglied: bastla
30.03.2009 um 20:11 Uhr
Hallo Haegar75!

Nur zur Sicherheit: GW_HWNDNEXT hat den Wert 2?

Grüße
bastla
Bitte warten ..
Mitglied: Haegar75
30.03.2009 um 20:13 Uhr
Zitat von bastla:
Hallo Haegar75!

Nur zur Sicherheit: GW_HWNDNEXT hat den Wert 2?

Grüße
bastla


Genau, akkurat 2... Was könnte sonst noch schiefgehen?
Bitte warten ..
Mitglied: Haegar75
31.03.2009 um 20:42 Uhr
Die Getwindow-Funktion treibt mich in den Wahnsinn. Sämtliche Beispiele im Netz sind genauso aufgebaut, aber bei mir klappts nicht.. Habe als Alternative die Enum Windows-Funktion gefunden, blicke das aber nicht so richtig.. Hat die schon jemand benuzt?
Gruß Haegar
Bitte warten ..
Mitglied: Haegar75
03.04.2009 um 18:05 Uhr
Hi,
bin immer noch am kämpfen Habe auch mal die Findwindow-Funktion ausprobiert und bekomme die auch nicht ans laufen. Habe versucht das Fenster der calc.exe zu bekommen mit:
hWndapp = FindWindow(vbNullString, "Rechner") mit dem Resultat, dass in hWndapp egal ob das Fenster offen ist oder nicht ein negativer Longwert drinsteht der sich bei jeder Abfrage ändert. Eigentlich sollte doch 0 zurückgegeben werden wenn das Fenster nicht existiert, oder?
Gruß Haegar
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst SAP Externes Programm Parameterübergabe an Skript in Variable (2)

Frage von Erik72 zum Thema Batch & Shell ...

Windows 10
Durch einschalten des xbox one controller ein programm starten (3)

Frage von xsoerenx zum Thema Windows 10 ...

Sicherheitsgrundlagen
Programm ohne UAC und Administratorrechte starten (3)

Anleitung von agowa338 zum Thema Sicherheitsgrundlagen ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...