Jakiej funkcji (i biblioteki jak jest potrzebna) użyć w winAPI do wysynięcia i wsunięcia CD?
bylo...
http://4programmers.net/Forum/viewtopic.php?id=52786&post=132540#132540
biblioteki mmsystem bedziesz potrzebowal (libwinmm.a pod devem)
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>
And what about:
#include <Mmsystem.h>
??
heh...dobre ale nie oto chodziło:)
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
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)&&(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(&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(&komunikat, NULL, 0, 0))
{
TranslateMessage(&komunikat);
DispatchMessage(&komunikat);
}
return komunikat.wParam;
}