| 12
 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