Avatar billede thomas_fogh Nybegynder
07. august 2006 - 14:23 Der er 13 kommentarer og
1 løsning

Windows Title for explorer.exe

Jeg skal have fat i alle window title's for alle processer, men for explorer.exe (My computer) er den tom.

Hvordan får fat i den?
Avatar billede mcgoat Nybegynder
07. august 2006 - 16:58 #1
hmm.. tror vist ikke alle processer har en title. heh.. kan først teste det i morgen dog, har ikke C# på denne computer :(
Avatar billede thomas_fogh Nybegynder
08. august 2006 - 07:26 #2
Er der ikke en måde man kan finde stien som er åbnet i explorer?
Og evt. om explorer er sat til at vise hele stien i window titlen?
Avatar billede mcgoat Nybegynder
08. august 2006 - 09:38 #3
skal lige være helt med hvad du mener.. explorer.exe er jo egentlig "2" ting. Det er din GUI/skrivebordet.. men hvis du går i start->kør og kører den åbner den stifinder. hvilken en mener du? :)
Avatar billede thomas_fogh Nybegynder
08. august 2006 - 09:52 #4
stifinder :)
Avatar billede mcgoat Nybegynder
08. august 2006 - 09:54 #5
prøver at se om jeg kan bixe noget sammen :)
Avatar billede mcgoat Nybegynder
08. august 2006 - 10:29 #6
hmm... ser lidt nasty ud.. for stifinder er vel egentlig bare en "form" som kører under explorer.exe, ikke et program i sig selv.. Så man skal vel ind og finde "childs" til explorer.exe.... hmmm... kigger lidt på det, men forvent ikke for meget :)
Avatar billede mcgoat Nybegynder
08. august 2006 - 11:46 #7
fandt ud af "noget" ... prøv at køre explorer.exe og kør dette program.. er nok ikke liiiige det du vil have. men kig på det :P


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        [DllImport("user32.dll")]
        public static extern int FindWindow(string lpClassName, string lpWindowName);

        [DllImport("User32.dll")]
        public static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount);


        private void button1_Click(object sender, EventArgs e)
        {
            // ExploreWClass er den klasse Stifinder bruger
            int hWnd = FindWindow("ExploreWClass", null);
            StringBuilder sb = new StringBuilder(256);
            GetWindowText((IntPtr)hWnd, sb, 256);
            Form1.ActiveForm.Text = sb.ToString();
        }
    }
}
Avatar billede mcgoat Nybegynder
08. august 2006 - 11:48 #8
det er hvis man kører explorer.exe(stifinder), hvis man går ind i denne computer er det en "CabinetWClass" ... ved sq ikke helt selv hvordan det hænger sammen.
Avatar billede mcgoat Nybegynder
08. august 2006 - 12:17 #9
ellers skal du nok ud i noget EnumWindows og EnumChildWindows som du kan slå op på nettet, de vil kunne gå ind og finde alle "objects" som explorer har. Har også selv rodet lidt med det, men det er lidt noget gejl :P
Avatar billede thomas_fogh Nybegynder
08. august 2006 - 12:46 #10
Jeg har prøvet med "ExploreWClass" og det virker fint. Jeg bruger dog FindWindowEx for at få fat på alle sammen:

// ExploreWClass er den klasse Stifinder bruger
int hWnd = FindWindowEx(0, 0, "ExploreWClass", null);
StringBuilder sb = new StringBuilder(256);
GetWindowText((IntPtr)hWnd, sb, 256);
this.Text = sb.ToString();
// ExploreWClass er den klasse Stifinder bruger
hWnd = FindWindowEx(0, hWnd, "ExploreWClass", null);
sb = new StringBuilder(256);
GetWindowText((IntPtr)hWnd, sb, 256);
this.Text = sb.ToString();

Tak for hjælpen! Lav lige et svar, så får du nogle points...
Avatar billede mcgoat Nybegynder
08. august 2006 - 12:58 #11
Jamen det var da så lidt :)

må man egnetlig spørge hvilket program du er ved at lave? :)
Avatar billede thomas_fogh Nybegynder
08. august 2006 - 13:10 #12
Ja, selvfølgelig :)

Jeg er ved at lave en taskbar til min skærm som er tilsluttet min bærbar.
Det eneste gratis program jeg kunne finde var for dårlig, og jeg vil ikke give 40$ for UltraMon. ;)
Avatar billede mcgoat Nybegynder
08. august 2006 - 14:59 #13
De har ellers lavet en SDK http://www.realtimesoft.com/ultramon/developers.asp

Ligger nogle sampels til forskellige sprog. incl C#.. men er selvfølgelig sjovere at lave det hele selv :)
Avatar billede thomas_fogh Nybegynder
08. august 2006 - 15:03 #14
Præcis ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Netcompany A/S

IT Consultant

Banedanmark

Systemarkitekt

Nextway Software A/S

Product Configuration Specialist

Banedanmark

License Manager

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Bliv en del af vores nye mobiludviklingsteam i Cyberdivisionen i Hvidovre