Avatar billede zaym01 Nybegynder
02. januar 2004 - 00:24 Der er 7 kommentarer og
1 løsning

Godt i gang med win32

Hej eksperter

  Jeg vil gerne lære win 32 og læser derfor tutorialen på www.winprog.org.
  Mit problem er bare at jeg ikke synes den forklarer koderne godt nok, så derfor ville jeg lige høre om der ikke er en der gider hjælpe mig lidt med at forstå denne kode:

#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
{
    MessageBox(NULL, "Goodbye, cruel world!", "Note", MB_OK);
    return 0;
}


Det er denneher linie der driller:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)

Kan godt regne det med main og returtype ud, men jeg fatter hat af parametrerne. Er der en der gider at hjælpe?
Og så lige en lille biting. Hvad betyder handle?
Avatar billede bertelbrander Novice
02. januar 2004 - 00:37 #1
hInstance er et håndtag til den kørende instans af programmet.

hPrevInstance skal du blot ignorere, den bliver ikke brugt i Win32.

lpCmdLine er en streng (char *) der angiver hvilke parametre der blev givet til programmet da det startede.

nCmdShow fortæller hvordan brugeren synes vinduet skal åbnes (MIN/MAX/NORMAL/...), bliver oftest ignoreret.

En handle er et håndtag til et eller andet, du kan ikke bruge håndtaget til andet end at parse til funktioner. En handle er en unique ID for hver instans/vindue/bitmap/...
Avatar billede bertelbrander Novice
02. januar 2004 - 00:38 #2
grrr, nu har eksperten IGEN lavet min kommentar om til et svar, vær venlig at afvise det!
Avatar billede zaym01 Nybegynder
02. januar 2004 - 00:56 #3
Gider du ikke at forklare hInstance lidt mere detalieret. Forstår ikke helt hvad du mener
Avatar billede bertelbrander Novice
02. januar 2004 - 01:08 #4
Hvis du har flere instancer af programmet åben vil hver instans have sin egen hInstance. Alle kørende programmer/applikationer har en unique hInstance, som windows og Applikationen kan bruge som ID.

Man bruger f.ex. hInstance hvis man vil loade et resource (f.ex. en menu, et billede eller en dialog-template) der er gemt i .exe-filen.

Hvis man f.ex. skal åbne en fil-åbne dialogbox kalder man en windows funktion der gør (det meste af) arbejdet, windows skal vide hvem der "ejer" dialog boxen, det gør man ved at give hInstance til funktionen som (indirekte ) parameter.
Avatar billede zaym01 Nybegynder
02. januar 2004 - 11:45 #5
altså hInstance er en handle? Hvis ja så forstår jeg det nu
Avatar billede bertelbrander Novice
02. januar 2004 - 13:33 #6
Ja, hInstance er en handle.
Avatar billede zaym01 Nybegynder
02. januar 2004 - 13:44 #7
ok. Skal lige være sikker selvom ovenstående virker ret tydeligt. Er det ikke dig der ikke vil have point?
Avatar billede bertelbrander Novice
02. januar 2004 - 15:31 #8
Jo, det er mig der ikke vil have point, så du kan roligt acceptere dit eget svar.
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