1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
int wmId, wmEvent;
PAINTSTRUCT ps;
HINSTANCE hInstance2=NULL;
Communication* T_COM=NULL;//COM_read=NULL;
Communication* T_COM2=NULL;//COM_write=NULL;
unsigned char** Data=NULL;
wchar_t* port=NULL;
wchar_t* DataToPrint=NULL;
DWORD dwIndex;
LPMEASUREITEMSTRUCT lpmis;
LPDRAWITEMSTRUCT lpdis;
TEXTMETRIC tm;
HDC hdc;
int x;
int y;
HRESULT hr;
size_t * pcch;
int i=0,j=0;
int nbTag=0;
switch (message)
{
case WM_COMMAND:
wmId = LOWORD(wParam);
wmEvent = HIWORD(wParam);
// Parse the menu selections:
if (wParam == 524288){// || wParam==262144){
initcb(hWnd);
}
switch (wmId)
{
case IDM_ABOUT:
DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
break;
case IDM_NEW:
lsthWnd = CreateWindowEx(WS_EX_CLIENTEDGE, L"LISTBOX", L"Treeview", WS_VISIBLE|WS_CHILD|LBS_SORT|LBS_NOTIFY|\
WS_HSCROLL|WS_VSCROLL, 10, 10, 750, 500, hWnd, NULL, hInst, NULL);
CB = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, L"COMBOBOX", L"", WS_VISIBLE|WS_CHILD|CBS_AUTOHSCROLL|\
CBS_DISABLENOSCROLL|CBS_HASSTRINGS|CBS_SORT|CBS_DROPDOWN, 760, 10 , 150, 200, hWnd, NULL,
hInst, NULL);
if (lsthWnd == NULL || CB == NULL)
{
MessageBox(hWnd, L"Erreur lors de la création de la ListBox.", L"Erreur", MB_OK);
return 0;
}
UpdateWindow(hWnd);
SendMessage(CB, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)L"COM1");
SendMessage(CB, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)L"COM2");
SendMessage(CB, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)L"COM3");
SendMessage(CB, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)L"COM4");
SendMessage(CB, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)L"COM5");
SendMessage(CB, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)L"COM6");
SendMessage(CB, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)L"COM7");
SendMessage(CB, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)L"COM8");
SendMessage(CB, CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)L"COM9");
// Sélectionne le premier par défaut
SendMessage(CB, CB_SETCURSEL, (WPARAM)0, 0);
UpdateWindow(CB);
break;
case IDM_EXIT:
DestroyWindow(hWnd);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
break;
case WM_SNIF:
port=(wchar_t*)wParam;
T_COM=new Communication( _T("COM4"),READ);//avant GENERIC_READ
T_COM2=new Communication( _T("COM4"),WRITE);//avant GENERIC_WRITE
T_COM2->initCOMConnection();//ajout
T_COM->initCOMConnection();//ajout
if(T_COM->GetCOMStatut()!=MS_CTS_ON)
if(T_COM->initCOMConnection()!=0)//!=NULL marche pas non plus.
{
MessageBox(hWnd,L"This Port is unavailable",L"reading error",0);//le pb acteul c'est
break;//que je passe systematiquement dans cette boucle
}
while(1){
if(i==100){
Data=(unsigned char**)realloc(Data,sizeof(unsigned char[5])*nbTag+1);
for(j=0;j<5;i++){
Data[j]=NULL;
if(T_COM->ReadOnCom(Data[j])==0){
nbTag++;
}
}
}
else{
i++;
}
T_COM2->WriteOnCom("$");
}
break; |
Partager