问题标签 [mscomm32]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - VB.NET 中的 GUI 滞后
我有一个用于执行串行通信的程序。发送命令后,程序需要等待一小段时间才能接收到数据。使用 ActiveX MsComm 接收数据
http://msdn.microsoft.com/en-us/library/aa259393%28v=vs.60%29.aspx
伪代码如下所示:
timer_tick
发送数据(节点 1)
sleep(500) '同时接收节点 1 的数据
发送数据(节点 2)
. . .
问题是睡眠会导致 GUI 滞后。我想了几个替代方案
1)在发送下一个命令之前在计时器中使用人工计数器大约 500 毫秒,但对我来说似乎不是一个好主意 2)使用线程而不是计时器?并将其设置为后台线程
http://msdn.microsoft.com/en-us/library/system.threading.thread.isbackground(v=vs.71).aspx
3)利用application.doevents?
我对选项 2 或 3 不太熟悉,因此我不愿在我的代码中引入可能复杂的元素。任何人都可以建议更适合此问题或开始朝着选项 2 或 3 努力的任何替代方案吗?
vb6 - MSComm及使用DLL上传数据VB6
我有一个用我的设备创建 MSComm 的 VB6 脚本,一旦创建通信,我就会通过 VB6 脚本中包含的 DLL 文件将文件上传到设备
我面临的问题是我的 VB6 以某种方式劫持了设备,我无法上传文件。而不是花 1 分钟来上传文件应用程序需要永远。
我尝试了以下操作,在创建通信并且 MSComm1.OpenPort = True 设置 MSComm1.OpenPort = False 但通信仍然被劫持,所以我需要将我的设备重新插入 USB 端口,但仍然没有任何效果(但有时它确实适用于未知原因,但我确实不得不等待一段时间)
但是,当我在没有 VB6 脚本与设备创建 MSComm 通信的情况下触发文件上传时,我的文件上传成功。
我认为这与 MSComm 有关,并且我认为我需要以某种方式将其关闭?
我最初需要 MSComm,因为我想获取一些关于我的设备的数据。
我运行一个命令来查找我可以在 VB6 中使用的端口号,然后我运行 MSComm.PortOpen = false; 之后我将文件位置和端口号从 DLL 放入函数并运行命令。
在最初的运行中,我收到一个设备未连接的错误,所以我重新连接设备,但在第二次运行时,一切似乎都正常,除了我必须等待并且没有任何反应。当我在自己的进程上运行 DLL 时,会在 1 分钟内返回成功
我在 VB6 中的 MS Comm 设置
vb6 - VB6 MSComm,127 以上端口返回 8002
我有一个简单的函数来检查系统上是否有打开的端口,我会测试从 1 到 256 的端口。由于某些奇怪的原因,当我在端口超过 127 的设备上有设备时,系统返回错误 8002。这很奇怪,因为当我使用找到了一个不同的 C++ 应用程序来检查连接设备并且可供阅读。
此问题与 MSComm32.OCX 有关,它对可用端口的数量有限制。我需要将此限制增加到 256。我在下面找到了指令列表,但在 MSComm32.OCX 文件中找不到“3D 10 00”,这是在 Windows 8 PC 上。但是,在 Windows XP MSComm32.OCX 上确实包含“3D 10 00”,我很快找到了该字符串并使用http://mh-nexus.de/en/hxd/添加了一个新字节“FF”并删除了字节“10”并将其保存为新文件。
powerbuilder - 如何获取或等待 AT 命令的结果码?
如何在不使用Sleep()
PowerBuilder 中的函数的情况下获取或等待 AT 命令的结果代码?我正在为 PowerBuilder 使用 MSComm OLE 控件。我可以在MSCOmm.Input
属性返回正确的缓冲区之前执行 While 循环吗?(例如,OK
) 但是,我尝试了这个,但Input
返回一个空字符串。
这是我的 PB 代码:
这是端口设置:
有什么建议么?还是我做错了什么?
vb6 - 在VB6中将长消息从PC发送到手机
我想从电脑向手机发送长短信(超过 160 个字符)。我在 VB6 中使用 MSComm 控件。它适用于小消息,但当我的消息超过 160 个字符时,它显示发送正常但消息未传递。
at-command - 如何使用AT指令检测“RING”是否结束
有没有办法检测调制解调器是否停止响铃?我正在使用 MSComm 对象通过串行端口与我的手机通信。我知道 MSComm 有一个事件可以判断电话是否在响铃,但没有事件可以告诉电话是否停止响铃。
谢谢。
dll - 无法使用 Windows 7 64 位在 VB6 IDE 中加载 MSCOMCT2/MSCOMCTL
希望你一切都好。
我一直在尝试在 VB6 编辑器中加载 MSCOMCT2/MSCOMCTL 组件时感到非常痛苦。
我采取的步骤如下:
我已经在具有管理员权限的 CMD 中使用 regsvr32 成功注册了组件。一旦我去加载我注册的组件,我就会得到组件未注册错误。
我什至手动取消注册组件并在重新启动我的电脑后重新注册它们 - 没有任何变化。
我尝试在 System32 和 SysWOW64 文件夹中注册和引用这两个组件。
我已经卸载并重新安装了 VB6 IDE 并重复了上述操作,但没有成功。
即使当我检查 regedit 时,组件似乎也会在预期时注册和取消注册。
任何人都可以建议修复吗?
谢谢!
vba - Excel、VB 宏、MSCOMM 和标准用户
我有一个通过 Excel 通过带有 MSComm32 的 com 端口操作的设备。一些宏链接到 Excel 表单上的按钮,用于使该设备正常工作。直到它突然停止工作的最后几天。
经过一些调查,似乎在 Excel 中应用了一些安全注意事项。如果 Excel 以标准用户身份运行,则迄今为止使用的 Excel 文件将不再工作。例如,当尝试进入创建模式时,错误消息指示无法创建控件。但是,如果 Excel 以管理员身份运行,那么一切正常。
有没有简单的方法来解决这个问题?例如,授予 MSComm32 OCX 模块的标准用户访问权限?
谢谢!
excel - OnComm 事件不触发
我试图在收到短信时获取 3g 调制解调器的输入。
这是我用来捕获任何传入短信的代码。
无论代码如何,事件都不会触发,就好像什么都没收到一样。
我在这里想念什么?
感谢你。