So I wrote a class for sprites, and a different one that contains useful functions to initialize a DirectDraw Primary Surface

class DDIniClass{

// Here I've got this function:
LPDIRECTDRAWSURFACE7 MakeSurfaceFromBmpFile(LPSTR
NameOfBmpFile);

// The function above returns a pointer to a surface created to
// 'store' the bitmap specified by f.e. "c:\\\\dummy.bmp"
}

// Now inside my Sprite Class I've got a Create Function:

class EasySprite{

BOOL Create(LPDIRECTDRAWSURFACE7 lpDDSurf);

};

// As you can see a call like

DDIniClass Screen;
EasySprite Picture; // Guess these two are global

Picture.Create(Screen.MakeSurfaceFromBmpFile(("c:\ \\\dummy.bmp"));

// The code above works fine, and I wrote some easy animations

/* ------NOW THIS IS MY QUESTION ----------*/

// Whenever I call EasySprite.Create I have to know the exact path of my bitmap file (f.e. "c:\\\\dummy.bmp");
// I must never copy the bitmap file to a different folder, or the program won't work anymore! So the successful execution of the program depends on the existence of a bitmap file located exactly in a folder where the program 'thinks' it is due to LPSTR.
// When my friend would like an animation I must tell him to create a folder for the bitmap that has exactly the same path as it had on my c:\\.
// Isn't this complicated? Is there a possibility to link the bitmap to the program so that it is 'part of the executable file', so the program will work once it is built, no matter if or where the bitmap file exists?

// -------------