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
GELÖST

C-Sharp - Internet-Explorer-Instanzen aus SHDocVW.ShellWindowsClass() auslesen

Frage Entwicklung C und C++

Mitglied: mabue88

mabue88 (Level 2) - Jetzt verbinden

03.05.2014, aktualisiert 16:15 Uhr, 2125 Aufrufe, 2 Kommentare

Hallo,

in einem C#-Programm muss ich die Instanzen der aktuell in Windows geöffneten Internet-Explorer einlesen.

Folgenden Code verwende ich bislang dafür:
01.
static SHDocVw.InternetExplorer[] getIEWindows() 
02.
03.
    // Anzahl der IE-Fenster ermitteln 
04.
    int anzahl_ie = 0; 
05.
    foreach (SHDocVw.InternetExplorer ie in new SHDocVw.ShellWindowsClass()) 
06.
        anzahl_ie++; 
07.
 
08.
    // Array für die Aufnahme der IE-Fenster mit Länge 0 anlegen 
09.
    SHDocVw.InternetExplorer[] ie_windows = new SHDocVw.InternetExplorer[anzahl_ie]; 
10.
 
11.
    int zaehler = 0; 
12.
    foreach (SHDocVw.InternetExplorer ie in new SHDocVw.ShellWindowsClass()) 
13.
14.
        ie_windows[zaehler] = ie; 
15.
        zaehler++; 
16.
17.
 
18.
    return ie_windows 
19.
} 
Der Code funktioniert soweit.
Aber ich habe mich gefragt, ob ich aus "SHDocVw.ShellWindowsClass()" nicht direkt nur die Internet Explorer-Fenster abfragen und diese direkt in ein Array schreiben kann?! Das mehrmalige Durchlaufen der "SHDocVw.ShellWindowsClass()" gefällt mir nicht so richtig...

Danke
mabue
Mitglied: colinardo
LÖSUNG 03.05.2014, aktualisiert um 16:15 Uhr
Hallo mabue,
dann nehme anstatt eines statischen Arrays in dem du die Instanzen speicherst einfach ein dynamisches Array (z.B. eine ArrayList()) dem du die Instanzen direkt hinzufügen kannst ohne erst die Größe ermitteln zu müssen, dann benötigst du nur eine Schleife.

ArrayList ie_windows = new ArrayList();
und dann die Instanz innerhalb einer einzigen Schleife so zum Array hinzufügen:
ie_windows.Add(ie);
Eine Methode die direkt nur Handles von spezifischen Fenstern zurückgibt lässt sich mit den Win32 APIs machen: http://stackoverflow.com/questions/2238609/c-sharp-get-handles-to-all-w ...

Grüße Uwe
Bitte warten ..
Mitglied: mabue88
03.05.2014 um 16:22 Uhr
Hallo colinardo,

Volltreffer! Sowas habe ich gesucht! Danke!

Gruss
mabue
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Installation
gelöst Adobes Flash Player für den Internet Explorer schlägt mit Fehler 1722 fehl (10)

Frage von iGordon zum Thema Windows Installation ...

Windows Update
Microsoft Update Katalog ohne Internet Explorer nutzen (2)

Tipp von colinardo zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...

DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...