PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : طراحي Sreen Saver با ويژوال بيسيك



TAHA
10-29-2009, 12:43 AM
طراحي Sreen Saver با ويژوال بيسيك
سلام
ميخوايم با ويژوال بيسيك يه Screen Saver بنويسيم.اول از همه چگونگي كار Screen Saver رو اينجا مينويسم تا بعد كم كم با هم يه Screen Saver ابتدايي بنويسيم.(من خودم قبلا يكي نوشتم - شده شبيه كلاساي آشپزي !!! كه ميگن واسه اينكه وقت كم داريم قبلا آماده كرديم- هر كس كه ميخواد ميتونه بهم ميل بزنه تا براش بفرستم.)
اول از همه بايد در مورد خود Screen Saver بگيم.درباره يه SS (براي اينكه زياد نخوام بنويسم به جاي كامل نوشتن اسم Screen Saver مينويسم SS) كمي تو ضيح بديم.
يه SS يه برنامه Exe معموليه كه پسوندش عوض شده. يعني به جاي Exe شده Scr .
البته اين به معناي اين نيست كه هر Exe اي ميشه يه SS ولي هر SS رو فقط با عوض كردن پسوند به يك Exe تبديل كنيد. البته يك تفاوت ديگر هم هست.آنهم آرگومانهاي خط فرمان است.اگر براي داس برنامه نويسي كرده باشيد حتما با آرگومانهاي خط فرمان آشنا هستيد. اين بحث كوچك را اختصاص مي دهيم به آرگومان خط فرمان در VB
در ويژوال بيسيك يك دستور وجود دارد كه همه آرگومانها را به يكباره در يك رشته به شما بر ميگرداند.دستور Command$ . اين كار را انجام ميدهد. يك تست كوچك و ساده شايد خيلي مفيد باشد :
اين كد را بنويسيد :
[code:1]

Option Explicit



Private Sub Form_Load()

   MsgBox Command$

   End

End Sub

TAHA
10-29-2009, 12:44 AM
سلام
دفعه قبل در مورد پارامتر هاي خط فرمان و نحوه گرفتن اونها توضيح داديم اينبار ميخوايم در مورد پارامتر هاي معتبر براي يك SS توضيح بديم.[code:1]

Windows communicates with Screen Savers through command line arguments.

The ScrnSave.lib library handles this for Screen Savers that are written to use it,

but other Win32 Screen Savers marked 4.0 or higher must handle the following

command line arguments:



Run switch  ----------------------- Means



ScreenSaver ---------------------- Show the Settings dialog box.



ScreenSaver /c:<HWND>-------- Show the Settings dialog box, modal to the foreground window(<HWND> window). Note: <HWND> is child of display properties(Setting frame) and you must use get parent for this case.



ScreenSaver /p <HWND>------ Preview Screen Saver as child of window <HWND>. &nbsp;



ScreenSaver /s &nbsp;Run the Screen Saver



In addition, Windows 95 Screen Savers must handle:



ScreenSaver /a <HWND> ------- change password, modal to window <HWND>



<HWND> is a HWND presented on the command line as an unsigned decimal number. [/code:1]
اگه اطلاعات بيشتر ميخوايد واژه kbScreenSaver رو جستجو كنيد.اگه ديده باشيد (و اگه برنامه بالايي رو اجرا كرده باشيد )حتما اين آرگومانها رو ميشناسيد.
اگه SS بدون آرگومان راه بيفته يعني بايد كه ديالوگ تنظيمات خودش رو نشون بده. اين ميشه گفت به معني اينه كه يكي از توي كاوشگر ويندوز (چون فارسي انگليسي كردن تو اين محيط دردسر داره اين واژه ها رو به كار ميبرم و گرنه با خيلياشون مشكل دارم اينجا هم منظورم Explorer هست) روي گزينه Configureكليك كرده.
اگه با سوييچ c/ اجرا بشه معنيش اينه كه بازم ديالوگ تنظيمات بايد بياد ولي ايندفعه از ديالوگ تنظيمات Desktop و دكمه Setting رو كليك كرده. در مورد عدد هم بعدا ميگيم اما فعلا همين بس كه اين عدد دستگيره(Handle ) فريم (نه ديالوگ) Screen Saver هست.
اگه با سوييچ p/ فراخواني بشه يعني اينكه بايد SS در ديالوگ Screen Saver توي اون تصوير كوچك مانيتور نمايش (اصطلاحا پيش نمايش) داده بشه.اون عدد بعدش هم فعلا همين بس كه دستگيره همون تصوير مانيتوره است.
اما اصل ماجرا s/ يعني اين كه حالا وقتشه كه SS نمايش داده بشه.(يعني يا وقتش رسيده يا اينكه كاربر خودش خواسته)
يه سوييچ ديگه هم هست كه در مورد ويندوز 9X صادقه. a/ كه براي نمايش ديالوگ تنظيم كلمه رمز (همون Pass Word) به كار ميره عدد بعدي هم دستگيره ديالوگ (و نه فريم ) Screen Saver هست.