vb ´®¿ÚͨѶ
MSComm¿Ø¼þÌṩÁËÁ½ÖÖ´¦ÀíͨÐŵķ½Ê½£ºÒ»ÖÖΪʼþÇý¶¯·½Ê½£¬¸Ã·½Ê½Ï൱ÓÚÒ»°ã³ÌÐòÉè¼ÆÖеÄÖжϷ½Ê½¡£µ±´®¿Ú·¢Éúʼþ»ò´íÎóʱ£¬MSComm¿Ø¼þ»á²úÉúOnCommʼþ£¬Óû§³ÌÐò¿ÉÒÔ²¶»ñ¸Ãʼþ½øÐÐÏàÓ¦´¦Àí¡£±¾ÎĵÄÁ½¸öÀý×Ó¾ù²ÉÓø÷½Ê½¡£ÁíÒ»ÖÖΪ²éѯ·½Ê½£¬ÔÚÓû§³ÌÐòÖÐÉè¼Æ¶¨Ê±»ò²»¶¨Ê±²éѯ MSComm¿Ø¼þµÄijЩÊôÐÔÊÇ·ñ·¢Éú±ä»¯£¬´Ó¶øÈ·¶¨ÏàÓ¦´¦Àí¡£ÔÚ³ÌÐò¿ÕÏÐʱ¼ä½Ï¶àʱ¿ÉÒÔ²ÉÓø÷½Ê½¡£
³£ÓÃÊôÐԺͷ½·¨
ÀûÓÃMSComm¿Ø¼þʵÏÖ¼ÆËã»úͨÐŵĹؼüÊÇÀí½â²¢ÕýÈ·ÉèÖÃMSComm¿Ø¼þÖÚ¶àÊôÐԺͷ½·¨¡£ÒÔÏÂÊÇMSComm¿Ø¼þµÄ³£ÓÃÊôÐԺͷ½·¨£º
¡ñCommport£ºÉèÖûò·µ»Ø´®¿ÚºÅ¡£
¡ñSettings£ºÒÔ×Ö·û´®µÄÐÎʽÉèÖûò·µ»Ø´®¿ÚͨÐŲÎÊý¡£
¡ñPortopen£ºÉèÖûò·µ»Ø´®¿Ú״̬¡£
¡ñInputMode£ºÉèÖûò·µ»Ø½ÓÊÕÊý¾ÝµÄÀàÐÍ¡£
¡ñInputlen£ºÉèÖûò·µ»ØÒ»´Î´Ó½ÓÊÕ»º³åÇøÖжÁÈ¡×Ö½ÚÊý¡£
¡ñInBufferSize£ºÉèÖûò·µ»Ø½ÓÊÕ»º³åÇøµÄ´óС£¬È±Ê¡ÖµÎª1024×Ö½Ú¡£
¡ñInBufferCount£ºÉèÖûò·µ»Ø½ÓÊÕ»º³åÇøÖеȴý¼ÆËã»ú½ÓÊÕµÄ×Ö·ûÊý¡£
¡ñInput£º´Ó½ÓÊÕ»º³åÇøÖжÁÈ¡Êý¾Ý²¢Çå¿Õ¸Ã»º³åÇø£¬¸ÃÊôÐÔÉè¼ÆÊ±ÎÞЧ£¬ÔËÐÐʱֻ¶Á¡£
¡ñOutBufferSize£ºÉèÖûò·µ»Ø·¢ËÍ»º³åÇøµÄ´óС£¬È±Ê¡ÖµÎª512×Ö½Ú¡£
¡ñOutBufferCount£ºÉèÖûò·µ»Ø·¢ËÍ»º³åÇøÖеȴý¼ÆËã»ú·¢Ë͵Ä×Ö·ûÊý¡£
¡ñOutput£ºÏò·¢ËÍ»º³åÇø·¢ËÍÊý¾Ý£¬¸ÃÊôÐÔÉè¼ÆÊ±ÎÞЧ£¬ÔËÐÐʱֻ¶Á¡£
¡ñRthreshold£º¸ÃÊôÐÔΪһ·§Öµ¡£µ±½ÓÊÕ»º³åÇøÖÐ×Ö·ûÊý´ïµ½¸Ãֵʱ£¬MSComm¿Ø¼þÉèÖÃCommeventÊôÐÔΪComEvReceive£¬²¢²úÉúOnCommʼþ¡£Óû§¿ÉÔÚOnCommʼþ´¦Àí³ÌÐòÖнøÐÐÏàÓ¦´¦Àí¡£ÈôRthresholdÊôÐÔÉèÖÃΪ0£¬Ôò²»²úÉúOnCommʼþ¡£ÀýÈçÓû§Ï£Íû½ÓÊÕ»º³åÇøÖдﵽһ¸ö×Ö·û¾Í½ÓÊÕÒ»¸ö×Ö·û£¬¿É½«RthresholdÉèÖÃΪ1¡£ÕâÑù½ÓÊÕ»º³åÇøÖнÓÊÕµ½Ò»¸ö×Ö·û£¬¾Í²úÉúÒ»´ÎOnCommʼþ¡£
¡ñSthreshold£º¸ÃÊôÐÔÒàΪһ·§Öµ¡£µ±·¢ËÍ»º³åÇøÖÐ×Ö·ûÊýСÓÚ¸Ãֵʱ£¬MSComm¿Ø¼þÉèÖÃCommeventÊôÐÔΪComEvSend£¬²¢²úÉú OnCommʼþ¡£ÈôSthresholdÊôÐÔÉèÖÃΪ0£¬Ôò²»²úÉúOnCommʼþ¡£ÒªÌرð×¢ÒâµÄÊǽöµ±·¢ËÍ»º³åÇøÖÐ×Ö·ûÊýСÓÚ¸ÃÖµµÄ˲¼ä²Å²úÉú OnCommʼþ£¬Æäºó¾Í²»ÔÙ²úÉúOnCommʼþ¡£ÀýÈçSthresholdÉèÖÃΪ3£¬½öµ±·¢ËÍ»º³åÇøÖÐ×Ö·ûÊý´Ó3½µÎª2ʱ£¬MSComm¿Ø¼þÉèÖà CommeventÊôÐÔΪComEvSend£¬Í¬Ê±²úÉúOnCommʼþ£¬Èç·¢ËÍ»º³åÇøÖÐ×Ö·ûʼÖÕΪ2£¬Ôò²»»áÔÙ²úÉúOnCommʼþ¡£Õâ¾Í±ÜÃâÁË·¢ËÍ»º³åÇøÖÐÊý¾Ýδ·¢ËÍÍê¾Í·´¸´·¢ÉúOnCommʼþ¡£
¡ñCommEvent£ºÕâÊÇÒ»¸ö·Ç³£ÖØÒªµÄÊôÐÔ¡£¸ÃÊôÐÔÉè¼ÆÊ±ÎÞЧ£¬ÔËÐÐ
Ïà¹ØÎĵµ£º
Option Explicit
Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, Optional ByVal wFlags As Long = 0&) As Long
Private Declare Function DrawMenu ......
VBѧµÄÓõͼ²»¾«£¬±à¸ö³ÌÐòÓÃÁ˺ܳ¤Ê±¼äÁË£¬ÏÖÔÚÕâ¸öͨѶ²¿·Ö»¹Ã»×öºÃ£¬ÇóÖú´ó¼Òһϣº
ctrMSComm.Output = "@01R" '¶ÁÃüÁî
instar = ctrMSComm.Input '¶ÁͨѶ
wy_I = val(HEX_to_DEC(Mid(instar, 29, 4))) * (20 / 4095#)
&n ......
http://social.msdn.microsoft.com/Forums/zh-TW/232/thread/5b0e0eb7-9cd7-420a-9f56-e588154174ba
http://www.mndsoft.com/blog/article.asp?id=903
http://topic.csdn.net/t/20051015/14/4328396.html
¡¡¡¡VBÊdz£ÓõÄÓ¦ÓÃÈí¼þ¿ª·¢¹¤¾ßÖ®Ò»£¬ÓÉÓÚVBµÄ±¨±í¹¦ÄÜÓÐÏÞ£¬¶øÇÒÒ»µ«±¨±í¸ñʽ·¢Éú±ä»¯£¬¾ÍµÃÏàÓ¦Ð޸ijÌÐò£ ......
È«ÆÁ
Private Sub Form_Load()
Me.Width = Screen.Width
Me.Height = Screen.Height
Me.WindowState = 2
End Sub
Öö¥
1.ÔÚVBµÄͨÓôúÂëÀïдÈëAPIÉùÃ÷
Private Declare Function SetWindowPos& Lib "user32" (ByVal hwnd As Long, _
&n ......