自动添加打印机

 1 /*
 2  *   Name   :ConnectPrinter.c
 3  *   Author :null
 4  *   Date   :07/19/2018
 5  *   Purpose:本程序是一个用于自动连接打印机的小程序,目的在于减轻管理员的日常管理工作。
 6  *   只需要将此小程序发给局域网内需要连接打印机的同事,即可自动连接相应的打印机。当然,
 7  *   需要事先在打印主机上安装 64 和 32 位的驱动程序,以便运行不同操作系统的机器顺利连接。
 8  */
 9
10 /* 加这一行是因为使用 MinGW 进行编译的时候,不论使用 -std=c99 还是 -std=c11,都会无法识别 %hhu
11  * 具体参考 https://stackoverflow.com/questions/36531893/c-scanf-unsigned-char
12  */
13 #define __USE_MINGW_ANSI_STDIO 1
14 #include <stdio.h>
15 #include <windows.h> // system()
16
17 void DisplayMenu(void);
18
19
20 int main(void)
21 {
22     unsigned char choice,ret;
23
24     DisplayMenu();
25     printf("\n请选择要连接的打印机(输入选项前的数字): ");
26     ret = scanf("%hhu",&choice);
27     getchar();/* 这里的getchar() 不能少,否则会陷入无限循环 */
28     while(ret != 1 || choice <1 || choice > 5) /* 检查输入是否合法,不合法则提示错误并重新输入 */
29     {
30             DisplayMenu();
31             printf("\n输入错误,请重新选择!\n(输入选项前的数字): ");
32             ret = scanf("%hhu",&choice);
33             getchar();
34     }
35     switch(ret)
36     {
37             /* 关于rundll32 printui.dll,PrintUIEntry 连接打印机可参考
38              * https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/rundll32-printui
39              */
40         case 1:
41             system("rundll32 printui.dll,PrintUIEntry /in /n \\\\ServerName\\PrinterName01"); /* printer 1 */
42             break;
43         case 2:
44             system("rundll32 printui.dll,PrintUIEntry /in /n \\\\ServerName\\PrinterName02"); /* printer 2 */
45             break;
46         case 3:
47             system("rundll32 printui.dll,PrintUIEntry /in /n \\\\ServerName\\PrinterName03"); /* printer 3 */
48             break;
49         case 4:
50             system("rundll32 printui.dll,PrintUIEntry /in /n \\\\ServerName\\PrinterName04"); /* printer 4 */
51             break;
52         case 5:
53             system("rundll32 printui.dll,PrintUIEntry /in /n \\\\ServerName\\PrinterName02"); /* printer 5 */
54             break;
55     }
56
57     return 0;
58 }
59
60 void DisplayMenu(void)
61 {
62     system("cls");
63     puts("***************************************");
64     puts("*                                     *");
65     puts("*          打印机连接程序             *");
66     puts("*      可帮助你自主连接打印机         *");
67     puts("*                                     *");
68     puts("***************************************");
69     puts("");
70     puts("");
71     puts("1. printer 1");
72     puts("2. printer 2");
73     puts("3. printer 3");
74     puts("4. printer 4");
75     puts("5. printer 5");
76 }/*Result:

***************************************
*                                     *
*        打印机连接程序        *
*      可帮助你自主连接打印机      *
*                      *
***************************************

1. printer 1
2. printer 2
3. printer 3
4. printer 4
5. printer 5

请选择要连接的打印机(输入选项前的数字):

*/

原文地址:https://www.cnblogs.com/randomname/p/9338870.html

时间: 2024-08-30 14:13:05

自动添加打印机的相关文章

Autoit3 自动添加打印机

从网上找的代码进行了修改!!如下 ProgressOn("处理中,请稍候...BY:天祈", "", "", -1, -1, 2 + 16) ProgressSet(0, "已完成 0%", "正在创建变量...") $fileURL[email protected] & "userprint.ini" ;MsgBox(0, "", $fileURL) If

[daily] linux添加打印机

只用过HP的打印机,用过两个,分别是:HP_p2055dn, 和 HP_LaserJet_Professional_M1216nfh  别的不知道.以下内容仅试用于HP打印机. 第一:装HP,打印机工具 pacman -S hplip 这个包,自带配置工具和打印机驱动. 其实,装这个就能用了,然后使用自带工具hp-toolbox,hp-setup之类的一设置. 不过在几年前使用第一台打印机2055的时候,我还不太懂,所以学习了一个开放的打印机接入服务cups(到底是干啥的,我也并不太知道),cu

mac OS X:[11]如何添加打印机

苹果菜单中,单击下拉列表中的『系统偏好设置』: 或在Dock上,单击『系统偏好设置』图标. 2 在『系统偏好设置』窗口中,单击『打印机与扫描仪』图标. 3 在『打印机与扫描仪』窗口中,单击打印机框架下的『+』号按钮. 4 在加号『+』按钮的下拉菜单中,点击『添加打印机或扫描仪』. 5 在『添加』窗口中,单击『IP』选项卡: »『地址』:输入IP地址或者主机名:(IP地址:192.168.1.101 或 主机名:[email protected]) »『协议』: 互联网打印协议 - IPP:现代打

keepalived启动后iptables自动添加Drop规则

keepalived 在启动后如果参数配置不当,会在iptables中自动添加一条DROP VIP的规则.这里的一些参数可能会造成这个问题. 1.在配置中添加了strict 或 noaccept参数. 2.在全局配置下使用了vrrp_strict 参数.此参数为严格控制VRRP协议,不支持单播模式,注释掉此选项,将不会默认添加DROP规则.

PADS技巧--自动添加泪点

为PADS添加泪点,这样可以保证焊盘与走线之间的连接,同时提高了电器性能.添加方法:“Tools”下选择“option”(或者直接快捷键“Ctrl+Enter”),然后如下图所示勾选“Generate teardrops”选项.这样系统会自动给已有的焊盘添加泪珠,此后的布线也会自动在焊盘的连接处产生泪珠.如下图所示, 焊盘如下图所示, PADS技巧--自动添加泪点,布布扣,bubuko.com

Linux命令:自动添加用戶

1.自动添加10用戶: #adminuser.sh #!/bin/bash # if [ $1 == '--add' ]; then forI in {1..10}; do if id user$I &> /dev/null; then echo "user$I exists." else useradd user$I echo user$I | passwd --stdin &> /dev/null echo "add user$I finish

struts2 去掉自动添加的 html

引入Struts2 框架后,在原有html代码上自动添加了大量的table.tr.等标签,去掉方法如下: 在struts2的配置文件struts.xml中添加下面的语句: <constant name="struts.ui.theme" value="simple"></constant> 意思为使用简单主题:

Oracle自动添加列

Oracle数据库的表格怎样才能想MySQL一样整数主键拥有自动增加功能呢? 前提你得创建一个表 create table tab{ id number not null primary key,--主键 . . . } 然后,得创建一个序列 -- Create sequence create sequence SEQ_tab --- SEQ_tab序列的名称 minvalue 1 --输入最小值 maxvalue 99999999999999999999999 --输入的最大值 start w

Provisioning Services 7.8 入门系列教程之八 自动添加设备

续Provisioning Services 7.8 入门系列教程之七 批量导入设备 对于批量导入设备,其最大的缺点是在导入前,必须准确记录所有设备的MAC地址.当然,这种方式也有许多方便之处,如可以将不同的设备添加到不同地站点.不同的集合. 下面介绍第三种方式:通过自动添加向导完成设备的添加 使用自动添加向导 自动添加向导可以自动配置各种规则,以便利用自动添加功能将新的目标设备自动添加到 Provisioning Services 数据库中. 可以在场.站点.集合或设备级别启动自动添加向导.