PDA

View Full Version : آموزش: کار با Taskbar ویندوز ویستا، 7 و 8 در VB.Net



peyman677
پنج شنبه 02 آذر 1391, 17:23 عصر
با سلام
خودم کلی دنبال این موضوع گشتم ولی چیز بدردبخوری پیدا نکردم، در سایت های خارجی تونستم در باره کار با قابلیت های جدید تسک بار ویندوز 7 و 8 مطالبی پیدا کنم.
برای کار با نوار وظیفه شما ابتدا باید دو Dll زیر را به رفرنس پروژه خودتون اضافه کنید:(میتوانید در فایل ضمیمه دانلود کنید)
Microsoft.WindowsAPICodePack.Shell.dll
Microsoft.WindowsAPICodePack.dll
سپس در قسمت جنرال فرم اصلی کد زیر را تایپ کنید :
Imports Microsoft.WindowsAPICodePack.Taskbar
Imports Microsoft.WindowsAPICodePack.Shell
Imports MS.WindowsAPICodePack.Internal.CoreHelpers
در دستور هایی که در ادامه به آن می پردازیم شما باید چک کنید که آیا سیستم عامل از این ویژگی پشتیبانی می کند یا خیر (اختیاری، در صورتی که در ویندوز ایکس پی اجرا شود کاربر با خطای دات نت مواجه خواهد شد)با دستور زیر که مقدار True یا False را برمی گرداند:
TaskbarManager.IsPlatformSupported
برای اختصاص دادن یک پروگرس بار از دستور زیر استفاده می کنیم :
TaskbarManager.Instance.SetProgressValue(Value, Maximum , handle )
Value مقدار فعلی
Maximum حداکثر مقدار
برای نمایش وضعیت از دستور زیر استفاده می کنیم :
TaskbarManager.Instance.SetProgressState
NoProgress:پروگرس بار نشان داده نشود.
Indeterminate: به صورت marquee .
Normal:حالت عادی - سبز.
Error: خطا - قرمز .
Paused: متوقف شده - زرد.
http://www.codeproject.com/KB/winsdk/Win7NewFeatures/ProgressBar3.png
مثال :
TaskbarManager.Instance.SetProgressState(TaskbarPr ogressBarState.Error)
If TaskbarManager.IsPlatformSupported = True Then TaskbarManager.Instance.SetProgressValue(10, 100, Handle)
نکته1: مثلا در حالت زرد و قرمز مقادیر قابل تغییر هستند یعنی شما همواره می توانید به آن مقداری بدهید
نکته 2 : در صورتی که حالت بر روی Indeterminate یا NoProgressباشد درصورتی که با آن مقدار بدهید همانند Normal عمل خواهد کرد.
سورس کار با این دستورات در VB.Net 2010 را در فایل ضمیمه میتوانید دانلود کنید.
در اینده دیگر قابلیت ها را بررسی خواهیم کرد
با تشکر

SHD.NET
پنج شنبه 02 آذر 1391, 17:30 عصر
اگه یه نمونه سورس کار با این پروگرس رو هم بزارید خیلی خوب میشه . ممنون

\\\موفق باشید///:چشمک:

xxnagin
پنج شنبه 02 آذر 1391, 18:47 عصر
سلام
اینم کل نمونه ها (http://www.codeproject.com/Articles/56376/Windows-7-New-Features-step-by-step-in-vb-net-and) و اینجا (http://www.codeproject.com/Articles/49268/Windows-7-New-Features-Explained-Using-NET) همراه سورس Microsoft.WindowsAPICodePack.dll و Microsoft.WindowsAPICodePack.Shell.dll






خودم کلی دنبال این موضوع گشتم ولی چیز بدردبخوری پیدا نکردم، در سایت های خارجی تونستم در باره کار با قابلیت های جدید تسک بار ویندوز 7 و 8 مطالبی پیدا کنم.
برای کار با نوار وظیفه شما ابتدا باید دو Dll زیر را به رفرنس پروژه خودتون اضافه کنید:(میتوانید در فایل ضمیمه دانلود کنید)


اگه به این تایپیک (http://barnamenevis.org/showthread.php?302827-قرار-دادن-Progressbar-در-Taskbar&p=1467863#post1467863) مراجعه میکردید پیدا می شد

SHD.NET
پنج شنبه 02 آذر 1391, 19:49 عصر
ممنون که راهنمایی کردین

amirmms
پنج شنبه 02 آذر 1391, 20:49 عصر
مررررررررررررسی وای پسر فوق العاده بوووود مرررررسی :لبخندساده:

فرید نجفلو
جمعه 03 آذر 1391, 12:08 عصر
سلام
دوستان توجه کنن که با توجه به اینکه این امکانات تو ویندوز 7 , 8 ساپورت میشه پس کاربری که ویندوزشون پایین تر هست (و تعداشون هم زیاده) با مشکل مواجه می شن
ولی به این معنی نیست که شما نمی تونید از این امکانات چشم پوشی کنید بلکه فقط باید کد های خودتون رو کنترل کنید
قبل از اجرای خط یا خطوطی که از این امکانات استفاده می کنن باید نگارش ویندوز رو برسی کنید و اگه نگارش به حداقل لازم نرسید کد رو (به هیچ وجه) اجرا نکنید
نمونه:

Dim MinVer = New Version("6.1.0.0") 'شماره نگارش ویندوز های 7
If Environment.OSVersion.Version >= MinVer Then
'کد اینجا اجرا می شود
Else
'کدی سازگار با ویندوز های پایین تر
End If

peyman677
یک شنبه 05 آذر 1391, 23:55 عصر
با سلام

سلام
دوستان توجه کنن که با توجه به اینکه این امکانات تو ویندوز 7 , 8 ساپورت میشه پس کاربری که ویندوزشون پایین تر هست (و تعداشون هم زیاده) با مشکل مواجه می شن
ولی به این معنی نیست که شما نمی تونید از این امکانات چشم پوشی کنید بلکه فقط باید کد های خودتون رو کنترل کنید
قبل از اجرای خط یا خطوطی که از این امکانات استفاده می کنن باید نگارش ویندوز رو برسی کنید و اگه نگارش به حداقل لازم نرسید کد رو (به هیچ وجه) اجرا نکنید
نمونه:

Dim MinVer = New Version("6.1.0.0") 'شماره نگارش ویندوز های 7
If Environment.OSVersion.Version >= MinVer Then
'کد اینجا اجرا می شود
Else
'کدی سازگار با ویندوز های پایین تر
End If


بله درسته یک جور دیگه هم میشه :البته درصورتی کار میکند که
Imports MS.WindowsAPICodePack.Internal.CoreHelpers

اضافه کرده باشید


if TaskbarManager.IsPlatformSupported=true then
'کد اینجا اجرا می شود
else
کدی سازگار با ویندوز های پایین تر
End if

یه درخواست از مدیران سایت داشتم، لطفاً بخش آموزش و سوال رو برای راحتی کاربران جدا کنید تا راحت تر موضوعات مختلف را بتوانیم جستجو کنیم
هم اکنون به دلیل مختلط بودن سوال و آموزش پیدا کردن موضوعات به راحتی امکان پذیر نیست. مانند این سایت (http://opda.ir)که همه قسمت ها منظم هستند.
ممنون از همه
با تشکر

AghaMohsen
پنج شنبه 31 مرداد 1392, 19:18 عصر
ببخشید یه سوال : آیا رو .net ورژن 2 هم این کار انجام میشه یا فقط net. 3.5 به بالا ؟