Avatar billede narrr Nybegynder
26. april 2004 - 08:53 Der er 3 kommentarer og
1 løsning

Problemer med WM_GETICON

Hejsa. Jeg vil gerne have fat i ikonet på et program der kører, men koden herunder virker ikke rigtig.. NOgen der ved hvorfor?

---
int main()
{
    POINT p={0,0};
    HWND wnd = WindowFromPoint(p);

    HICON dau = (HICON)SendMessage(wnd, WM_GETICON, ICON_SMALL, 0);

    if(!dau)
        cout << "Fejl!"<<endl;
}
---

dau bliver en null-pointer!
Avatar billede jpk Nybegynder
26. april 2004 - 08:57 #1
Hvad bliver wnd?
Er du sikker på der er et vindue, der har et icon, på punktet 0,0?
Avatar billede narrr Nybegynder
26. april 2004 - 09:01 #2
Her er lige en anden udgave:
---
int main()
{
    POINT p={0,0};
    HWND wnd = WindowFromPoint(p);
    char buf[128] = {0};
    GetWindowText(wnd, buf, 128);
    cout << buf << endl;


    HICON dau = (HICON)SendMessage(wnd, WM_GETICON, ICON_SMALL, 0);

    if(!dau)
        cout << "fuckup"<<endl;
}
---

output:
---
test - Microsoft Visual C++ [design] - main.cpp
fuckup
Press any key to continue
---
Avatar billede narrr Nybegynder
26. april 2004 - 09:12 #3
Øøh ja, hvis jeg bruger PostMessage i stedet, så får jeg ikke en null-pointer(hvorfor mon det?).

Jeg fandt også en side, hvor der var nogle alternativer til WM_GETICON: http://thewonderfulicon.com/pages/faqs.htm

Som fx GetClassLong.
Avatar billede narrr Nybegynder
09. juli 2007 - 15:26 #4
lukker
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
Kurser inden for grundlæggende programmering

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