PDA

View Full Version : سوال: نمایش ِDesktop با استفاده از API



robat7
چهارشنبه 24 آذر 1389, 23:50 عصر
سلام
می خواهم از داخل برنامه Desktop را در صورت نیاز نمایش دهم به عبارت دیگر (WindowsKey + D)
این کار را در ٌWindows XP با فراخوانی Show Desktop.scf انجام می دادم وای حالا در windows 7 این امر ممکن نیست
فکر کردم با sendkey این کار را انجام دهم ولی ظاهرا نمی توانم windows key را در sendkey معرفی کنم
از یک سایت دستور زیر را پیدا کردم

System.Diagnostics.Process.Start("rundll32.exe", "user32.dll,LockWorkStation");که بخوبی کار می کند ولی من می خواهم desktop را نمایش دهم
در آدرس زیر نام تمام توابع موجود است ولی نتوانستم تابع مورد نظر را پیدا نمایم

http://msdn.microsoft.com/en-us/library/Aa383688لطفا راهنمایی فرمایید

alirat
پنج شنبه 25 آذر 1389, 04:35 صبح
عزیزم ، من گشتم و تا جایی که متوجه شدم ، این توابع که تو لینکت بود در dll های ویندوز اند ...

تو لینکت دقت کن ، نوشته اسم DLL رو
http://msdn.microsoft.com/en-us/library/ms648750

http://msdn.microsoft.com/en-us/library/aa383686

robat7
پنج شنبه 25 آذر 1389, 17:34 عصر
ابتدا باید shell32 را از C:\Windows\System32 به برنامه اضافه نمود (Right Click on References in Solution Exprlorer \ Browse)- کدهای زیر عملیات مورد نظر را انجام می دهند


//Reference: http://blogs.msdn.com/b/robgruen/archive/2004/02/24/79294.aspx

Shell32.ShellClass objShel = new Shell32.ShellClass();

// Show the desktop
((Shell32.IShellDispatch4)objShel).ToggleDesktop() ;

کامیاب باشید