如何在虚拟机安装软件,如何应用.dll文件破解虚拟串口
答案:1 悬赏:30 手机版
解决时间 2021-04-10 00:10
- 提问者网友:浪荡绅士
- 2021-04-09 07:55
如何在虚拟机安装软件,如何应用.dll文件破解虚拟串口
最佳答案
- 五星知识达人网友:想偏头吻你
- 2021-04-09 08:52
网上搜索一番,主要有VSPM和VSPD,前者是在WIN7前使用稳定,后者在WIN7中使用稳定。我的电脑是WIN7_64的,所以选用了VSPD7。于是下了个VSPD7.1的安装包,安装完成后,利用软件界面就可以创建相应的虚拟COM口了。具体如何使用,可以参看这篇文章《虚拟串口VSPD的使用方法》。记住一点,VSPD的COM通信是成对的,一个用于接收数据,一个用于发送数据。
有了虚拟COM口后,就是写一个DEMO进行测试。具体可以参看这篇文件章《win7系统下用vspd软件进行串口编程实例》。
当虚拟COM口可以实现通讯之后,就想着我们的程序是依赖于这个VSPD安装包的,那如果我们是否可以不依赖呢?有两种方案:
方案一:自己写一个虚拟COM的驱动,然后里面实现。有兴趣的可以参看该文《开发虚拟串口驱动程序》。
方案二:VSPD安装包是一个安装程序,为了实现虚拟COM,必然会有相应的驱动。如果我们能够找到这个驱动并安装,之后用相应的接口来调用,或是可行。
方案一想了,但自认还没有这个能耐,于是果断放弃,退而选方案二。那么方案二要实现,首先要解决的问题是接口的调用,因为驱动程序即使不能做到自己安装,但还是可以通过VSPD安装包的安装来解决,那么VSPD中有没有提供这样的接口呢?
查看VSPD的用户手册(User Manual),里面果然有相应的接口(在Using serial port driver in your program下的Functions中),于是有C#写了相应的调用,下面是代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//Add
using System.Runtime.InteropServices;
namespace Anser.U2Simulator.Model
{
public class VSPD
{
//[DllImport(VSPDCTL.dll, EntryPoint = CreatePair, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Auto)]
//public static extern bool CreatePair(byte[] comName1, byte[] comName2);
///
/// CreatePair creates a pair of virtual serial ports with given names.
/// It accepts two null-terminated strings determining which ports should be created as input.
/// For example, COM5 and COM6.
///
......余下全文>>
有了虚拟COM口后,就是写一个DEMO进行测试。具体可以参看这篇文件章《win7系统下用vspd软件进行串口编程实例》。
当虚拟COM口可以实现通讯之后,就想着我们的程序是依赖于这个VSPD安装包的,那如果我们是否可以不依赖呢?有两种方案:
方案一:自己写一个虚拟COM的驱动,然后里面实现。有兴趣的可以参看该文《开发虚拟串口驱动程序》。
方案二:VSPD安装包是一个安装程序,为了实现虚拟COM,必然会有相应的驱动。如果我们能够找到这个驱动并安装,之后用相应的接口来调用,或是可行。
方案一想了,但自认还没有这个能耐,于是果断放弃,退而选方案二。那么方案二要实现,首先要解决的问题是接口的调用,因为驱动程序即使不能做到自己安装,但还是可以通过VSPD安装包的安装来解决,那么VSPD中有没有提供这样的接口呢?
查看VSPD的用户手册(User Manual),里面果然有相应的接口(在Using serial port driver in your program下的Functions中),于是有C#写了相应的调用,下面是代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
//Add
using System.Runtime.InteropServices;
namespace Anser.U2Simulator.Model
{
public class VSPD
{
//[DllImport(VSPDCTL.dll, EntryPoint = CreatePair, CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Auto)]
//public static extern bool CreatePair(byte[] comName1, byte[] comName2);
///
/// CreatePair creates a pair of virtual serial ports with given names.
/// It accepts two null-terminated strings determining which ports should be created as input.
/// For example, COM5 and COM6.
///
......余下全文>>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |