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, 7645 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst SAP Externes Programm Parameterübergabe an Skript in Variable (2)

Frage von Erik72 zum Thema Batch & Shell ...

Sicherheitsgrundlagen
Programm ohne UAC und Administratorrechte starten (3)

Anleitung von agowa338 zum Thema Sicherheitsgrundlagen ...

PHP
Bestimmte Dinste auf Klick beeden oder starten? (4)

Frage von bob777 zum Thema PHP ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(8)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Userverwaltung
gelöst Nicht Admins erlauben Verknüpfungen zu löschen (17)

Frage von WinLiCLI zum Thema Windows Userverwaltung ...

Windows Update
gelöst WSUS Produkte weiter einschränken (11)

Frage von thaefliger zum Thema Windows Update ...