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, 2152 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 ..
Ähnliche Inhalte
Windows Server
gelöst Https-Verbindung nur über Internet-Explorer (21)

Frage von Leo-le zum Thema Windows Server ...

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 ...

Heiß diskutierte Inhalte
Router & Routing
Tipps für Router (ca. 100 clients, VPN) (18)

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

Windows 7
BOOTMGR is missing (auch nach bootrec -RebuildBcd) (16)

Frage von Mipronimo zum Thema Windows 7 ...

TK-Netze & Geräte
gelöst Convert von TAPI auf CAPI gesucht (13)

Frage von StefanKittel zum Thema TK-Netze & Geräte ...