با عرض سلام به تمامی دوستان گلم
از عنوان پست مشخصه من میخوام زمانی که پرینت ارسال میشه به صف چاپ تعداد صفحات رو برای من نمایش
با این کد من پرینت های ارسالی رو انتخاب میکنم
System.Management.ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_PrintJob"); ManagementObjectSearcher query1 = new ManagementObjectSearcher(oq); ManagementObjectCollection queryCollection1 = query1.Get; foreach (ManagementObject mo in queryCollection1) { Label1.Text = (" F\'E ~1�F*1: " + mo("DriverName").ToString); Label2.Text = ("F\'E 3F/ : " + mo("Document").ToString); Label3.Text = ("*9/\'/ �D 3F/ : " + mo("TotalPages").ToString); ListBox1.Items.Add(mo("TotalPages")); Timer1.Enabled = false; }
Dim query As String = "SELECT * FROM Win32_PrintJob" Dim searchPrintJobs As ManagementObjectSearcher = New ManagementObjectSearcher(query) Dim jobs As ManagementObjectCollection = searchPrintJobs.Get Dim int_count As Integer = jobs.Count For Each job As ManagementObject In jobs ListBox1.Items.Add(job.Properties("TotalPages").Va lue.ToString) 'Exit For Timer1.Enabled = False 'job = Nothing Next
اینم عکس مغایرت اطلاعات با صف چاپ
یکی از دوستان گفت میتونی از هوک کردن استفاده کنی برای این کار
اطلاعات چندانی در باره هوک کردن ندارم و فقط ازش میدونم که ویندوز برای انجام کارهاش بوسیله پیام هایی که دور از دید کاربراش رد بدل میشه انجام میده (و خیلی کاربردیست)
حالا چطوری میشه اطلاعات صف چاپ رو بوسیله هوک کردن بدست بیاریم
برنامه هم ضمیمه شد
ممنونم میشم راهنماییم کنید
یا علی
سلام
کسی نیست یه راهنمایی کوچولو کنه
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)