C#设置win10默认打印机,调用下面的方法一直返回false。

[DllImport("winspool.drv",CharSet=CharSet.Auto,SetLastError =true)]
public static extern bool SetDefaultPrinter(string Name);

c#

1个回答

试试看这个代码:https://blog.csdn.net/daone/article/details/42487655
另外,检查下程序是否有权限,用管理员方式运行
最后,看看是不是系统有打印机,你设置的打印机名字是不是写错了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MemcachedClient.set 一直返回false?
var cfg= new MemcachedClientConfiguration();//创建配置参数rncfg.Servers.Add(new System.Net.IPEndPoint(IPAddress.Parse("127.0.0.1"), 11211));//增加服务节点rncfg.Protocol = MemcachedProtocol.Binary;rn_memcachedClientclient = new MemcachedClient(cfg);rnbool b = _memcachedClient.Store(StoreMode.Set, "afdsf", "hellodsflasd", DateTime.Now.AddMinutes(_days));rn该命令一直返回false,memcached安装在win764位上,防火强已经全部关系,11211端口,本地可以set成功,可是使用上面的客户端一直返回false,
signature.verify 一直返回false
翻译一段用C写的代码到JAVA, C代码验证签名可以返回正确的结果,JAVA接口返回的结果一直是false。很沮丧,没有任何思路了,谁能帮忙看看,给点思路?rnrnC code:rn[code=c]rn if (1 != RSA_verify(NID_sha1, md, sizeof(md), sig, sigLen, aikRsa)) rn fprintf (stderr, "Error, bad RSA signature in quote\n");rn exit (2);rnrn[/code]rnrnRSA_verify原型:rn[code=c]rnint RSA_verify(int type, const unsigned char *m, unsigned int m_len,rn unsigned char *sigbuf, unsigned int siglen, RSA *rsa);rn[/code]rnrnaikRsa 从PEM文件中调用接口直接读取:rn[code=c]rnif ((aikRsa = PEM_read_RSA_PUBKEY(key_file, NULL, NULL, NULL)) == NULL) rn fprintf (stderr, "Unable to read RSA file %s\n", av[1]);rn exit (1);rnrn[/code]rnrnPEM_read_RSA_PUBKEY原型:rn[code=c]rn RSA *PEM_read_RSA_PUBKEY(FILE *fp, RSA **x,rn pem_password_cb *cb, void *u);rn[/code]rnrn翻译过去的JAVA code:rn[code=java]rn Signature signature;rn signature = Signature.getInstance("SHA1withRSA");rn signature.initVerify(pubkey); rn signature.update(md);rn if (!signature.verify(sig)) rn log.error("signature is not correct\n");rn else rn log.info("signature is correct\n");rn rn[/code]rnrnpubkey用下面的方法从文件中读取(从网上找到的一个方法):rn[code=java]rnpublic PublicKey getPemPublicKey(String filename) throws Exception rn File f = new File(filename);rn FileInputStream fis = new FileInputStream(f);rn DataInputStream dis = new DataInputStream(fis);rn byte[] keyBytes = new byte[(int) f.length()];rn dis.readFully(keyBytes);rn dis.close();rnrn String temp = new String(keyBytes);rn String publicKeyPEM = temp.replace("-----BEGIN PUBLIC KEY-----\n", "");rn publicKeyPEM = publicKeyPEM.replace("-----END PUBLIC KEY-----", "");rnrn Base64 b64 = new Base64();rn byte [] decoded = b64.decode(publicKeyPEM);rnrn X509EncodedKeySpec spec =rn new X509EncodedKeySpec(decoded);rn //KeyFactory kf = KeyFactory.getInstance(algorithm);rn KeyFactory kf = KeyFactory.getInstance("RSA");rn return kf.generatePublic(spec);rn rn[/code]rn一个一个比较了signature中的参数,"sig" and "md" 与C代码中的值完全对应除了C中是用unsigned char来表示一个byte,而java中的byte是有符号的值,到底哪里有问题了??谢谢各位!!
代码中的方法一直返回FALSE
- (BOOL)checkForDigits rn NSString *editableExpression = self.expression.text;rn for (int i = 0; i < editableExpression.length; i++)rn char charAtPosition = [editableExpression characterAtIndex:i];rn for (int c = 0; c < 10; c++ )rn char digitAtPosition = digits[c];rn if (charAtPosition == digitAtPosition)rn return TRUE;rn rn rn else rn return FALSE;rn rn rn rn rnrn一直返回False不知道为什么。rnrn我用了isNaN方法但是没有用,于是我自己做了isNaN。数字列阵:rnrn char digits[10] = '1', '2', '3', '4', '5', '6', '7', '8', '9';
VB设置默认打印机设置默认打印机
Option Explicit Const KeyName = "Software\Microsoft\Windows NT\CurrentVersion\Windows" Private Sub Command1_Click() Dim Ver As OSVERSIONINFO, S As String, hKey As Long Dim Device As String, length As Long Ver.dwOSVersionInfoSize = Len(Ver) GetVersionEx Ver Device = List1.Text length = LenB(StrConv(Device, vbFromUnicode)) + 1 If Ver.dwPlatformId = VER_PLATFORM_WIN32_NT Then RegOpenKey HKEY_CURRENT_USER, KeyName, hKey RegSetValueEx hKey, "Device", 0, REG_SZ, ByVal Device, length RegCloseKey hKey MsgBox "设置默认打印机: " & List1.Text & " 成功!", vbInformation, "温馨提示" Else WriteProfileString "windows", "device", Device SendMessage HWND_BROADCAST, WM_WININICHANGE, 32767&, ByVal "windows" End If End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Dim i As Integer For i = 0 To Printers.Count - 1 List1.AddItem Printers(i).DeviceName & "," & _ Printers(i).DriverName & "," & _ Printers(i).Port Next End Sub
【C#】设置计算机的默认打印机
[DllImport("winspool.drv")] public static extern bool SetDefaultPrinter(string Name);
php的move_uploaded_file一直返回false
rnrn```rn rn rnrnrnrn```rnrn
win10设置网络打印机
@1 设置一台电脑,把打印机用usb连接上一台主机。我司为hp laserjet m1005。 @2 安装好打印机的驱动。直接有的删除后,重新安装 ,重新搜索 。 一般的话,只要安装 好驱动,电脑就可以识别打印机了。然后就可以打印了。 @3 设置成网络共享打印机。(如果之前关闭了windows firewall服务请 把 windows firewall 服务开启。)然
C# 调用dll的时候返回false
代码是:rn[DLLImport("Generator.dll",EntryPoint="ResetMachine")]rn[return:MarshalAs(UnmanagedType.I1)]rnpublic static extern bool ResetMachine();rnrn使用的时候直接用一个 if 判断,if里面判断以后执行的程序,不对ResetMachine()进行操作,只是些C#的认证之类的rnif(ResetMachine())rnrn //true执行的程序rnelsernrn //false执行的程序rnrnrn他写的是回调函数,在返回以前用弹出框返回了值,是true,但是到我这边调用判断的时候就成false了rnrn求高手帮忙解决下、、、 、、、
win10设置浏览器的默认
在有的时候,会出现浏览器默认ie的情况,导致很多不习惯,我们想换成别的浏览器默认,步骤如下: 1.点击win10的系统图标 2.点击设置按钮 3.点击输入默认程序,回车 4.点击左键在这对应的浏览器中进行选择自己需要的浏览器 5.完成 ...
如何调用ResetPrinter函数设置默认打印机
请问如何调用ResetPrinter函数设置默认打印机
Windows设置默认打印机
有时候需要设置默认打印机,可以使真是物理打印机,也可以设置虚拟打印机,比如打印输出PDF或者发送到OneNote中。 Windows 7下方法; 【开始】-【设备和打印机】,在【打印机和传真】中选中相应的打印机设备,【右键】-【设置为默认打印机】。 也可以从【控制面板】-【硬件和声音】-【设备和打印机】的方式进来设置。
怎么设置默认打印机?
我用这个方法,得到打印列表,怎么根据选中的打印名称,更改为默认打印机?rnprivate void GetPrint()rn rn string sPrintName;rn for (int i = 0; i < PrinterSettings.InstalledPrinters.Count; i++)rn rn sPrintName = PrinterSettings.InstalledPrinters[i];rn listBox1.Items.Add(sPrintName);rn rn
怎样设置默认打印机
在一台机器上可以连接多个打印机,在需要打印时,要打印到不同的打印机上:rn如:报表A打印到HP LaserJet 6L上,用A4纸;rn 报表B打印到EPSON LQ1600K上,用连续纸;rn 因为打印量较多,不想手工选择打印机,想直接打印到相应的打印机上,怎样设置?rn(在打印时将对应打印机变为默认打印机,打印后恢复原来的默认打印机)
如何设置默认打印机?
已知打印机的名字,如何能将此打印机设置成默认打印机呢??rnrn
设置默认打印机
public class PrintDemo rn rnprivate System.Drawing.Printing.PrintDocument printdoc; rnpublic void Print() rn rn this.printdoc = new System.Drawing.Printing.PrintDocument(); rn this.printdoc.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(printdoc_PrintPage); rn this.printdoc.Print(); rn rnprivate void printdoc_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) rn rn//这里写打印代码 rn rn rn这样写能输出到打印序列,但是状态为 错误-正在打印,而且只能输出到虚拟打印机,并且输出的打印文档路径也找不到。我设置了网络打印机为默认,也不行。
winform 设置默认打印机
我想在winform程序 的 appconfig里面设置默认打印机 有木有大神帮帮我~~~~(>_<)~~~~
设置默认打印机的问题
我参考Delphi的代码,在CB6中写了如下的代码来设置默认打印机:rnrnchar* ADevice;rn char* ADriver;rn char* APort;rn char* s;rn unsigned int hDeviceMode;rn TPrinter* APrinter = Printer();rn int nIndex = APrinter->Printers->IndexOf("EPSON TM-U210A(R) Receipt");rn APrinter->PrinterIndex = nIndex;rnrn APrinter->GetPrinterA(ADevice,ADriver,APort,hDeviceMode);//出错了!rn StrCopy(s, ADevice);rn StrCat(s, ",");rn StrCat(s, ADriver);rn StrCat(s, ",");rn StrCat(s, APort);rn WriteProfileString("windows","device", s);rn StrCopy (s, "windows");rn SendMessage (HWND_BROADCAST, WM_WININICHANGE, 0, (long)&s);rnrn但是执行到:rnAPrinter->GetPrinterA(ADevice,ADriver,APort,hDeviceMode);rn的时候出错了,提示access voilaton,请问一下,是什么原因?如何解决?rn
vb设置默认打印机
可选择要设置的打印机进行设置,设置选择的打印机为默认打印机,源代码
关于设置默认打印机
我用CommonDialog控件或comdlg32.dll类型库显示出来打印对话框,但不知怎样才能把文档打向在对话框中选择的打印机而不是默认打印机(我不想改变系统的默认打印)?rnrn现在我只能把文档打印向系统默认的打印机,或当CommonDialog选择了一个打印机后系统原来的默认打印机就变了。rn请教高手。
pb 设置默认打印机
请教个问题:用PB代码怎么设置默认打印机?SetDefaultPrinterA ,这个API函数只能设置安装在本机的打印机为默认打印机,不能设置网络共享的打印!请高手指教!有没有方法设置网络共享的打印为默认打印机
设置默认打印机的问题!
rnrn[code=C#]rnusing System;rnusing System.Data;rnusing System.Configuration;rnusing System.Web;rnusing System.Web.Security;rnusing System.Web.UI;rnusing System.Web.UI.WebControls;rnusing System.Web.UI.WebControls.WebParts;rnusing System.Web.UI.HtmlControls;rnusing System.Drawing.Printing;rnusing System.Runtime.InteropServices;rnrn/// rn/// Printers 设置默认打印机rn/// rnpublic class Printersrnrn public Printers()rn rn //rn // TODO: 在此处添加构造函数逻辑rn //rn rnrn [DllImport("winspool.drv", CharSet = CharSet.Auto, SetLastError = true)]rn private static extern long SetDefaultPrinter(string pszPrinter);rnrn public static string printName = ConfigurationManager.AppSettings["pdfPrint"].ToString();rnrn public static string GetDefaultPrinterName()rn rn PrintDocument pd = new PrintDocument();rn return pd.PrinterSettings.PrinterName;rn pd.Dispose();rn rnrn public static long SetDefaultPrinterName(string name)rn rn return SetDefaultPrinter(name);rn rnrn public static int GetLastError()rn rn return Marshal.GetLastWin32Error();rn rnrnrnrn[/code]rnrnrnrn用以上方法设置默认打印机,但是发布到IIS后无法正常设置。rn该怎么解决??rnrnrn本地测试:rnrn 准备设置默认打印机rn 取得当前默认打印机:\\tpe-dc\FX DocuCentre 450 I PCL 6rn 设置PDF Printer 为默认打印机rn 取得当前默认打印机:Bullzip PDF Printerrn 文件名:C:\ouput\e15e55a4-e01d-41e5-84af-92e47bdec4651.pdfrn 开始打印rn 打印成功rn发布后:rnrn 准备设置默认打印机rn 取得当前默认打印机:未设置默认打印机。rn 设置PDF Printer 为默认打印机rn 取得当前默认打印机:未设置默认打印机。rn 文件名:C:\ouput\e15e55a4-e01d-41e5-84af-92e47bdec4651.pdfrn 开始打印rn 尚未安装打印机。要安装打印机: ,在 Microsoft Windows 2000 中,单击“开始”,指向“设置”,然后单击“打印机”。双击“添加打印机”。在 Microsoft Windows XP 中,单击“开始”,然后单击“打印机和传真”。在“打印机任务”下,单击“添加打印机”。按照向导中的说明进行操作即可。rn
如何设置默认打印机.
我在Win98下调用API函数设置默认打印机始终不成功,请高手帮助.
ABAP设置默认打印机
SU01——输入用户——更改 选择缺省值——输出设备
PB 设置默认打印机
请教个问题:用PB代码怎么设置默认打印机?SetDefaultPrinterA ,这个API函数只能设置安装在本机的打印机为默认打印机,不能设置网络共享的打印!请高手指教!有没有方法设置网络共享的打印为默认打印机
C#中如何设置系统的默认打印机
private ManagementObjectSearcher query; rn private ManagementObjectCollection queryCollection; rn string _classname="SELECT * FROM Win32_Printer"; rn rn query=new ManagementObjectSearcher(_classname); rn queryCollection = query.Get(); rn rn foreach (ManagementObject mo in queryCollection) rn rn if (string.Compare(mo["Name"].ToString(),PrinterName,true)==0) rn rn mo.InvokeMethod("SetDefaultPrinter",null); rn break; rn rn rn在windows2000下出错,提示没有任何类别中执行这个方法,不知还有其他方法没有可以设置系统默认的打印机
请教C#更改默认打印机的方法
一台机器上安装了两个打印机,怎样在C#程序中更改默认的打印机?
C# 修改默认打印机
先添加  System.Management  引用 using System.Management;  private ManagementObjectSearcher query;private ManagementObjectCollection queryCollection;string _classname=&quot;SELECT * FROM Win32_Printer&quot;;  query=...
为什么我的create一直返回FALSE?
CSersocket : public CAsyncSocket,然后在一个对话框类里定义CSersocket m_sersocket;m_sersocket.Create()总是返回FALSE,哪位高人指点一下?
C#控制打印机直接打印,设置默认打印机
C#控制打印机直接打印,设置默认打印机,窗体运用窗体运用窗体运用窗体运用窗体运用
win10如何设置默认打开方式
当然可以在设置中更改 本文提供一种简单一些的方案 1.选中一个该类型的文件,如123.doc 2.右键选择属性 3.常规中选择更改 4.选好之后点击上图中的确定  ...
win10设置万能五笔为默认
  然后选择&quot;区域和语言&quot; 有时语言这栏是空白的 解决方式为 创建一个 aaa.bat文件,里面的内容为 plorer shell:::{BF782CC9-5A52-4A17-806C-2A894FFEEAC5} 然后保存执行这个bat文件 语言这栏就不是空白的了 选择默认输入法 在“区域和语言”里找到&quot;高级键盘设置&quot;  家庭版的操作系统设置 ...
win10 linux子系统设置默认用户
lxrun是旧版的,不可使用了。新版比如ubuntu, 那么,命令行输入ubuntu /? 即可找到所要的信息Usage:    &amp;lt;no args&amp;gt;      - Launches the distro's default behavior. By default, this launches your default shell.    run &amp;lt;command line&amp;gt...
【C++】Win10设置默认程序
最近测试反馈Win10设置我们的应用不正常,经google查询,由于Win10设置了hash校验设置的ProgId值,如果hash正确才能正常启动,所以我们必须得调用Win8/Win10 Api去正确设置。 举例: #include &amp;lt;ShObjIdl.h&amp;gt; bool SetDefaultClient(wchar_t* pClientName) { IApplicati...
无法设置默认打印机问题
打印机图标还在,但是默认打印机的对勾却没有了,点右键设置默认打印机无法成功,个人怀疑是病毒,试过网上的方法:rn在确定在管理员组后可以试试这个方法rn一、开始->运行->regeditrn[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows]rn将权限更改为拒绝后再修改成充许rnrnrn如果发现没有最后的windows选项就自己手动在CurrentVersion新建一个windows文件夹就可以了rnrn二、开始->运行->net stop spooler(停止Pringt Spooler服务)rnnet start spooler(启用Pringt Spooler服务)rnrn如果不行的话先删除所有的打印机驱动,下载打印机驱动重装一遍~可以先操作上面的步骤rnrn请教是否有好的解决办法?rnrn
VB读取和设置默认打印机
代码完美优化过,绝对可用, 可以把系统所有打印机显示在列表中,并显示当前默认打印机, 可以设置默认打印机,同时把设置的默认打印机存入 ini 文件中, 可以从ini文件中读取上一次设置的默认打印机 设置为当前默认打印机。
关于NET设置默认打印机
开始我是使用JS设置默认打印机,一旦客户端有网络打印机就会非常慢。rn后来我就换了一种方法,用了(C#使用window API 控制打印)http://blog.csdn.net/jaimy2000/article/details/2947910rnrn本机设置是好用的,但发布到服务器就不好用了,我怀疑是IIS权限的问题。rnrn有了解的朋友麻烦解决一下。
关于缺省(默认)打印机的设置
我现在有好几台打印机,都同时连起来了,我的程序里的资料分别打印到不同的打印机,然后是用windows的打印任务打的,这就需要程序动态设置windows默认打印机了,但是我现在有一个函数只能支持windows98的,不支持windows2000,不知道哪位高手知道这方面的知识,高分相求啊,最好提供些原码参考,因为本人涉及pb不久,谢谢
Win2000,无法设置默认打印机。。。。。。。。。
rn无法设置某打印机为默认打印机,提示“无法设置默认打印机”rn全部删除打印机后,任意添加一台,到最后一步本来 Windows 会自动设成默认的,也出现一样的错误。。rnrn不重装系统,有没有办法解决??rn
如何设置datareport的默认打印机?
如何设置datareport的默认打印机?rnFor Each T In Printersrn If T.DeviceName = Combo1.Text Thenrn Set Printer = Trn Exit Forrn End IfrnNextrn这个方法好像不行,请大家帮忙
请问如何设置默认打印机?
DataReport.Show只能在默认的打印机上预览吗?rn如何将指定打印机设置为默认打印机?
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法