C# ASP.net核心api无法添加打印机
我制作了一个在特定打印机上打印的程序,但我有多台打印机要设置,所以我想我会制作他们打印的站点,为我做。我试着通过网络来做这件事。powershell等,它可以工作,只是不在我的.net core api中,而是在我的.net core控制台中工作。我已授予IUSR管理打印机、端口等的权限。它可以创建打印机端口,但不能创建打印机。当我使用powershell时,我发现“添加打印机”并不存在,我自己尝试将其放入powershell中,它工作得非常完美。。这是我的密码:C# ASP.net核心api无法添加打印机,c#,asp.net,powershell,rest,asp.net-core,C#,Asp.net,Powershell,Rest,Asp.net Core,我制作了一个在特定打印机上打印的程序,但我有多台打印机要设置,所以我想我会制作他们打印的站点,为我做。我试着通过网络来做这件事。powershell等,它可以工作,只是不在我的.net core api中,而是在我的.net core控制台中工作。我已授予IUSR管理打印机、端口等的权限。它可以创建打印机端口,但不能创建打印机。当我使用powershell时,我发现“添加打印机”并不存在,我自己尝试将其放入powershell中,它工作得非常完美。。这是我的密码: class P
class Program
{
static void Main(string[] args)
{
IntPtr mystrptr = new IntPtr(0);
bool mysend;
IntPtr mysend2;
PRINTER_INFO_2 pi = new PRINTER_INFO_2();
string printer = "05_Vognmodtagelse_Label";
pi.pPrinterName = printer;
pi.pPortName = printer;
pi.pDriverName = "Brother PT-P950NW";
pi.pDevMode = mystrptr;
pi.pPrintProcessor = "WinPrint";
pi.pDatatype = "RAW";
pi.pSecurityDescriptor = mystrptr;
mysend2 = AddPrinter(null, 2, ref pi);
}
[DllImport("winspool.drv", CharSet = CharSet.Auto)]
static extern IntPtr AddPrinter(string pName, uint Level, [In] ref PRINTER_INFO_2 pPrinter);
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)]
struct PRINTER_INFO_2
{
public string pServerName,
pPrinterName,
pShareName,
pPortName,
pDriverName,
pComment,
pLocation;
public IntPtr pDevMode;
public string pSepFile,
pPrintProcessor,
pDatatype,
pParameters;
public IntPtr pSecurityDescriptor;
public uint Attributes,
Priority,
DefaultPriority,
StartTime,
UntilTime,
Status,
cJobs,
AveragePPM;
}
}
注意:这是控制台应用程序中的代码。打印机是连接到服务器还是连接到客户端?“它可以创建打印机端口,但不能创建打印机”的确切含义是什么?打印机连接到服务器。在此之前,它在powershell中运行一个命令来创建tcp端口,它工作得很好。我想问,这有什么不起作用的。
AddPrinter()
返回什么,最新的错误是什么?它返回代码0,因此应该成功。打印机是连接到服务器还是连接到客户端?“它可以创建打印机端口,但不能创建打印机”的确切含义是什么?打印机连接到服务器。在此之前,它在powershell中运行一个命令来创建tcp端口,它工作得很好。我想问,这有什么不起作用的。AddPrinter()
返回什么,最新的错误是什么?它返回代码0,因此应该成功。