{"id":307,"date":"2006-09-08T17:38:08","date_gmt":"2006-09-08T09:38:08","guid":{"rendered":"https:\/\/t.n-years.com\/?p=307"},"modified":"2021-01-06T19:43:42","modified_gmt":"2021-01-06T11:43:42","slug":"%e8%81%8c%e4%b8%9a%e5%9c%a8vc%e4%b8%ad%e5%88%a9%e7%94%a8activex%e6%8e%a7%e4%bb%b6%e5%bc%80%e5%8f%91%e4%b8%b2%e8%a1%8c%e9%80%9a%e4%bf%a1%e7%a8%8b%e5%ba%8f","status":"publish","type":"post","link":"https:\/\/t.n-years.com\/?p=307","title":{"rendered":"[\u804c\u4e1a]\u5728VC++\u4e2d\u5229\u7528ActiveX\u63a7\u4ef6\u5f00\u53d1\u4e32\u884c\u901a\u4fe1\u7a0b\u5e8f"},"content":{"rendered":"<p><P>\u4e2d\u7535\u7f51\u8bbe\u8ba1\u5e94\u7528: \u5728VC++\u4e2d\u5229\u7528ActiveX\u63a7\u4ef6\u5f00\u53d1\u4e32\u884c\u901a\u4fe1\u7a0b\u5e8f<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u5728VC++\u4e2d\u5229\u7528ActiveX\u63a7\u4ef6\u5f00\u53d1\u4e32\u884c\u901a\u4fe1\u7a0b\u5e8f<\/P><br \/>\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u4e0a\u6d77\u4ea4\u901a\u5927\u5b66B9703-1\u4fe1\u7bb1(200030) \u9ec4\u6d77\u8363 \u7530\u4f5c\u534e<\/P><br \/>\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 ActiveX\u63a7\u4ef6\u4ecb\u7ecd<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ActiveX\u662fWindows\u4e0b\u8fdb\u884c\u5e94\u7528\u7a0b\u5e8f\u5f00\u53d1\u7684\u5d2d\u65b0\u6280\u672f\uff0c\u5b83\u7684\u6838\u5fc3\u5185\u5bb9\u662f\u7ec4\u4ef6\u5bf9\u8c61\u6a21\u578bCOM(Component Object Model)\u3002ActiveX\u63a7\u4ef6\u5305\u62ec\u4e00\u7cfb\u5217\u7684\u5c5e\u6027\u3001\u65b9\u6cd5\u548c\u4e8b\u4ef6\uff0c\u4f7f\u7528ActiveX\u63a7\u4ef6\u7684\u5e94\u7528\u7a0b\u5e8f\u548cActiveX\u63a7\u4ef6\u4e4b\u95f4\u7684\u5de5\u4f5c\u65b9\u5f0f\u662f\u5ba2\u6237\uff0f\u670d\u52a1\u5668\u65b9\u5f0f\uff0c\u5373\u5e94\u7528\u7a0b\u5e8f\u901a\u8fc7ActiveX\u63a7\u4ef6\u63d0\u4f9b\u7684\u63a5\u53e3\u6765\u8bbf\u95eeActiveX\u63a7\u4ef6\u7684\u529f\u80fd\u3002 <\/P><br \/>\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Microsoft Communications <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Control\uff08\u4ee5\u4e0b\u7b80\u79f0MSComm\uff09\u662fMicrosoft\u516c\u53f8\u63d0\u4f9b\u7684\u7b80\u5316Windows\u4e0b\u4e32\u884c\u901a\u4fe1\u7f16\u7a0b\u7684ActiveX\u63a7\u4ef6\uff0c\u5b83\u4e3a\u5e94\u7528\u7a0b\u5e8f\u63d0\u4f9b\u4e86\u901a\u8fc7\u4e32\u884c\u63a5\u53e3\u6536\u53d1\u6570\u636e\u7684\u7b80\u4fbf\u65b9\u6cd5\u3002\u5177\u4f53\u7684\u6765\u8bf4\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e24\u79cd\u5904\u7406\u901a\u4fe1\u95ee\u9898\u7684\u65b9\u6cd5\uff1a\u4e00\u662f\u4e8b\u4ef6\u9a71\u52a8(Event\uff0ddriven)\u65b9\u6cd5\uff0c\u4e00\u662f\u67e5\u8be2\u6cd5\u3002<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.1 \u4e8b\u4ef6\u9a71\u52a8\u6cd5 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u5728\u4f7f\u7528\u4e8b\u4ef6\u9a71\u52a8\u6cd5\u8bbe\u8ba1\u7a0b\u5e8f\u65f6\uff0c\u6bcf\u5f53\u6709\u65b0\u5b57\u7b26\u5230\u8fbe\uff0c\u6216\u7aef\u53e3\u72b6\u6001\u6539\u53d8\uff0c\u6216\u53d1\u751f\u9519\u8bef\u65f6\uff0cMSComm\u63a7\u4ef6\u5c06\u89e3\u53d1OnComm\u4e8b\u4ef6\uff0c\u800c\u5e94\u7528\u7a0b\u5e8f\u5728\u6355\u83b7\u8be5\u4e8b\u4ef6\u540e\uff0c\u901a\u8fc7\u68c0\u67e5MSComm\u63a7\u4ef6\u7684CommEvent\u5c5e\u6027\u53ef\u4ee5\u83b7\u77e5\u6240\u53d1\u751f\u7684\u4e8b\u4ef6\u6216\u9519\u8bef\uff0c\u4ece\u800c\u91c7\u53d6\u76f8\u5e94\u7684\u64cd\u4f5c\u3002\u8fd9\u79cd\u65b9\u6cd5\u7684\u4f18\u70b9\u662f\u7a0b\u5e8f\u54cd\u5e94\u53ca\u65f6\uff0c\u53ef\u9760\u6027\u9ad8\u3002<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.2 \u67e5\u8be2\u6cd5<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u8fd9\u79cd\u65b9\u6cd5\u9002\u5408\u4e8e\u8f83\u5c0f\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u6bcf\u5f53\u5e94\u7528\u7a0b\u5e8f\u6267\u884c\u5b8c\u67d0\u4e00\u4e32\u884c\u53e3\u64cd\u4f5c\u540e\uff0c\u5c06\u4e0d\u65ad\u68c0\u67e5MSComm\u63a7\u4ef6\u7684CommEvent\u5c5e\u6027\u4ee5\u68c0\u67e5\u6267\u884c\u7ed3\u679c\u6216\u8005\u68c0\u67e5\u67d0\u4e00\u4e8b\u4ef6\u662f\u5426\u53d1\u751f\u3002\u4f8b\u5982\uff0c\u5f53\u7a0b\u5e8f\u5411\u4e32\u884c\u8bbe\u5907\u53d1\u9001\u4e86\u67d0\u4e2a\u547d\u4ee4\u540e\uff0c\u53ef\u80fd\u53ea\u662f\u5728\u7b49\u5f85\u6536\u5230\u4e00\u4e2a\u7279\u5b9a\u7684\u54cd\u5e94\u5b57\u7b26\u4e32\uff0c\u800c\u4e0d\u662f\u5bf9\u6536\u5230\u7684\u6bcf\u4e00\u4e2a\u5b57\u7b26\u90fd\u7acb\u523b\u54cd\u5e94\u5e76\u5904\u7406\u3002 <\/P><br \/>\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MSComm\u63a7\u4ef6\u6709\u8bb8\u591a\u91cd\u8981\u7684\u5c5e\u6027\uff0c\u5176\u4e2d\u9996\u8981\u7684\u51e0\u4e2a\u5982\u88681\u6240\u793a\u3002 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u88681<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u5c5e\u6027\u8bf4\u660e<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CommPort\u8bbe\u7f6e\/\u83b7\u53d6\u63a7\u4ef6\u5bf9\u5e94\u7684\u4e32\u884c\u53e3<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Settings\u8bbe\u7f6e\/\u83b7\u53d6\u6ce2\u7279\u7387\u3001\u6821\u9a8c\u65b9\u5f0f\u3001\u6570\u636e\u4f4d\u3001\u505c\u6b62\u4f4d<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PortOpen\u6253\u5f00\/\u5173\u95ed\u901a\u4fe1\u53e3<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Input\u8bfb\u53d6\u6570\u636e<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Output\u53d1\u9001\u6570\u636e<\/P><br \/>\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 \u7f16\u7a0b\u5b9e\u73b0<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u5728\u4f7f\u7528MSComm\u63a7\u4ef6\u5f00\u53d1PT650C\u79e4\u91cd\u663e\u793a\u5668\u901a\u4fe1\u7a0b\u5e8f\u65f6\uff0c\u91c7\u7528\u4e86\u4e8b\u4ef6\u9a71\u52a8\u6cd5\uff0c\u4e3b\u8981\u662f\u5728comEvReceive(\u63a5\u6536\u5230\u6570\u636e)\u4e8b\u4ef6\u53d1\u751f\u65f6\u54cd\u5e94\u5e76\u83b7\u53d6\u7f13\u51b2\u533a\u4e2d\u7684\u6570\u636e\u3002\u4ee5\u4e0b\u5177\u4f53\u4ecb\u7ecd\u5b9e\u73b0\u65b9\u6cd5\u3002 <\/P><br \/>\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u6253\u5f00Visual C++6.0\u96c6\u6210\u5f00\u53d1\u73af\u5883\uff0c\u521b\u5efa\u4e00\u4e2a\u57fa\u4e8e\u5bf9\u8bdd\u6846\u7684MFC\u5e94\u7528\u7a0b\u5e8f\u9879\u76ee\uff0c\u547d\u540d\u4e3aMyCOM\uff0c\u8bb0\u4f4f\u5728\u8bbe\u7f6e\u9879\u76ee\u9009\u9879\u65f6\u5fc5\u987b\u9009\u4e0aActiveX Controls\uff0c\u5176\u4ed6\u7684\u6309\u7167\u7f3a\u7701\u8bbe\u7f6e\u3002\u5b8c\u6210\u8fd9\u4e00\u6b65\u540e\uff0c\u9009\u62e9\u83dc\u5355\u9879Project\uff0fAdd to Project\uff0fComponents and Controls\u2026\u2026\uff0c\u5c06\u5f39\u51fa\u4e00\u4e2a\u5bf9\u8bdd\u6846\u4ee5\u9009\u62e9\u7cfb\u7edf\u4e2d\u5df2\u6709\u7684\u7ec4\u4ef6(Components)\u548c\u63a7\u4ef6(Controls)\u3002\u9009\u62e9Registered ActiveX Controls\u6587\u4ef6\u5939\u4e0b\u7684Microsoft Communications Control\u9879\u5e76\u6309\u4e0bInsert\u6309\u94ae\uff0c\u5c06MSComm\u63a7\u4ef6\u652f\u6301\u52a0\u5165\u5230\u672c\u9879\u76ee\u4e2d\u3002\u8fd9\u65f6\u5c06\u751f\u6210\u4e00\u4e2a\u540d\u4e3aCMSComm\u7684C++\u7c7b\uff0c\u5e76\u4e14\u5728\u5bf9\u8bdd\u6846\u7f16\u8f91\u5668\u91cc\u7684\u5de5\u5177\u680f\u5c06\u51fa\u73b0MSComm\u63a7\u4ef6\u56fe\u6807\u3002CMSComm\u7c7b\u662f\u7531MSComm\u63a7\u4ef6\u5bfc\u51fa\u7684\u4e00\u7cfb\u5217\u63a5\u53e3\u51fd\u6570\u6784\u6210\u7684\uff0c\u5229\u7528\u5b83\u5c06\u53ef\u4ee5\u8bbf\u95eeMSComm\u63a7\u4ef6\u7684\u5c5e\u6027(Property)\u548c\u65b9\u6cd5(Method)\u3002 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u5047\u8bbePT650C\u79e4\u91cd\u663e\u793a\u5668\u63a5\u5728\u8ba1\u7b97\u673aCOM1\u53e3\u4e0a\uff0c\u90a3\u4e48\u6253\u5f00\u8d44\u6e90\u7f16\u8f91\u5668\uff0c\u5728\u7a0b\u5e8f\u4e3b\u5bf9\u8bdd\u6846(\u8d44\u6e90ID\u4e3aIDD_MYCOM_DIALOG)\u4e0a\u9762\u653e\u7f6e\u4e00\u4e2aMSComm\u63a7\u4ef6\uff0c\u5e76\u7528Class Wizard\u4e3a\u8be5\u5bf9\u8bdd\u6846\u7c7b\u6dfb\u52a0\u5bf9\u5e94\u8be5\u63a7\u4ef6\u7684\u6210\u5458\u53d8\u91cfm_wnd <BR>COM\uff11\u3002\u7531\u4e8ePT650C\u79e4\u91cd\u663e\u793a\u5668\u4e0e\u8ba1\u7b97\u673a\u8fdb\u884c\u4e32\u884c\u901a\u4fe1\u65f6\u91c7\u75287\u4e2a\u6570\u636e\u4f4d\u30011\u4e2a\u505c\u6b62\u4f4d\u3001\u5076\u6821\u9a8c\u65b9\u5f0f\uff0c\u5e76\u4e14\u6ce2\u7279\u7387\u4e3a2400\/4800\/9600\u53ef\u9009\uff0c\u8fd9\u91cc\u6211\u91c7\u75289600\u6ce2\u7279\u7387\uff0c\u5728\u5bf9\u8bdd\u6846\u7f16\u8f91\u5668\u4e2d\u8bbe\u7f6eMSComm\u63a7\u4ef6\u7684\u5c5e\u6027\u5982\u4e0b\uff1a <\/P><br \/>\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ID:IDC_COM1(\u8d44\u6e90ID)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CommPort:1 (COM1)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Settings:9600,e,7,1(\u6ce2\u7279\u73879600\uff0c\u5076\u6821\u9a8c\uff0c7\u4e2a\u6570\u636e\u4f4d\uff0c1\u4e2a\u505c\u6b62\u4f4d)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RThreshold:\uff08\u6bcf\u63a5\u6536\u52301\u4e2a\u5b57\u7b26\u5c31\u89e6\u53d1\u4e00\u4e2a\u63a5\u6536\u6570\u636e\u4e8b\u4ef6\uff09<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SThreshold:0\uff08\u4e0d\u89e6\u53d1\u53d1\u9001\u7f13\u51b2\u533a\u7a7a\u4e8b\u4ef6\uff09<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InputLen:1\uff08\u6bcf\u6b21\u8bfb\u64cd\u4f5c\u4ece\u7f13\u51b2\u533a\u4e2d\u53d6\u4e00\u4e2a\u5b57\u7b26\uff09<\/P><br \/>\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u5176\u4ed6\u9009\u9879\u6309\u7167\u7f3a\u7701\u8bbe\u7f6e\u6216\u8005\u6839\u636e\u5177\u4f53\u8bbe\u5907\u7684\u8981\u6c42\u8fdb\u884c\u8bbe\u7f6e\u3002\u5982\u679c\u9700\u8981\u901a\u8fc7\u591a\u4e2a\u4e32\u884c\u53e3\u4e0e\u591a\u53f0\u8bbe\u5907\u901a\u4fe1\uff0c\u90a3\u4e48\u6bcf\u4e00\u4e2a\u4e32\u884c\u53e3\u5bf9\u5e94\u4e8e\u4e00\u4e2a\u5355\u72ec\u7684MSComm\u63a7\u4ef6\u3002\u4e32\u884c\u53e3\u7684\u8bbe\u7f6e\u53c2\u6570\u65e2\u53ef\u4ee5\u5728\u5bf9\u8bdd\u6846\u7f16\u8f91\u5668\u91cc\u8bbe\u5b9a\uff0c\u4e5f\u53ef\u4ee5\u5728\u7a0b\u5e8f\u4ee3\u7801\u4e2d\u901a\u8fc7\u8c03\u7528CMSComm\u7c7b\u7684\u6210\u5458\u51fd\u6570\u8bbe\u5b9a\u3002\u4f8b\u5982\uff0c\u6211\u4eec\u53ef\u4ee5\u5728MyCOMDlg\u7c7b\u7684OnInitDialog\u6210\u5458\u51fd\u6570\u4e2d\u521d\u59cb\u5316MSComm\u63a7\u4ef6\u7684\u53c2\u6570\uff0c\u4ee3\u7801\u5982\u4e0b\uff1a<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BOOL CMyCOMDlg::OnInitDialog()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CDialog:OnInitDialog();<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u4ee5\u4e0a\u4e3aMFC\u6846\u67b6\u81ea\u52a8\u751f\u6210\u7684\u4ee3\u7801\uff0c\u5728\u6b64\u4e0d\u5217\u51fa<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/TODO:Add extra initialization here<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_wndCOM1.SetCommPort(1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_wndCOM1.SetSettings(\"9600,e,7,1\");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_wndCOM1.SetRThreshold(1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_wndCOM1.SetSThreshold(0);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_wndCOM1.SetInputLen(1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_wndCOM1.SetPortOpen(TRUE);\/\/\u6253\u5f00\u901a\u4fe1\u53e3<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return TRUE;\/\/return TRUE unless you set the focus to a <BR>control<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<\/P><br \/>\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u63a5\u4e0b\u6765\u4e3a\u7a0b\u5e8f\u4e3b\u5bf9\u8bdd\u6846\u5efa\u7acb\u54cd\u5e94MSComm\u4e8b\u4ef6\u7684\u5904\u7406\u51fd\u6570\uff0c\u6bcf\u5f53MSComm\u63a7\u4ef6\u89e6\u53d1\u4e8b\u4ef6\u65f6\u8be5\u51fd\u6570\u5c06\u88ab\u8c03\u7528\u3002\u5728\u5bf9\u8bdd\u6846\u7f16\u8f91\u5668\u4e2d\u7528\u9f20\u6807\u5de6\u952e\u53cc\u51fbMSComm\u63a7\u4ef6\u56fe\u6807\uff0c\u5728\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\u8f93\u5165\u51fd\u6570\u540dOnCommCOM1\uff0c\u8be5\u4e8b\u4ef6\u5904\u7406\u51fd\u6570\u7684\u539f\u578b\u5b9a\u4e49\u548c\u6d88\u606f\u6620\u5c04\u5165\u53e3\u5c06\u81ea\u52a8\u88ab\u6dfb\u52a0\u5230CMyCOMDlg\u7c7b\u4e2d\uff0c\u6211\u4eec\u6240\u8981\u505a\u7684\u53ea\u662f\u5728OnCommCOM1\u51fd\u6570\u4e2d\u7ed9\u51fa\u5177\u4f53\u7684\u6570\u636e\u5904\u7406\u7a0b\u5e8f\u6bb5\uff0c\u4ee3\u7801\u793a\u4f8b\u5982\u4e0b\uff1a <\/P><br \/>\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void CMyCOMDlg::OnCommCom1()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/TOD O:Add your control notification handler code here<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CString sInput;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(m_wndCOM1.GetCommEvent())<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 1: \/\/comEvSend\u4e8b\u4ef6<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/*\u5982\u6709\u6570\u636e\u8981\u53d1\u9001\uff0c\u53ef\u91c7\u7528\u4ee5\u4e0b\u4ee3\u7801\uff1a<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARIANT varOut;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VariantInit(&amp;varOut);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; varOut.vt=VT_BSTR;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; USES_CONVERSION;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; varOut.bstrVal=SysAllocString(T2OLE)(\"My data\"));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(varOut.bstrVal){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_wndCOM1.SetOutput(varOut);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SysFreeString(varOut.bstrVal);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *\/<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 2:\/\/comEvReceiv\u4e8b\u4ef6\uff0c\u6709\u6570\u636e\u5230\u8fbe<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sInput=m_wndCOM1.GetInput().bstrVal;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u5bf9\u63a5\u6536\u5230\u7684\u6570\u636e\u505a\u5fc5\u8981\u5904\u7406<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case 1009:\/\/comEventRxParity\u4e8b\u4ef6\uff0c\u5947\u5076\u6821\u9a8c\u9519\u8bef<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \/\/\u9519\u8bef\u5904\u7406\u4ee3\u7801<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \ue5e5 \ue6a4<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u5728\u8fd9\u91cc\u5fc5\u987b\u6ce8\u610f\u7684\u4e00\u70b9\u662f\u5728\u53d1\u9001\u5b57\u7b26\u6570\u636e\u65f6\uff0c\u5fc5\u987b\u5411MSComm\u63a7\u4ef6\u63d0\u4f9bUnicode\u683c\u5f0f\u7684\u5b57\u7b26\u4e32\uff0c\u5728\u4ee5\u4e0a\u4ee3\u7801\u4e2d\u7528\u5230\u4e86USES_CONVERSION\u548cT2OLE\u5b8f\u8fdb\u884cANSI\u5b57\u7b26\u4e32\u5230Unicode\u5b57\u7b26\u4e32\u7684\u8f6c\u6362\uff0c\u5177\u4f53\u5185\u5bb9\u53ef\u53c2\u8003Visual <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++6.0\u6240\u5e26\u7684MSDN\u6587\u6863\uff0c\u5728\u6b64\u4e0d\u52a0\u8d58\u8ff0\u3002 <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u672c\u6587\u5bf9Windows 98\u4e0bVisual C++ <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u7a0b\u5e8f\u4e2d\u4f7f\u7528MSComm\u4e32\u884c\u901a\u4fe1ActiveX\u63a7\u4ef6\u7f16\u7a0b\u7684\u65b9\u6cd5\u505a\u4e86\u63a2\u8ba8\uff0c\u663e\u793a\u4e86ActiveX\u6280\u672f\u7684\u5f3a\u5927\u529f\u80fd\u3001\u5145\u5206\u7684\u7075\u6d3b\u6027\u548c\u6613\u7528\u6027\uff0c\u5177\u6709\u4e00\u5b9a\u7684\u5b9e\u8df5\u610f\u4e49\u3002<\/P><br \/>\n<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u6e90\u81ea\u300a\u7535\u5b50\u6280\u672f\u5e94\u7528\u300b<\/P><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e2d\u7535\u7f51\u8bbe\u8ba1\u5e94\u7528: \u5728VC++\u4e2d\u5229\u7528ActiveX\u63a7\u4ef6\u5f00\u53d1\u4e32\u884c\u901a\u4fe1\u7a0b\u5e8f&nbsp;&nbsp;&nbsp;&#038;nb&#8230; <\/p>\n<div class=\"read-more navbutton\"><a href=\"https:\/\/t.n-years.com\/?p=307\">\u9605\u8bfb\u66f4\u591a<i class=\"fa fa-angle-double-right\"><\/i><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[],"class_list":["post-307","post","type-post","status-publish","format-standard","hentry","category-24"],"_links":{"self":[{"href":"https:\/\/t.n-years.com\/index.php?rest_route=\/wp\/v2\/posts\/307","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/t.n-years.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/t.n-years.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/t.n-years.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/t.n-years.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=307"}],"version-history":[{"count":1,"href":"https:\/\/t.n-years.com\/index.php?rest_route=\/wp\/v2\/posts\/307\/revisions"}],"predecessor-version":[{"id":2552,"href":"https:\/\/t.n-years.com\/index.php?rest_route=\/wp\/v2\/posts\/307\/revisions\/2552"}],"wp:attachment":[{"href":"https:\/\/t.n-years.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=307"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/t.n-years.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=307"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/t.n-years.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=307"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}