27. januar 2003 - 14:42Der er
6 kommentarer og 1 løsning
Liste over kørende vinduer, hvordan ?
Jeg står og skal bruge en liste over de vinduer der kører, dvs. titlen på vinduet, IKKE navnet på .exe filen, og ikke .dll'er osv. Jeg havde forestillet mig noget med enumProcesses, men af underlige grunde kan jeg ikke compile pga. psapi.lib der er i udu. Så kom jeg til at tænke på at enumProcesses kun giver mig filnavnet og det er jo reelt ikke det jeg skal bruge, så måske er der en anden løsning ?
Listen må gerne stoppes i en combobox eller listbox, men for min skyld må i også gerne lave noget kode der bare hælder den i et char-array eller en AnsiString, så skal jeg nok selv rode det rundt :)
GetNextWindow(); giver den her fejl: [C++ Error] Unit1.cpp(19): E2219 Wrong number of arguments in call of macro 'GetNextWindow'. Nu spørger jeg så mig selv om det virkelig kan passe at det er en makro ?
Glem det med fejlen, det har jeg løst, MEN: når jeg kører følgende, giver GetNextWindow NULL i første gennemløb: HWND handle = GetDesktopWindow(); char tekst[100]; do { handle = GetNextWindow(handle, GW_HWNDNEXT); GetWindowText(handle, tekst,100); Memo1->Lines->Add(tekst); } while (handle != NULL); hvorfor får jeg kun et gennemløb når jeg har 7-8 vinduer åbne ? (bl.a. mapper, og iexplore)
Well jeg må nok indrømme at jeg ikke kan få den funktion til at virke, den skal bruge en pointer til EnumWindowsProc (hvis jeg husker rigtigt, kiggede på den for ca. 15-30 min. siden) og det kan jeg altså ikke helt hitte ud af - æv.
Men jeg fik det med getnextwindow til at virke, MEN det giver også undervinduer i programmerne etc. og det duer ikke, jeg skal kun have de som ligger i taskbar. Men jeg tænkte på om man kan få et handle fra et filnavn (såfremt filen kører), for så kunne jeg (hvis nogen kan hjælpe mig med at få psapi til at virke) gå den vej.
Du må dog meget gerne sætte noget kode sammen der kører enumchildwindows, så jeg kan se om den kan klare opgaven. Jeg sætter lige point op.
Jeg har lige lavet et lille eksempel, der godt nok bruger MFC, men du kan sikkert se meningen... Jeg ved ikke om det fungerer som du vil have det, men jeg sorterer alle vinduer fra, der ikke er synlige.
Well jeg fandt endelig ud af noget funktionelt (lavede lidt om på dit eksempel), så mange tak :)
Synes godt om
Ny brugerNybegynder
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.