小编msa*_*ago的帖子

打印任何文件类型

我正在创建一个服务,它将监视特定文件夹并打印放在此文件夹中的任何文件.我对可以发送到要打印的文件夹的各种文件类型有困难.

我的第一次尝试是使用Microsoft Office文件.我要做的是启动办公室打印文件.它更像是一个捕获,我不是真正使用库或类似的东西.

到目前为止,这种方法可行,但当没有Office应用程序在计算机上启动时,Office会要求用户输入首字母.因此,在这种情况下,我的应用程序将无法正常工作,因为我以编程方式执行此操作.

        ProcessStartInfo info = new ProcessStartInfo(myDocumentsPath);
        info.Verb = "Print";
        info.CreateNoWindow = true;
        info.WindowStyle = ProcessWindowStyle.Hidden;
        Process.Start(info);
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试使用Microsoft Office文件,但我也会对其他类型应用相同的方法.

无论如何,要绕过第一次Office运行所需的缩写?

或者更好地解决我的问题?

任何帮助表示赞赏,提前谢谢.

c# windows printing

5
推荐指数
1
解决办法
644
查看次数

错误:请求成员(也许你打算使用' - >'?)同时使用' - >'

这个错误意味着什么?

错误:请求'*printerInfo'中的成员'Attributes',其指针类型为'PPRINTER_INFO_2 {aka _PRINTER_INFO_2A*}'(也许您打算使用' - >'?)

PPRINTER_INFO_2* printerInfo = NULL;

    void ChangedPrinter()
    {
       ...
       DWORD attributesPrinterInfo;

       printerInfo = (PPRINTER_INFO_2*) malloc(bufferSize);

       attributesPrinterInfo = printerInfo->Attributes; // error

       free(printerInfo);
    }
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么???

c++ syntax pointers compiler-errors dynamic-allocation

3
推荐指数
1
解决办法
1万
查看次数

C++消耗delphi DLL

我无法使用delphi中开发的dll的功能.我在类型的转换方面遇到了一些困难.

这是我想调用DLL的函数:

function rData(ID: Cardinal; queue: WideString): WideString; stdcall;
Run Code Online (Sandbox Code Playgroud)

我在C++中的代码是这样的:

typedef string (*ReturnDataSPL)(DWORD, string);

string result;
HMODULE hLib;
hLib = LoadLibrary("delphi.dll");
pReturnDataSPL = (ReturnDataSPL)GetProcAddress(hLib,"rData");
if (NULL != pReturnDataSPL)
   result = pReturnDataSPL(JobID,printerName);
Run Code Online (Sandbox Code Playgroud)

问题我无法使其发挥作用.我不知道哪种类型与Delphi WideString和Cardinal兼容.

谁来帮帮我

编辑:

这是我想调用DLL的函数:

procedure rData(ID: Cardinal; queue: WideString; var Result: WideString); stdcall;
Run Code Online (Sandbox Code Playgroud)

更改代码后看起来像这样:

typedef void (__stdcall *ReturnDataSPL)(DWORD, BSTR, BSTR&);

HMODULE hLib;
BSTR result = NULL;
hLib = LoadLibrary("delphi.dll");

pReturnDataSPL = (ReturnDataSPL)GetProcAddress(hLib,"rData");
if (NULL != pReturnDataSPL)
{
   pReturnDataSPL(JobID,(BSTR)"Lexmark X656de (MS) (Copiar 2)",result);
}
Run Code Online (Sandbox Code Playgroud)

c++ delphi dll widestring

2
推荐指数
1
解决办法
1651
查看次数

FluentNhibernate - 试图在添加时添加多对一的"文档"

我没有得到我的映射代码,总是出现相同的错误:当我启动应用程序创建表时,它显示以下错误

尝试在添加时添加多对一的"文档".

这是我的代码:

   public class DocTypes
        {
            public virtual Int16 Id { get; private set; }
            public virtual IList<Documents> Documents { get; set; }        
        }


   public class Documents
        {
            public virtual Int64 Id { get; private set; }
            public virtual DocTypes DocType { get; set; }
            public virtual IList<Files> Files { get; set; }
            public virtual IList<Fields> Fields { get; set; }               
        }
 public class Fields
    {

        public virtual Int32 Id { get; private set; }
        public virtual Documents Document …
Run Code Online (Sandbox Code Playgroud)

c# nhibernate fluent-nhibernate hibernate-mapping

1
推荐指数
1
解决办法
1420
查看次数