我一直在扯我的头发。我有一个我编写的 C++ OPOS 驱动程序。我用 C# 编写了一个虚拟密码键盘。它有效,一切都很好。
不过,给我的一个要求是 C# 驱动程序必须与调用程序一起出现。这需要一段时间才能弄清楚,因为我们期望它必须是 OPOS 驱动程序所在的位置。让我觉得我在设置它时做错了什么。
我知道这很模糊,并且需要更多信息,但我不知道从哪里开始,或者您需要哪些信息来帮助您解决这方面的问题。我会经常检查并回答任何问题....啊,我讨厌这样含糊不清..请不要发火:)我会根据需要进行编辑。
编辑
很抱歉没有很好地表达这一点。当我写这篇文章时,我发生了很多事情。我自己重新阅读它并在想“NEWB!” 哈。
好吧,如此低落和肮脏。问题不在于 COM 驱动程序,而在于 C# 虚拟键盘。总结一下我要说的是为什么我的 C# 虚拟 pinpad dll 必须与我的可执行文件位于同一位置,而不是与我注册的 UPOS 驱动程序位于同一位置?
所以要详细说明。驱动程序有效(前提是我不会再搞砸了)。正如所指出的,任何程序都必须注册它才能使用它。一切都很好。我们将与此 UPOS 驱动程序相关的所有必要文件放在同一个文件夹中。有一次,我们有一个内置在 UPOS 驱动程序中的 C++ 虚拟密码键盘,但为了简单起见,我决定只制作一个 COM 可见的 C# 虚拟密码键盘会更快、更容易。在大多数情况下,它是。这很好,因为如果我进行任何图形更改,我可以替换 VPP.dll 并且生活很好。然后我在电脑上安装了这组驱动,当我试图打开VPP时它会崩溃。出于绝望,我开始复制VPP。dll到不同的位置,发现当我把它放在与执行程序相同的位置时,它就会开始工作。这不是我想要的。我希望能够将它与我的其他驱动程序放在同一目录中。(因环境而异,但通常位于“程序文件”文件夹中)这让我回到了上面总结的问题。令人难以置信的是,我的 UPOS 驱动程序是发出 COM 调用的驱动程序。当我进行安装时,我的安装部分是将 VPP.dll 放入 Program Files 文件夹并在其上运行 regasm(这表示它是成功的)。因此,它必须与正在执行的程序一起使用,这让我感到难以置信。哦,它需要位于集中位置的另一个原因是我们在不同的位置安装了一些不同的程序(确切地说是 4 个)。人为错误就是我不想将 VPP.dll 复制到每台计算机上可能的 4 个位置。(最终将达到 500 左右)
所以现在我澄清了,(实际上问了一个问题……对此感到抱歉),我们有什么建议吗?