两台电脑分别为:
主电脑(1)确保主电脑要装上了打印机驱动
副电脑(2)
先行手动设置(附上百度教程)一下,如果成功最好,设置过程遇到问题的话可以往下看
第一个坑:在2电脑网络共享里一直找不到1电脑的存在,就很气,解决方案是
设置-网络和Interet-以太网-网络-网络配置文件-专用(公用和专用来回切换一下,重启电脑,在我的电脑里刷新)
第二个坑:找到了电脑1的存在,但是连接的时候需要填网络凭据,百度了很多(无果),最简单的解决办法是
控制面板-所有控制面板项-网络和共享中心-高级共享设置-密码保护的共享-关闭密码保护共享
需求:用户可以选择指定打印机进行打印
这就肯定要去动态的去修改系统默认打印机了
[System.Runtime.InteropServices.DllImport("winspool.drv", CharSet = System.Runtime.InteropServices.CharSet.Auto, SetLastError = true)]
private static extern Boolean SetDefaultPrinter(string name);
/// <summary>
/// 设置默认的打印机,如果失败抛出异常.
/// </summary>
/// <param name="name">打印机名字</param>
public void ChangeDefaultPrinter(string name)
{
var result = SetDefaultPrinter(name);
if (!result)
throw new System.ComponentModel.Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error());
}
private void Start()
{
ChangeDefaultPrinter("");
}
现在这里只能更改本地的打印机,网络共享的暂时还没找到。
以后遇到问题的话会持续更新