亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? proppage.cpp

?? Windows 2000/Xp虛擬串口(null modem cable)
?? CPP
字號:
//
// ComEmulDrv property page
//
// Copyright (c) 2002 
// MixW team
// http://www.mixw.net
//

#include "stdafx.h"
#include "resource.h"
#include "PropPage.h"

#define MAXPORT 255
#define MAXPAIR 10
#define MIXREGKEY "SYSTEM\\CurrentControlSet\\Services\\MixWComEmul"

HINSTANCE       hInst;
/*
typedef struct {
    HKEY    drvConfigKey;
    BOOL    drvConfigKeyValid;
    HKEY    svcConfigKey;
    BOOL    svcConfigKeyValid;

    ULONG   timeoutScaling;
    ULONG   statusLines;
    ULONG   activeConnectOnly;

    ULONG   oldTimeoutScaling;
    ULONG   oldStatusLines;
    ULONG   oldActiveConnectOnly;


} PP_PARAMS_STRUCT;
*/
//char sNumber1[10] = "101", sNumber2[10] = "102";

int m_iCom1[MAXPAIR], m_iCom2[MAXPAIR];

BOOL WINAPI DllMain(HINSTANCE hDll, DWORD dwReason, LPVOID lpReserved)
{
    switch (dwReason)
    {
        case DLL_PROCESS_ATTACH:
            hInst = hDll;
            DisableThreadLibraryCalls(hDll);

            break;

        case DLL_PROCESS_DETACH:
            break;

        default:
            break;
    }

    return TRUE;
}

BOOL CALLBACK PropDialogProc(HWND hwnd, UINT uMessage, WPARAM  wParam, LPARAM  lParam);
UINT CALLBACK PropPageCallback(HWND hwnd, UINT uMsg, LPPROPSHEETPAGE pPsp);


void ReadConfig(HWND hwnd)
{
    HKEY        Key;

//MessageBox(0,"rc1","",0);
    
	if (RegOpenKey(HKEY_LOCAL_MACHINE,
                   MIXREGKEY,
                   &Key) != ERROR_SUCCESS)
				   return;

	DWORD Len;

/*
    if (RegQueryValue(Key, "1", sNumber1, &Len) != ERROR_SUCCESS || Len<=0)
		strcpy(sNumber1,"201");

	Len = 10;
    if (RegQueryValue(Key, "2", sNumber2, &Len) != ERROR_SUCCESS || Len<=0)
		strcpy(sNumber2,"202");
*/

	char s[100],ss[20]="Pair";
	for (int i=0; i<MAXPAIR; i++)
	{
		itoa(i+1,ss+4,10);
		strcat(ss,"-Port1");

		Len = 9;
		if (RegQueryValueEx(Key, ss, 0,0, (BYTE*)s, &Len) != ERROR_SUCCESS)
			strcpy(s,"0");
		m_iCom1[i] = atoi(s);
		
		if (m_iCom1[i]<0 || m_iCom1[i]>MAXPORT)
			m_iCom1[i] = 0;

		itoa(i+1,ss+4,10);
		strcat(ss,"-Port2");

		Len = 9;
		if (RegQueryValueEx(Key, ss, 0,0, (BYTE*)s, &Len) != ERROR_SUCCESS)
			strcpy(s,"0");
		m_iCom2[i] = atoi(s);

		if (m_iCom2[i]<0 || m_iCom2[i]>MAXPORT)
			m_iCom2[i] = 0;
	}

	RegCloseKey(Key);

//MessageBox(0,"rc2","",0);

//	MessageBox(0,sNumber1,"",0);
//	MessageBox(0,sNumber2,"",0);
}

void WriteConfig(HWND hwnd)
{
    HKEY        Key;

//MessageBox(0,"rc1","",0);
    
	if (RegOpenKey(HKEY_LOCAL_MACHINE,
                   MIXREGKEY,
                   &Key) != ERROR_SUCCESS)
				   return;

	char s[100],ss[20]="Pair";
	for (int i=0; i<MAXPAIR; i++)
	{
		itoa(i+1,ss+4,10);
		strcat(ss,"-Port1");
		itoa(m_iCom1[i],s,10);

	    RegSetValueEx(Key, ss, NULL, REG_SZ,
		              (BYTE*)s, strlen(s));
	
		itoa(i+1,ss+4,10);
		strcat(ss,"-Port2");
		itoa(m_iCom2[i],s,10);

		RegSetValueEx(Key, ss, NULL, REG_SZ,
                      (BYTE*)s, strlen(s));

	}

	RegCloseKey(Key);
}

BOOL WINAPI MixPropPageProvider(LPVOID pInfo, LPFNADDPROPSHEETPAGE addProc,
                                                LPARAM lParam)
{
    PROPSHEETPAGE       psp;
    HPROPSHEETPAGE      hpsp;


//    PP_PARAMS_STRUCT*   pParams;


//    pParams = (PP_PARAMS_STRUCT*)LocalAlloc(LPTR, sizeof(PP_PARAMS_STRUCT));
//    if (pParams == NULL)
//        return FALSE;
/*
    ReadConfig(pParams);
*/

    psp.dwSize      = sizeof(PROPSHEETPAGE);
    psp.dwFlags     = PSP_USECALLBACK;
    psp.hInstance   = hInst;
    psp.pszTemplate = MAKEINTRESOURCE(IDD_PROPPAGE);
    psp.pfnDlgProc  = PropDialogProc;
    psp.lParam      = 0; //(LPARAM)pParams;
    psp.pfnCallback = PropPageCallback;

    hpsp = CreatePropertySheetPage(&psp);
    if (hpsp == NULL)
        return FALSE;

    if (!(*addProc)(hpsp, lParam))
    {
        DestroyPropertySheetPage(hpsp);
        return FALSE;
    }

    return TRUE;
}

UINT CALLBACK PropPageCallback(HWND hwnd, UINT uMsg, LPPROPSHEETPAGE pPsp)
{
//    PP_PARAMS_STRUCT*   pParams;

    
    if (uMsg == PSPCB_RELEASE)
    {
/*
        pParams = (PP_PARAMS_STRUCT*)pPsp->lParam;

        if (pParams->drvConfigKeyValid)
            RegCloseKey(pParams->drvConfigKey);

        if (pParams->svcConfigKeyValid)
            RegCloseKey(pParams->svcConfigKey);
        LocalFree(pParams);
*/
    }

    return TRUE;
}

void CheckSettings(HWND hwnd)
{
	BOOL bW1 = FALSE;
	char s[1000] = "";

	for (int i=0; i<MAXPAIR; i++)
	{
		BOOL bWarning = FALSE;

		if ((m_iCom1[i] && (!m_iCom2[i])) || ((!m_iCom1[i]) && m_iCom2[i]))
			bWarning = TRUE; // one is 0, other !0

		if ( (m_iCom1[i]!=0) && (m_iCom2[i]!=0) && (m_iCom1[i]==m_iCom2[i]) )
			bWarning = TRUE; // one == other 
		
		for (int j=0; j<i; j++)
		{
			if ( (m_iCom1[i] == m_iCom2[j]) && (m_iCom1[i]!=0))
				bWarning = TRUE; // same numbers

			if ( (m_iCom1[j] == m_iCom2[i]) && (m_iCom1[j]!=0))
				bWarning = TRUE; // same numbers

			if ( (m_iCom1[i] == m_iCom1[j]) && (m_iCom1[i]!=0))
				bWarning = TRUE; // same numbers

			if ( (m_iCom2[i] == m_iCom2[j]) && (m_iCom2[i]!=0))
				bWarning = TRUE; // same numbers
		}

		if (bWarning)
		{
			if (!bW1)
			{
				strcat(s, "Warning! Conflict in pair(s):");
				bW1 = TRUE;
			}

			char ss[10];
			itoa(i+1,ss,10); 

			strcat(s, " ");
			strcat(s, ss);
		}

	}

	HWND hwndText = GetDlgItem(hwnd, IDC_TEXT);
	SetWindowText(hwndText, s);
}


BOOL CALLBACK PropDialogProc(HWND hwnd, UINT uMessage, WPARAM  wParam, LPARAM  lParam)
{
    UINT                btnState;
    char                valStr[5];
//    PP_PARAMS_STRUCT*   pParams;


    switch (uMessage)
    {
        case WM_INITDIALOG:
			{
			  #ifdef _DEBUG
//				pParams = (PP_PARAMS_STRUCT*)LocalAlloc(LPTR, sizeof(PP_PARAMS_STRUCT));
	//            ReadConfig(pParams);
			  #else   // !_DEBUG
//				pParams = (PP_PARAMS_STRUCT*)((LPPROPSHEETPAGE)lParam)->lParam;
			  #endif  // _DEBUG
//				SetWindowLong(hwnd, DWL_USER, (LONG)pParams);

	//            SendMessage(GetDlgItem(hwnd, IDC_TIMEOUT_SLIDER), TBM_SETRANGE, FALSE, MAKELONG(1, 10));
	//            UpdatePropPageControls(hwnd);

				ReadConfig(hwnd);

				HWND hwndCombo1 = GetDlgItem(hwnd, IDC_COMBO_1);
				HWND hwndCombo2 = GetDlgItem(hwnd, IDC_COMBO_2);

				HWND hwndComboPair = GetDlgItem(hwnd, IDC_COMBO_PAIR);

				// Pairs

				for (int i=1; i<=MAXPAIR; i++)
				{
					char s[20] = "Pair #";
					itoa(i,s+6,10);

					SendMessage(hwndComboPair, CB_ADDSTRING, 0, (LPARAM) s); 
				}

				SendMessage(hwndComboPair, CB_SETCURSEL, 0, 0); 

				// Port numbers

				SendMessage(hwndCombo1, CB_ADDSTRING, 0, (LPARAM) "Unassigned"); 
				SendMessage(hwndCombo2, CB_ADDSTRING, 0, (LPARAM) "Unassigned"); 

				char s[10] = "COM";

				for (i=1; i<=MAXPORT; i++)
				{
					//sprintf(s, "COM%i",i);
					itoa(i,s+3,10);

					SendMessage(hwndCombo1, CB_ADDSTRING, 0, (LPARAM) s); 
					SendMessage(hwndCombo2, CB_ADDSTRING, 0, (LPARAM) s); 
				}

				int n;

				SendMessage(hwndCombo1, CB_SETCURSEL, m_iCom1[0], 0); 
				SendMessage(hwndCombo2, CB_SETCURSEL, m_iCom2[0], 0); 

				CheckSettings(hwnd);

			}
            return TRUE;
/*
        case WM_HSCROLL:
            pParams = (PP_PARAMS_STRUCT*)GetWindowLong(hwnd, DWL_USER);

            pParams->timeoutScaling = SendMessage((HWND)lParam, TBM_GETPOS, 0, 0);

            sprintf(valStr, "x %d", pParams->timeoutScaling);
            SetDlgItemText(hwnd, IDC_SCALING, valStr);

            break;
*/

        case WM_COMMAND:
//            pParams = (PP_PARAMS_STRUCT*)GetWindowLong(hwnd, DWL_USER);

			if (HIWORD(wParam) == CBN_SELCHANGE)
			{
				HWND hwndCombo1 = GetDlgItem(hwnd, IDC_COMBO_1);
				HWND hwndCombo2 = GetDlgItem(hwnd, IDC_COMBO_2);

				HWND hwndComboPair = GetDlgItem(hwnd, IDC_COMBO_PAIR);
				int iPair = SendMessage(hwndComboPair, CB_GETCURSEL, 0, 0); 

				if (LOWORD(wParam) == IDC_COMBO_PAIR)
				{
					SendMessage(hwndCombo1, CB_SETCURSEL, m_iCom1[iPair], 0); 
					SendMessage(hwndCombo2, CB_SETCURSEL, m_iCom2[iPair], 0); 
				}
				else				
				if (LOWORD(wParam) == IDC_COMBO_1)
				{
					m_iCom1[iPair] = SendMessage(hwndCombo1, CB_GETCURSEL, 0, 0); 
				}
				else
				if (LOWORD(wParam) == IDC_COMBO_2)
				{
					m_iCom2[iPair] = SendMessage(hwndCombo2, CB_GETCURSEL, 0, 0); 
				}

				CheckSettings(hwnd);
			}

            switch (LOWORD(wParam))
            {

/*
                case IDC_ALL_LINES:
                    if (HIWORD(wParam) == BN_CLICKED)
                    {
                        btnState = IsDlgButtonChecked(hwnd, IDC_ALL_LINES);

                        if (btnState == BST_CHECKED)
                        {
                            pParams->statusLines = MS_CTS_ON | MS_DSR_ON |
                                                   MS_RING_ON | MS_RLSD_ON;
                        }
                        else if (btnState == BST_INDETERMINATE)
                        {
                            CheckDlgButton(hwnd, IDC_ALL_LINES, BST_UNCHECKED);
                            btnState = BST_UNCHECKED;

                            pParams->statusLines = 0;
                        }
                        else
                            pParams->statusLines = 0;

                        CheckDlgButton(hwnd, IDC_CTS, btnState);
                        CheckDlgButton(hwnd, IDC_DSR, btnState);
                        CheckDlgButton(hwnd, IDC_RI, btnState);
                        CheckDlgButton(hwnd, IDC_DCD, btnState);
                    }
                    break;

                case IDC_CTS:
                    if (HIWORD(wParam) == BN_CLICKED)
                    {
                        btnState = IsDlgButtonChecked(hwnd, IDC_CTS);

                        if (btnState == BST_CHECKED)
                            pParams->statusLines |= MS_CTS_ON;
                        else
                            pParams->statusLines &= ~MS_CTS_ON;

                        UpdatePropPageControls(hwnd);
                    }
                    break;

                case IDC_DSR:
                    if (HIWORD(wParam) == BN_CLICKED)
                    {
                        btnState = IsDlgButtonChecked(hwnd, IDC_DSR);

                        if (btnState == BST_CHECKED)
                            pParams->statusLines |= MS_DSR_ON;
                        else
                            pParams->statusLines &= ~MS_DSR_ON;

                        UpdatePropPageControls(hwnd);
                    }
                    break;

                case IDC_RI:
                    if (HIWORD(wParam) == BN_CLICKED)
                    {
                        btnState = IsDlgButtonChecked(hwnd, IDC_RI);

                        if (btnState == BST_CHECKED)
                            pParams->statusLines |= MS_RING_ON;
                        else
                            pParams->statusLines &= ~MS_RING_ON;

                        UpdatePropPageControls(hwnd);
                    }
                    break;

                case IDC_DCD:
                    if (HIWORD(wParam) == BN_CLICKED)
                    {
                        btnState = IsDlgButtonChecked(hwnd, IDC_DCD);

                        if (btnState == BST_CHECKED)
                            pParams->statusLines |= MS_RLSD_ON;
                        else
                            pParams->statusLines &= ~MS_RLSD_ON;

                        UpdatePropPageControls(hwnd);
                    }
                    break;

                case IDC_DEFAULT:
                    pParams->timeoutScaling    = 1;
                    pParams->statusLines       = 0;
                    pParams->activeConnectOnly = 0;

                    UpdatePropPageControls(hwnd);

                    break;

                case IDC_ABOUT:
                    DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUT_DIALOG), hwnd, AboutDialogProc);
                    break;
*/
            }

            return TRUE;

        case WM_NOTIFY:
            if (((LPNMHDR)lParam)->code != PSN_APPLY)
                return FALSE;

            //pParams = (PP_PARAMS_STRUCT*)GetWindowLong(hwnd, DWL_USER);
            WriteConfig(hwnd);

			//MessageBox(0,"OK","",0);
//            SetWindowLong(hwnd, DWL_MSGRESULT, PSNRET_NOERROR);
            return TRUE;
/*
        case WM_HELP:
            WinHelp((HWND)((LPHELPINFO)lParam)->hItemHandle, IRCOMM2K_HELPFILE,  HELP_WM_HELP,
                    (DWORD)helpIDs);
            break;

      #ifdef _DEBUG
        case WM_CLOSE:
            pParams = (PP_PARAMS_STRUCT*)GetWindowLong(hwnd, DWL_USER);
            WriteConfig(hwnd, pParams);
            if (pParams->drvConfigKeyValid)
                RegCloseKey(pParams->drvConfigKey);
            LocalFree(pParams);
            EndDialog(hwnd, 0);
            return TRUE;
      #endif  // _DEBUG
*/
    }
    return FALSE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美电影一二三| 椎名由奈av一区二区三区| 久久蜜臀精品av| 亚洲私人影院在线观看| 蜜桃免费网站一区二区三区| 成人做爰69片免费看网站| 91精品国产入口| 综合久久给合久久狠狠狠97色| 日本欧美韩国一区三区| 99视频精品在线| 久久奇米777| 亚洲成人动漫精品| 不卡视频在线观看| 久久精品亚洲麻豆av一区二区| 亚洲电影一区二区| 91丝袜呻吟高潮美腿白嫩在线观看| 日韩一区国产二区欧美三区| 亚洲五码中文字幕| 99久久精品国产一区二区三区 | 在线观看亚洲成人| 国产欧美日产一区| 男人操女人的视频在线观看欧美| 色悠久久久久综合欧美99| 久久精品一区二区三区四区| 久久99最新地址| 欧美日韩一区二区电影| 一区二区欧美国产| 一本到三区不卡视频| 国产精品人妖ts系列视频| 国产剧情一区在线| 国产视频一区在线观看| 韩国成人福利片在线播放| 欧美xxxxxxxx| 精品一区免费av| 亚洲精品一区二区精华| 韩国三级在线一区| 久久女同精品一区二区| 国产一区二区在线观看免费| 欧美不卡视频一区| 精品一区二区在线视频| 日韩欧美黄色影院| 国产在线看一区| 久久久久久麻豆| 成人激情av网| 亚洲日本在线a| 欧美调教femdomvk| 性做久久久久久免费观看| 在线播放中文一区| 日本成人超碰在线观看| 欧美本精品男人aⅴ天堂| 国产在线视频一区二区| 中文在线免费一区三区高中清不卡| 国产成人亚洲综合a∨婷婷| 国产精品理论在线观看| 在线观看免费亚洲| 午夜精品久久久| 欧美第一区第二区| 成人av在线影院| 亚洲午夜免费电影| 欧美xfplay| 懂色av一区二区三区蜜臀 | 欧美mv日韩mv亚洲| 国产高清成人在线| 一区二区三区在线观看国产| 欧美疯狂做受xxxx富婆| 国产一区二区日韩精品| 一区在线中文字幕| 67194成人在线观看| 国产一区不卡精品| 一区二区三区欧美亚洲| 日韩午夜小视频| 9人人澡人人爽人人精品| 亚洲成人精品一区| 日本一区二区动态图| 欧美性三三影院| 国产原创一区二区三区| 夜夜揉揉日日人人青青一国产精品 | 亚洲va欧美va人人爽| 久久色在线视频| 欧美亚洲综合色| 国产一区二区三区四区在线观看 | 久久一区二区三区国产精品| 色综合久久综合| 精油按摩中文字幕久久| 亚洲综合色丁香婷婷六月图片| 精品国产乱码久久久久久闺蜜| 色狠狠色噜噜噜综合网| 国产中文字幕一区| 天天操天天色综合| 国产精品久久久一本精品| 日韩一区二区三区精品视频| 99久久综合99久久综合网站| 久久99久久久欧美国产| 夜夜操天天操亚洲| 国产精品视频第一区| 欧美tk—视频vk| 91精品国产综合久久婷婷香蕉| 91欧美一区二区| 国产不卡免费视频| 蓝色福利精品导航| 日韩精品视频网| 亚洲一区免费观看| 亚洲欧美在线aaa| 国产日韩在线不卡| 久久精品免费在线观看| 欧美va亚洲va在线观看蝴蝶网| 欧美人伦禁忌dvd放荡欲情| 9人人澡人人爽人人精品| 国产一区二区三区电影在线观看| 视频一区在线视频| 亚洲午夜精品在线| 亚洲国产色一区| 一级日本不卡的影视| 一区二区三区在线看| 亚洲精品免费电影| 亚洲激情在线激情| 一区二区三区**美女毛片| 亚洲视频一区二区在线| 综合电影一区二区三区| 亚洲欧美日韩在线| 亚洲人成在线观看一区二区| 亚洲精品国产精华液| 亚洲美女电影在线| 亚洲在线中文字幕| 五月激情六月综合| 日本vs亚洲vs韩国一区三区二区| 日本人妖一区二区| 激情综合色丁香一区二区| 麻豆精品视频在线观看视频| 久久99精品国产麻豆婷婷 | 韩国成人精品a∨在线观看| 黄色日韩网站视频| 国产a视频精品免费观看| 国产成人精品免费网站| 成人av综合在线| 99国内精品久久| 欧美日韩午夜在线视频| 91精品久久久久久久久99蜜臂| 精品久久五月天| 欧美激情艳妇裸体舞| 最近中文字幕一区二区三区| 亚洲成人av中文| 免费在线观看一区| 国产成人av电影在线播放| www.视频一区| 欧美优质美女网站| 日韩欧美色电影| 国产精品人人做人人爽人人添| 一区二区三区日韩欧美| 久久国产精品99久久久久久老狼| 成人激情校园春色| 欧美视频在线一区| 久久午夜羞羞影院免费观看| 综合网在线视频| 美国精品在线观看| 91性感美女视频| 欧美一级夜夜爽| 日韩伦理电影网| 蜜臀av性久久久久蜜臀av麻豆| 成人深夜视频在线观看| 欧美日韩一区二区三区在线| 久久综合色天天久久综合图片| 国产精品国产精品国产专区不片 | 亚洲激情av在线| 久久国产乱子精品免费女| 91女人视频在线观看| 精品欧美一区二区三区精品久久| |精品福利一区二区三区| 久久成人免费网站| 欧美三级欧美一级| 国产精品嫩草久久久久| 另类小说图片综合网| 在线观看日韩精品| 欧美国产成人精品| 久久国产生活片100| 欧美午夜在线观看| 国产精品久久久久久久久动漫 | 成人ar影院免费观看视频| 在线不卡的av| 夜夜嗨av一区二区三区网页 | 国产人妖乱国产精品人妖| 日本系列欧美系列| 在线观看亚洲专区| 日韩美女精品在线| 国产成人aaa| 亚洲精品在线观| 免费在线观看不卡| 欧美精品在欧美一区二区少妇| 亚洲欧美另类综合偷拍| 高潮精品一区videoshd| 久久久久久久久久久久久久久99| 天堂一区二区在线| 欧美日韩一区二区在线观看| 一区二区三区在线看| 91在线观看免费视频| 成人欧美一区二区三区在线播放| 国产91精品久久久久久久网曝门| 久久综合久久综合久久| 久久99久久久久| 日韩三区在线观看|