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

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

?? myapp1dlg.cpp

?? 上位機軟件 for 自制AT89C51/52編程器
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
// MYAPP1Dlg.cpp : implementation file
//

#include "stdafx.h"
#include "MYAPP1.h"
#include "MYAPP1Dlg.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
  CAboutDlg();

// Dialog Data
  //{{AFX_DATA(CAboutDlg)
  enum { IDD = IDD_ABOUTBOX };
  CString   m_aboutedit;
  //}}AFX_DATA

  // ClassWizard generated virtual function overrides
  //{{AFX_VIRTUAL(CAboutDlg)
  protected:
  virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
  //}}AFX_VIRTUAL

// Implementation
protected:
  //{{AFX_MSG(CAboutDlg)
  //}}AFX_MSG
  DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
  //{{AFX_DATA_INIT(CAboutDlg)
  m_aboutedit = _T("波特率:9600\r\n數據位:8\r\n校  驗:無\r\n停止位:1\r\n數據流控制:Xon/Xoff\r\n");
  //}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
  CDialog::DoDataExchange(pDX);
  //{{AFX_DATA_MAP(CAboutDlg)
  DDX_Text(pDX, IDC_EDIT1, m_aboutedit);
  //}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
  //{{AFX_MSG_MAP(CAboutDlg)
    // No message handlers
  //}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMYAPP1Dlg dialog
void CMYAPP1Dlg::DisplayMessage(CString s,char enter=1) 
{
  UpdateData(TRUE);
  int i;
  while(  (i=s.Find("\n\r"))!=-1)
  {
    s.SetAt(i,'\r');
    s.SetAt(i+1,'\n');
  }

  char ln[10];
  if(enter)
  {
    int len=m_edit1.GetLength();
    if(len>2 && m_edit1.GetAt(len-1)!='\n')m_edit1+="\r\n";
    sprintf(ln,"%04d: ",m_edit1line++);
    m_edit1+=ln+s+"\r\n";
  }
  else m_edit1+=s;
  UpdateData(FALSE);

    CEdit *pDC; 
    pDC=(CEdit *)GetDlgItem(IDC_EDIT1);
    int len=pDC->GetLineCount();
  pDC->LineScroll(len); 
/*
  UpdateData(TRUE);
  sprintf(ln,"%d: ",len);
  m_edit2=ln;
  UpdateData(FALSE);
*/

}
void CMYAPP1Dlg::DisplayMessage(DWORD d)
{
    char s[10];
  if(d==XON) strcpy(s,"XON");
  else if (d==XOFF)strcpy(s,"XOFF");
  else sprintf(s,"%u",d);
  DisplayMessage(s,0);
}

void CMYAPP1Dlg::OnCommRecv(WPARAM wParam, LPARAM lParam)
{
  ISONCOMRECV=TRUE;
}

CMYAPP1Dlg::CMYAPP1Dlg(CWnd* pParent /*=NULL*/)
  : CDialog(CMYAPP1Dlg::IDD, pParent)
{
  //{{AFX_DATA_INIT(CMYAPP1Dlg)
  m_edit1 = _T("");
  m_edit1line=0;
  m_check1 = FALSE;
  m_check2 = FALSE;
  m_check3 = FALSE;
  m_radio1 = -1;
  m_edit2 = _T("");
  m_edit3 = _T("");
  //}}AFX_DATA_INIT
  // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
  m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CMYAPP1Dlg::DoDataExchange(CDataExchange* pDX)
{
  CDialog::DoDataExchange(pDX);
  //{{AFX_DATA_MAP(CMYAPP1Dlg)
  DDX_Control(pDX, IDC_PROGRESS1, m_nProgress);
  DDX_Control(pDX, IDC_OPENS, m_opens);
  DDX_Text(pDX, IDC_EDIT1, m_edit1);
  DDX_Check(pDX, IDC_CHECK1, m_check1);
  DDX_Check(pDX, IDC_CHECK2, m_check2);
  DDX_Check(pDX, IDC_CHECK3, m_check3);
  DDX_Radio(pDX, IDC_RADIO1, m_radio1);
  DDX_Text(pDX, IDC_EDIT2, m_edit2);
  DDX_Text(pDX, IDC_EDIT3, m_edit3);
  //}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CMYAPP1Dlg, CDialog)
  //{{AFX_MSG_MAP(CMYAPP1Dlg)
  ON_WM_SYSCOMMAND()
  ON_WM_PAINT()
  ON_WM_QUERYDRAGICON()
  ON_BN_CLICKED(IDC_OPENS, OnOpens)
  ON_BN_CLICKED(IDC_CHECK3, OnCheck3)
  ON_NOTIFY(NM_CLICK, IDC_LIST3, OnClickList3)
  ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
  ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
  ON_MESSAGE(ON_COM_RECEIVE,OnCommRecv)
  ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
  ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
  ON_BN_CLICKED(IDC_RADIO1, OnRadio1)
  ON_BN_CLICKED(IDC_RADIO2, OnRadio2)
  ON_BN_CLICKED(IDC_RADIO3, OnRadio3)
  ON_BN_CLICKED(IDC_RADIO4, OnRadio4)
  ON_BN_CLICKED(IDC_RADIO5, OnRadio5)
  ON_WM_TIMER()
  ON_EN_CHANGE(IDC_EDIT3, OnChangeEdit3)
  ON_EN_CHANGE(IDC_EDIT2, OnChangeEdit2)
  //}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMYAPP1Dlg message handlers

BOOL CMYAPP1Dlg::OnInitDialog()
{
  CDialog::OnInitDialog();

  // Add "About..." menu item to system menu.

  // IDM_ABOUTBOX must be in the system command range.
  ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
  ASSERT(IDM_ABOUTBOX < 0xF000);

  CMenu* pSysMenu = GetSystemMenu(FALSE);
  if (pSysMenu != NULL)
  {
    CString strAboutMenu;
    strAboutMenu.LoadString(IDS_ABOUTBOX);
    if (!strAboutMenu.IsEmpty())
    {
      pSysMenu->AppendMenu(MF_SEPARATOR);
      pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
    }
  }

  // Set the icon for this dialog.  The framework does this automatically
  //  when the application's main window is not a dialog
  SetIcon(m_hIcon, TRUE);       // Set big icon
  SetIcon(m_hIcon, FALSE);    // Set small icon
  
  // TODO: Add extra initialization here
//////////////////////////////////////////////////////////////////////////////////////////////////
  m_nProgress.SetPos(0);
  DisplayMessage("MYEZ編程器");

/*
LONG RegOpenKeyEx(
  HKEY hKey,         // handle to open key
  LPCTSTR lpSubKey,  // address of name of subkey to open
  DWORD ulOptions,   // reserved
  REGSAM samDesired, // security access mask
  PHKEY phkResult    // address of handle to open key
);

LONG RegEnumValue(
  HKEY hKey,              // handle to key to query
  DWORD dwIndex,          // index of value to query
  LPTSTR lpValueName,     // address of buffer for value string
  LPDWORD lpcbValueName,  // address for size of value buffer
  LPDWORD lpReserved,     // reserved
  LPDWORD lpType,         // address of buffer for type code
  LPBYTE lpData,          // address of buffer for value data
  LPDWORD lpcbData        // address for size of data buffer
);
LONG RegQueryValueEx(
  HKEY hKey,           // handle to key to query
  LPTSTR lpValueName,  // address of name of value to query
  LPDWORD lpReserved,  // reserved
  LPDWORD lpType,      // address of buffer for value type
  LPBYTE lpData,       // address of data buffer
  LPDWORD lpcbData     // address of data buffer size
);
  
*/
  #define MAXKEYPATH  99
  HKEY    hKey    = HKEY_LOCAL_MACHINE;
  LPCTSTR     lpSubKey  = "HARDWARE\\DEVICEMAP\\SERIALCOMM";
  REGSAM    samDesired  = KEY_READ;

  DWORD   dwIndex = 0;
  LPDWORD   lpType  =new DWORD;   *lpType= REG_SZ;
  LPBYTE  COMName =new BYTE[80];
  LPDWORD lpcbData=new DWORD; *lpcbData=80;
    
  char   COMObject[MAXKEYPATH];   
  LPSTR   lpszDescBuff   =   NULL;   
  DWORD   rc;   
  DWORD   dwBufSize=MAXKEYPATH; 
  CListCtrl* p1;
  rc   =   RegOpenKeyEx(hKey,lpSubKey,0,samDesired,&hKey); 
  
  if   (rc   ==   ERROR_SUCCESS)   
  {   
    p1= (CListCtrl*)GetDlgItem(IDC_LIST3);
    //p1->SetBkColor(RGB(255,255,255));
    //p1->SetTextBkColor(RGB(255,255,255));
    while   (RegEnumValue(hKey,dwIndex++,COMObject,&dwBufSize,NULL,lpType,COMName,lpcbData)==ERROR_SUCCESS)   
    {   
      CString ts=COMName;
      p1->InsertItem(dwIndex,ts,dwIndex);
      if(dwIndex==1)SetDlgItemText(IDC_STATIC_LIST3, ts);
      dwBufSize   =   MAXKEYPATH;
      ts="發現:";
      //ts+=COMObject;
      //ts+="\\";
      ts+=COMName;
      DisplayMessage(ts);
    }   
    RegCloseKey(hKey);   
  }   
  else   
  {
    DisplayMessage("未能檢測串口!");
  }
  if(dwIndex==0)m_opens.EnableWindow(FALSE);
  UpdateData(TRUE);
  m_edit3="C:\\Documents and Settings\\All Users\\桌面\\default.bin";
  m_edit2="C:\\Documents and Settings\\All Users\\桌面\\default.bin";
  UpdateData(FALSE);
  return TRUE;  // return TRUE  unless you set the focus to a control
}

void CMYAPP1Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
  if ((nID & 0xFFF0) == IDM_ABOUTBOX)
  {
    CAboutDlg dlgAbout;
    dlgAbout.DoModal();
  }
  else
  {
    CDialog::OnSysCommand(nID, lParam);
  }
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CMYAPP1Dlg::OnPaint() 
{
  if (IsIconic())
  {
    CPaintDC dc(this); // device context for painting

    SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

    // Center icon in client rectangle
    int cxIcon = GetSystemMetrics(SM_CXICON);
    int cyIcon = GetSystemMetrics(SM_CYICON);
    CRect rect;
    GetClientRect(&rect);
    int x = (rect.Width() - cxIcon + 1) / 2;
    int y = (rect.Height() - cyIcon + 1) / 2;

    // Draw the icon
    dc.DrawIcon(x, y, m_hIcon);
  }
  else
  {
    CDialog::OnPaint();
  }
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CMYAPP1Dlg::OnQueryDragIcon()
{
  return (HCURSOR) m_hIcon;
}

void CMYAPP1Dlg::OnOpens() 
{
  // TODO: Add your control notification handler code here
  CString ss1,ss2;
  CButton*  ReadButton=(CButton*)GetDlgItem(IDC_BUTTON2);
  CButton* WriteButton=(CButton*)GetDlgItem(IDC_BUTTON4);
  CButton*  autocheck=(CButton*)GetDlgItem(IDC_CHECK3);
  UpdateData(TRUE);
  UpdateData(FALSE);
  m_opens.GetWindowText(ss1);
  GetDlgItemText(IDC_STATIC_LIST3,ss2);

  if (ss1=="打開串口")
  {
    if(com.Open(ss2))//打開串口并使用默認設置
    {
      LPCOMMTIMEOUTS co1=com.GetTimeouts();
      co1->ReadIntervalTimeout=MAXDWORD;
      co1->ReadTotalTimeoutMultiplier=MAXDWORD;
      co1->ReadTotalTimeoutConstant=10000;
      com.SetTimeouts(co1);
      ISONCOMRECV=FALSE;
      DisplayMessage("打開"+ss2+"成功!");
        m_opens.SetWindowText("關閉串口");
      CListCtrl* pList = (CListCtrl*) GetDlgItem(IDC_LIST3);
      pList->EnableWindow(FALSE);
      if(0<=m_radio1 && m_radio1<5)
      {
        ReadButton->EnableWindow();
        WriteButton->EnableWindow();
      }
      autocheck->EnableWindow();
      //UpdateData(TRUE);UpdateData(FALSE);
      if(m_check3==TRUE)OnCheck3();
      com.SetWnd(AfxGetMainWnd()->m_hWnd); //設置消息處理窗口
    }
    else 
    {
      DisplayMessage("打開"+ss2+"失敗!串口已被占用。");
    }
  }
  else
  {
    com.Close();
    DisplayMessage("關閉"+ss2+"成功!");
      m_opens.SetWindowText("打開串口");
      CListCtrl* pList = (CListCtrl*) GetDlgItem(IDC_LIST3);
      pList->EnableWindow();
    ReadButton->EnableWindow(FALSE);
    WriteButton->EnableWindow(FALSE);
    autocheck->EnableWindow(FALSE);
  }

  
}
//檢測 
void CMYAPP1Dlg::OnTimer(UINT nIDEvent) 
{
  // TODO: Add your message handler code here and/or call default
  WAIT_OVER=TRUE;
  if(com.IsOpen())
  {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美浪妇xxxx高跟鞋交| 在线观看免费一区| 日本中文字幕一区| 日韩激情中文字幕| 蜜桃av一区二区| 久久精品久久综合| 国产成人亚洲综合a∨婷婷图片| 国产一区二区三区四区五区美女 | 91美女在线观看| 色婷婷一区二区三区四区| 欧美一级在线观看| 精品国产一区久久| 国产拍欧美日韩视频二区| 国产日韩成人精品| 亚洲女人****多毛耸耸8| 亚洲色图在线看| 亚洲电影第三页| 久久成人精品无人区| 成人一级片网址| 91精彩视频在线观看| 69精品人人人人| 国产丝袜美腿一区二区三区| 国产欧美日韩激情| 亚洲精品欧美在线| 蜜臀av在线播放一区二区三区| 精品中文字幕一区二区小辣椒| 国产精品2024| 欧美性生活久久| 精品久久免费看| 亚洲午夜久久久久久久久电影院| 日韩中文字幕91| 盗摄精品av一区二区三区| 色女孩综合影院| 日韩精品在线网站| 亚洲精品国久久99热| 国产在线精品一区二区不卡了| 成人aaaa免费全部观看| 欧美日韩高清不卡| 国产精品美女久久福利网站| 五月婷婷色综合| 成人av免费观看| 日韩视频免费直播| 亚洲丝袜精品丝袜在线| 久久99蜜桃精品| 欧美中文字幕一区二区三区| 久久久久久久久99精品| 天天综合网 天天综合色| 成人97人人超碰人人99| 日韩精品一区二区在线| 亚洲a一区二区| 在线观看av不卡| 国产欧美日韩亚州综合 | 日韩精品免费视频人成| 不卡一区二区在线| 久久亚洲综合色一区二区三区| 一二三区精品福利视频| 波多野结衣91| 久久精品视频免费| 国产综合色视频| 日韩欧美在线观看一区二区三区| 亚洲五月六月丁香激情| 色综合久久久久久久久久久| 国产午夜亚洲精品理论片色戒| 蜜桃视频第一区免费观看| 在线播放91灌醉迷j高跟美女| 日韩伦理免费电影| 成人av影视在线观看| 一区在线播放视频| 成人精品在线视频观看| 国产精品青草综合久久久久99| 国产成人在线色| 久久99精品国产.久久久久| 91成人免费电影| 久久精品国产免费看久久精品| 精品视频在线免费| 亚洲男女一区二区三区| 色综合久久久网| 一区二区三区欧美亚洲| 色哟哟精品一区| 亚洲一级二级在线| 欧美丝袜丝nylons| 五月婷婷色综合| 精品国内片67194| 国产一区二区三区在线看麻豆| 久久综合九色综合欧美亚洲| 国产精品亚洲а∨天堂免在线| 日本一区二区电影| 91在线视频免费91| 亚洲成人av一区二区三区| 91精品久久久久久久91蜜桃| 奇米精品一区二区三区四区| 精品国产91洋老外米糕| 成人免费va视频| 亚洲黄一区二区三区| 欧美又粗又大又爽| 久久国产精品免费| 国产精品色婷婷| 欧美综合视频在线观看| 美女尤物国产一区| 国产精品国产成人国产三级| 色哟哟一区二区| 狠狠色丁香婷婷综合| 亚洲欧洲色图综合| 777亚洲妇女| 国产成人免费视频| 亚洲美女一区二区三区| 日韩欧美一区二区视频| 成人综合婷婷国产精品久久免费| 亚洲精品国产视频| 精品电影一区二区| 99re热这里只有精品免费视频| 午夜精品久久久久久久| 久久久精品黄色| 欧美区一区二区三区| 国产福利一区二区| 天堂精品中文字幕在线| 欧美极品少妇xxxxⅹ高跟鞋| 欧美日韩精品一区二区三区蜜桃| 国产在线一区观看| 亚洲曰韩产成在线| 日本一区二区动态图| 欧美一区二区三区视频| 91福利资源站| 成人精品鲁一区一区二区| 日韩国产欧美在线播放| 中文字幕一区二区日韩精品绯色| 91精品啪在线观看国产60岁| 91看片淫黄大片一级| 国产麻豆91精品| 免费人成在线不卡| 亚洲成人三级小说| 亚洲欧洲综合另类在线| 国产精品色眯眯| 久久久天堂av| 2023国产精品| 日韩欧美资源站| 制服.丝袜.亚洲.另类.中文| 91成人免费在线视频| 色婷婷亚洲综合| 色呦呦日韩精品| 91丨九色丨蝌蚪丨老版| av电影一区二区| 99视频一区二区三区| 国产成人啪午夜精品网站男同| 国产一区二区在线影院| 蜜桃av一区二区| 麻豆成人久久精品二区三区红| 天天亚洲美女在线视频| 午夜精品福利一区二区三区av| 一区二区三区影院| 亚洲乱码国产乱码精品精98午夜 | 91久久精品一区二区二区| 成人美女视频在线观看| 国产成人精品一区二区三区四区| 国产一区91精品张津瑜| 国产精品91一区二区| 国产传媒久久文化传媒| 国产精品一级片在线观看| 国产一级精品在线| 处破女av一区二区| 一本色道久久综合精品竹菊| 91国产丝袜在线播放| 欧美日韩国产bt| 日韩欧美你懂的| 久久久久国产成人精品亚洲午夜| 中文字幕高清不卡| 日韩毛片视频在线看| 伊人开心综合网| 麻豆成人免费电影| 成人黄色片在线观看| 色综合一个色综合| 欧美日韩国产一区二区三区地区| 欧美一区三区二区| 久久精品日韩一区二区三区| 中文字幕一区二区在线观看| 一区二区三区在线免费播放| 成人高清免费观看| 91美女视频网站| 欧美电影免费提供在线观看| 日本一区二区综合亚洲| 亚洲一区二区综合| 久久电影网站中文字幕| 成人午夜电影久久影院| 欧美午夜影院一区| 久久精品免费在线观看| 亚洲色图清纯唯美| 美女视频一区二区三区| 91麻豆自制传媒国产之光| 91精品国产福利| 自拍av一区二区三区| 麻豆视频一区二区| 91一区二区在线| 2017欧美狠狠色| 亚洲国产精品一区二区久久恐怖片| 久久99在线观看| 欧美日韩国产高清一区| 最新日韩在线视频| 精品一区二区三区在线视频| 欧美影院一区二区| 国产精品久久久久婷婷|