问题标签 [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.

0 投票
2 回答
1609 浏览

.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 努力的任何替代方案吗?

0 投票
0 回答
773 浏览

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 设置

0 投票
1 回答
977 浏览

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”并将其保存为新文件。

0 投票
1 回答
1239 浏览

powerbuilder - 如何获取或等待 AT 命令的结果码?

如何在不使用Sleep()PowerBuilder 中的函数的情况下获取或等待 AT 命令的结果代码?我正在为 PowerBuilder 使用 MSComm OLE 控件。我可以在MSCOmm.Input属性返回正确的缓冲区之前执行 While 循环吗?(例如,OK) 但是,我尝试了这个,但Input返回一个空字符串。

这是我的 PB 代码:

这是端口设置:

有什么建议么?还是我做错了什么?

0 投票
1 回答
850 浏览

vb6 - 在VB6中将长消息从PC发送到手机

我想从电脑向手机发送长短信(超过 160 个字符)。我在 VB6 中使用 MSComm 控件。它适用于小消息,但当我的消息超过 160 个字符时,它显示发送正常但消息未传递。

0 投票
1 回答
497 浏览

at-command - 如何使用AT指令检测“RING”是否结束

有没有办法检测调制解调器是否停止响铃?我正在使用 MSComm 对象通过串行端口与我的手机通信。我知道 MSComm 有一个事件可以判断电话是否在响铃,但没有事件可以告诉电话是否停止响铃。

谢谢。

0 投票
1 回答
2621 浏览

dll - 无法使用 Windows 7 64 位在 VB6 IDE 中加载 MSCOMCT2/MSCOMCTL

希望你一切都好。

我一直在尝试在 VB6 编辑器中加载 MSCOMCT2/MSCOMCTL 组件时感到非常痛苦。

我采取的步骤如下:

我已经在具有管理员权限的 CMD 中使用 regsvr32 成功注册了组件。一旦我去加载我注册的组件,我就会得到组件未注册错误。

我什至手动取消注册组件并在重新启动我的电脑后重新注册它们 - 没有任何变化。

我尝试在 System32 和 SysWOW64 文件夹中注册和引用这两个组件。

我已经卸载并重新安装了 VB6 IDE 并重复了上述操作,但没有成功。

即使当我检查 regedit 时,组件似乎也会在预期时注册和取消注册。

任何人都可以建议修复吗?

谢谢!

0 投票
0 回答
151 浏览

vba - Excel、VB 宏、MSCOMM 和标准用户

我有一个通过 Excel 通过带有 MSComm32 的 com 端口操作的设备。一些宏链接到 Excel 表单上的按钮,用于使该设备正常工作。直到它突然停止工作的最后几天。

经过一些调查,似乎在 Excel 中应用了一些安全注意事项。如果 Excel 以标准用户身份运行,则迄今为止使用的 Excel 文件将不再工作。例如,当尝试进入创建模式时,错误消息指示无法创建控件。但是,如果 Excel 以管理员身份运行,那么一切正常。

有没有简单的方法来解决这个问题?例如,授予 MSComm32 OCX 模块的标准用户访问权限?

谢谢!

0 投票
0 回答
479 浏览

vba - VBA Microsoft 通信控制 - 无法插入对象

我无法在控件 (VBA) 中插入 MSCOMM。我已经在 cmd 中注册了 MSCOMM32.OCX 并且成功了。但似乎我的 VBA 无法识别它。我研究了很多。但我找不到任何解决方案。有人能帮我吗?太感谢了。

图片在这里(添加控件(VBA)

0 投票
0 回答
226 浏览

excel - OnComm 事件不触发

我试图在收到短信时获取 3g 调制解调器的输入。

这是我用来捕获任何传入短信的代码。

无论代码如何,事件都不会触发,就好像什么都没收到一样。

我在这里想念什么?

感谢你。