问题标签 [winfax]
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.
c# - 如何使用 .NET 应用程序中的 WinFax Pro COM 对象?
我知道,WinFax Pro 是 1998 年的。
(注意:这不是 WinFax.dll,它显然是 Windows 的一部分。这是 WinFax Pro,一个单独的商业附加应用程序,最初来自 Delrina,后来被赛门铁克收购)。
我在仍然使用 WinFax Pro 作为操作系统的办公室工作。他们将客户传真号码存储在 WinFax Pro“电话簿”中,并使用它来通知客户服务访问。它现在的工作方式是,某人查看从 Mac 日历生成的(打印的)时间表,然后单击 WinFax 电话簿中的所有适当条目,以发送通知传真。
这就像我们过去所说的“转椅”集成,但它指的是 2 个屏幕。这甚至不是 2 个屏幕——它是一张纸和一个屏幕。
无论如何,我正在尝试使其自动化并遇到麻烦。
好消息:
- WinFax Pro 将其功能公开为 COM 对象:用于传真发送引擎的 WinFax.SDKSend;WinFax.SDKPhoneBook 为通讯录等。
- WinFax Pro 提供了一个类型库 wfxctl32.tlb,它描述了这些不同的 COM 对象。- 我能够通过从 tlbimport 生成的包装器成功使用 .NET (C#) 中的 WinFax.SDKSend 对象。(我使用的是 .NET 3.5,不能使用 .NET 4.0)。
坏消息:
除了 WinFax.SDKSend,我无法调用 WinFax COM 对象上的任何方法。签名看起来并不比 WinFax.SDKSend 中的签名复杂,但我不断收到异常。
C# 代码:
例外:
异常:System.InvalidCastException:无法将类型为“wfxctl32.CSDKPhoneBookClass”的 COM 对象转换为接口类型“wfxctl32.ISDKPhoneBook”。此操作失败,因为 IID 为“{A67FCC81-9949-11D0-961E-444553540000}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:不支持此类接口(来自 HRESULT 的异常:0x80004002 (E_NOINTERFACE)) .
在 System.RuntimeType.InvokeDispMethod(字符串名称,BindingFlags invokeAttr,对象目标,Object[] args,Boolean[] byrefModifiers,Int32 文化,String[] namedParameters)
在 System.RuntimeType.InvokeMember(字符串名称,BindingFlags bindingFlags,Binder binder,在 wfxctl32.CSDKPhoneBookClass
的 System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)中的对象目标、Object[] providedArgs、ParameterModifier[] 修饰符、CultureInfo 文化、String[] namedParams)
。 GetFolderListFirst(Int16 standardFolder, String folderID)
c# - COM 互操作:如何从 LPDISPATCH 获取 CCW?
我正在用 C# 编写一个应用程序,它通过 IDispatch 连接到一个 old-skool COM 对象。我用这种代码做到这一点:
此 IDispatch 接口上的方法之一返回一个 LPDISPATCH,我认为它是一个指向 IDispatch 的长指针。它是另一个 COM 对象,ProgId WinFax.Attachment。(WinFax.Attachments 管理 WinFax.Attachment 对象的集合。)
在 C# 中,如何调用与该 LPDISPATCH 对应的 COM 对象上的方法?我可以做这样的事情:
c# - 从其他服务管理 Windows 传真服务
我开发了一个(Topshelf)服务,它使用 Windows 的底层传真服务(在我的例子中是 win7)准备和发送传真作业。我使用FaxDotNet,它只是为 .NET 包装了 winfax.dll(前 FAXCOM)。
每当我独立运行我的服务(控制台托管)时,它都会按预期工作。但是,当我安装该服务(使用相同的域帐户)并启动它时,只要它必须向传真服务发送传真,它就会挂起。唯一的出路是在任务管理器中杀死该服务。当服务或控制台应用程序不是执行帐户时,它有什么不同?
显然并非所有 FaxDotNet 任务似乎都挂起。检索和刷新活动作业确实有效。删除传真作业会引发错误。
更新:显然问题出在传真 API 之外,并且在 Acrobat 阅读器中,该阅读器以打印命令启动以将 PDF 内容呈现到传真打印机。当我切换到另一个默认 PDF 查看器时,它可以工作。因此,在“服务模式”下,Acrobat 似乎不会向调用 API 发出信号,表明它已完成,但 acrord32.exe 进程已适当关闭(没有隐藏对话框左右)。
此外,当我将其作为服务运行(仅独立)时,我无法使用远程调试。这部分有什么建议吗? 更新:没关系这个。它显示一个错误,但它仍然有效。
c# - 带有 FAXCOMEXLib 问题的 Windows 2008 传真
我正在使用 FAXCOMEXLib 来实现传真服务。
我创建了一个 Windows 服务,从数据库中检索传真文档,连接到传真服务器。一切都很好,但是当我打开 Windows 传真和扫描时。传真作业不在发件箱队列中。但是如果我使用 WinForm 程序发送,该作业将出现在发件箱队列中,以便我可以取消它或删除它。
vb.net - 发送传真时如何选择特定的调制解调器?
我正在编写一个应用程序来通过 FAXCOMEXLib 发送传真。我使用了这段代码:
我有两个调制解调器(调制解调器 1 或调制解调器 2)。当使用此代码发送传真时,由第一个可用的调制解调器执行。
但是根据我的规则,我需要使用 Modem1 或 Modem2 发送传真。如何选择特定的调制解调器来发送传真?
delphi - Get Fax Job Status
I have tried the code below for sending fax:
What I was trying to do was get the job status for the fax sent. I have tried to add
compiled the source code and found no error but after executing the code, it fails at FaxJobStatus := CoFaxJobStatus.Create saying "class not registered".
c# - FAXCOMLib 在 Windows 服务中不起作用
我想从计算机发送传真,我正在使用 FAXCOMLib。它适用于基于 Windows 的应用程序,但不适用于 Windows 服务。
我发现一个线程显示 FAXCOMLIb 在 Windows 服务器上不起作用。
真的吗?如果是。
任何人都可以让我知道如何使用 Windows 服务发送传真吗?
提前致谢...
image - 哪些因素会影响传真的传输速度?
我有一个自动生成文件并将它们传真的应用程序,我正在努力提高它的速度。
当我通过一个名为 Classic PhoneTools 的应用程序发送这些文件时,持续时间为 35-40 秒。速度是 14,400 bps,因为我选择了正常质量(不是高质量)选项 Classic PhoneTools 说传输模式是正常的。
当我通过我的应用程序发送相同的文件时,持续时间总是 50-60 秒。速度为 14,400 bps,但传输模式始终为 HQ(高质量),即使我没有选择此模式。
我尝试生成各种 jpg、pdf 和 bmp 文件,无论大小,彩色、灰度或黑白,分辨率更大或更小,只有当我缩小数据以使其显示一半时,速度才会提高页或更少。我认为经典电话工具通过在传真之前以某种方式压缩从文件中获得的数据来获得相同的效果。
为了获得最佳的传真速度,我应该生成什么类型的文件,具有什么特征?C# 中的代码示例会非常好。
fax - 需要及时发送传真
我是新手,对传真处理知之甚少。
但是,由于我们正在使用 interfax 服务发送传真,如果我们一次发送一个传真,那么在这种情况下不会有太多延迟/失败,但我们的要求是在一个号码上发送多个传真时间(数字可以是 10 - 1000 之间的任何值)。
我已与国际传真支持团队讨论并得到以下答复:
“重要的是要注意它们都发送到同一个号码,因为:InterFAX 系统不会同时向同一个号码发送多个传真。这是设计使然。”
我们是一家购物/食品订购服务,在我们的商业模式中,一旦客户下订单,我们就会向企业主发送传真......因此,一次可以向企业发出多个订单,因此将发送多个传真由系统发送。所以请让我们知道一些满足我们要求的传真服务,接收传真时延迟超过 1 分钟?
所以,请建议我最好的传真 API,它可以一次发送多个传真而不会有太多延迟。