c#中如何获取默认打印机的句柄 5

vb里面有print.hdc的,但是不知道c#中用什么方式,哪位大虾解答下,谢谢…... vb里面有print.hdc的,但是不知道c#中用什么方式,哪位大虾解答下,谢谢… 展开
 我来答
Sxzy灬丨小柒
2014-12-05 · TA获得超过623个赞
知道小有建树答主
回答量:1223
采纳率:50%
帮助的人:281万
展开全部

首先你要确定打印机在任务管理器中的进程名. 好比是"print.exe"

 /// <summary>
        /// 根据进程名获取句柄
        /// </summary>
        /// <param name="exe">进程名</param>
        /// <returns>(Intptr)句柄</returns>
        private static IntPtr CloseMethod(string exe)
        {
            if (exe.Substring(exe.Length - 4) == ".exe")
                exe = exe.Substring(0, exe.Length - 4);//去掉.exe
            IntPtr ihand = new IntPtr();
            System.Diagnostics.Process[] myPs;
            myPs = System.Diagnostics.Process.GetProcesses();
            foreach (System.Diagnostics.Process p in myPs)
            {
                if (p.ProcessName.ToLower() == exe.ToLower())
                {
                    try
                    {
                        ihand = p.Handle;//句柄
                    }
                    catch (Exception eKillProcess)
                    {
                    }
                }
            }
            return ihand;
        }
        
        
  调用:
  MessageBox.Show(CloseMethod("print.exe").ToString());
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式