WinAPI, wsuwanie i wysuwanie CD-ROMu

0

Jakiej funkcji (i biblioteki jak jest potrzebna) użyć w winAPI do wysynięcia i wsunięcia CD?

1

bylo...

http://4programmers.net/Forum/viewtopic.php?id=52786&post=132540#132540

biblioteki mmsystem bedziesz potrzebowal (libwinmm.a pod devem)

0

Pisze w Visual C++ 6.0 i dołaczyłem pod winapi takie coś...
mmsystem.h

i pisze tak:

if((komprzy==BN_CLICKED)&&(IDprzy==405)) {
mciSendString("Set cdaudio door open wait", NULL, 0 ,NULL);
}
break;

i wyvhodzi tak :-8

error LNK2001: unresolved external symbol __imp__mciSendStringA@16
Debug/czat_serw.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe</cpp>

0

And what about:

#include <Mmsystem.h>

??

0

heh...dobre ale nie oto chodziło:)

1

dolacz biblioteke.. w opcjach projektu gdzies masz liby ktore sa linkowane.. musisz tam dopisac jakas tam biblioteke mm.. wez w katalogu z libami VC++ dir mm zrob to bedziesz wiedzial jaka ;p

0

No dolinkowuje mmc.lib(nie wiem czy dobry ale taki znalazłem podobny do mmsystem.h) i nic Mój kod:

#include <windows.h> 
#include <Mmsystem.h> 
static TCHAR nazwa[]=TEXT("OKIENKO");

LRESULT CALLBACK ProcOkna(HWND uchwyt,UINT komunikat,WPARAM wParam,LPARAM lParam)
{

int IDprzy=LOWORD(wParam);		//ID przycisku
int komprzy=HIWORD(wParam);		//komunikat przycisku

  switch (komunikat)
  {


	  	case WM_COMMAND:

		if((komprzy==BN_CLICKED)&amp;&amp;(IDprzy==405)) {
			mciSendString("Set cdaudio door open wait", NULL, 0 ,NULL);
													}
		break;


        case WM_CREATE:
        //
        break;

        case WM_DESTROY:
        PostQuitMessage(0);
        break;

        case WM_KEYDOWN:
            switch (wParam)
            {
            case VK_ESCAPE:
            PostQuitMessage(0);
            break;
            }
        break;

default:
return (DefWindowProc(uchwyt,komunikat,wParam,lParam));
}
return(0L);
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) 
{ 
WNDCLASS klasaokna;
HWND uchwyt;

klasaokna.style=CS_HREDRAW | CS_VREDRAW;
klasaokna.lpfnWndProc=ProcOkna;
klasaokna.cbClsExtra = 0;
klasaokna.cbWndExtra = 0;
klasaokna.hInstance = hInstance;
klasaokna.hIcon = NULL;
klasaokna.hCursor = LoadCursor(NULL, IDC_ARROW);
klasaokna.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
klasaokna.lpszMenuName = NULL;
klasaokna.lpszClassName = nazwa;

if(RegisterClass(&amp;klasaokna)==0) return FALSE;

uchwyt=CreateWindow(nazwa,"pierwszy program w WINAPI",WS_OVERLAPPEDWINDOW,
        100, 100, 400, 300,NULL, NULL, hInstance, NULL);

CreateWindow("button","Wysun",WS_CHILD|WS_VISIBLE,
0,150,90,20,uchwyt,(HMENU)405,hInstance,NULL);

if(uchwyt==NULL) return FALSE;

ShowWindow(uchwyt,SW_SHOW);
UpdateWindow(uchwyt);

MSG komunikat;
while(GetMessage(&amp;komunikat, NULL, 0, 0))
{
TranslateMessage(&amp;komunikat);
DispatchMessage(&amp;komunikat);
}
return komunikat.wParam;
} 

1 użytkowników online, w tym zalogowanych: 0, gości: 1