<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >
<channel>
<title>مینودشت Minoodasht</title>
<link>http://minoodashtziba.blogfa.com/</link>
<description>حمید رضا سهیلی</description>
<language>fa</language>
<generator>blogfa.com</generator>
<lastBuildDate>Tue, 16 Jun 2009 19:09:18 GMT</lastBuildDate>
<item>
<title></title>
<link>http://minoodashtziba.blogfa.com/post-6.aspx</link>
<description>:: &lt;A onmouseover=&quot;window.status=&apos;http://www.armandaily.com/News-811802.html&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15246.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;روش دسترسي همزمان به دو ايميل&lt;/FONT&gt;&lt;/A&gt; [20]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://rajanews.com/Detail.asp?id=35619&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15244.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;جومونگ هم صهیونیستی از آب درآمد&lt;/FONT&gt;&lt;/A&gt; [463]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.narenji.ir/content/view/1533/1/&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15243.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;VAIO X، باریک ترین در دنیا&lt;/FONT&gt;&lt;/A&gt; [223]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.mehrnews.com/fa/newsdetail.aspx?NewsID=941356&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15242.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;هفت نظریه علمی که می تواند پایان جهان را پیش بینی کند!&lt;/FONT&gt;&lt;/A&gt; [230]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.farsnews.com/newstext.php?nn=8806130749&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15241.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;نخستين مسجد مجازي در اينترنت افتتاح شد&lt;/FONT&gt;&lt;/A&gt; [166]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://jamejamonline.ir/newstext.aspx?newsnum=100916567916&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15240.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;همه چيز درباره خرما&lt;/FONT&gt;&lt;/A&gt; [139]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.mehrnews.com/fa/newsdetail.aspx?NewsID=941695&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15239.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;شرکت گوگل 11ساله شد&lt;/FONT&gt;&lt;/A&gt; [93]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.farsnews.com/newstext.php?nn=8806130964&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15238.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;قديمي‌ترين رايانه دنيا بازسازي مي‌شود&lt;/FONT&gt;&lt;/A&gt; [176]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.narenji.ir/content/view/1531/1/&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15237.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;نوکیا گوشی جدید خود را معرفی کرد: N97 mini &lt;/FONT&gt;&lt;/A&gt;[345]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.farsnews.com/newstext.php?nn=8806130901&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15233.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;اتحاديه اروپا براي گفت‌وگو با ايران آماده است&lt;/FONT&gt;&lt;/A&gt; [69]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.farsnews.com/newstext.php?nn=8806130936&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15232.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;اعضاي كابينه دهم براي خدمت به ملت كمربندها را محكم‌تر ببندند&lt;/FONT&gt;&lt;/A&gt; [68]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.shahab-moradi.ir/content/view/477/50/&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15231.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;شب های قدر&lt;/FONT&gt;&lt;/A&gt; [111]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.seemorgh.com/lifestyle/default.aspx?tabid=2165&amp;conid=39722&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15210.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;توصیه‌های درباره زولبیا و بامیه&lt;/FONT&gt;&lt;/A&gt; [1736]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://1fathi.com/1388/06/10/five-rule-to-a-faster-web-site/&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15209.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;5 نکته مهم برای برای کسانی که می‌خواهند وبسایتی سریع‌تر داشته باشند&lt;/FONT&gt;&lt;/A&gt; [1079]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://1fathi.com/1388/06/11/4-online-school-to-learn-any-foreign-language-for-free/&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15208.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;4 آموزشگاه آنلاین و رایگان با ده ‌ها دوره آموزش زبان خارجی&lt;/FONT&gt;&lt;/A&gt; [1658]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.farsnews.com/newstext.php?nn=8806071374&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15207.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;18 وزير پيشنهادي دکتر احمدي نژاد مجوز ورود به كابينه را دريافت كردند&lt;/FONT&gt;&lt;/A&gt; [696]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.narenji.ir/content/view/1512/1/&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15169.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;پرينتر خط بريل برای نابينايان برچسب تهيه میکند&lt;/FONT&gt;&lt;/A&gt; [334]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.narenji.ir/content/view/1520/1/&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15168.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;نقشه چراغ قوه ای &lt;/FONT&gt;&lt;/A&gt;[1825]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.narenji.ir/content/view/1526/1/&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15167.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;بستنی گلدانی برای شکوفه زدن روحیه &lt;/FONT&gt;&lt;/A&gt;[1145]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.shahvar.net/1388/06/07/microsoft-apologizes-for-race-swap-photo-incident/&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15166.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;مایکروسافت بخاطر تصاویر نژاد پرستی معذرت خواهی کرد&lt;/FONT&gt;&lt;/A&gt; [2670]&lt;BR&gt;:: &lt;A href=&quot;http://links.p30download.com/&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;ادامه - آرشیو لینکدونی ...&lt;/FONT&gt;&lt;/A&gt; &lt;BR&gt;&lt;/P&gt;
&lt;DIV id=linkdooni style=&quot;DISPLAY: none&quot;&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.7sal.com/1388/06/02/backup-gets-late-soon/&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15163.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;پشتیبان بگیر! گاهی زود دیر میشود&lt;/FONT&gt;&lt;/A&gt; [1117]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.ir-tci.org/archives/software/java/football_calendar_ebook/&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15162.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;کتاب الکترونیکی جدول کامل زمانبندی لیگ های فوتبال اروپا - جاوا&lt;/FONT&gt;&lt;/A&gt; [833]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://naafass.blogspot.com/2009/08/blog-post_5121.html&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15164.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;لجن درمانی در دریاچه ارومیه &lt;/FONT&gt;&lt;/A&gt;[1016]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.mobileha.com/?p=1106&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15161.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;رمضان را به تلفن همراه خود بیاورید !&lt;/FONT&gt;&lt;/A&gt; [852]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.farsnews.com/newstext.php?nn=8806100625&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15160.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;«بازگشت سيمرغ» در ايران، فرانسه و يونان به تصوير كشيده مي‌شود&lt;/FONT&gt;&lt;/A&gt; [712]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.farsnews.com/newstext.php?nn=8806100863&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15159.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;سلول‌هاي بنيادي در اصفهان با نانو ذرات كشت داده مي‌شوند&lt;/FONT&gt;&lt;/A&gt; [211]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://tabnak.ir/fa/pages/?cid=61973&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15137.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;خطرات استفاده از نرم‌افزارهاي فيلترشکن و ‌VPN&lt;/FONT&gt;&lt;/A&gt; [5581]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.mehrnews.com/fa/newsdetail.aspx?NewsID=939206&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15130.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;کودکان می توانند فیلسوف باشند!&lt;/FONT&gt;&lt;/A&gt; [915]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://www.farsnews.com/newstext.php?nn=8805300270&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15129.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;لاغر شدن با كيك&lt;/FONT&gt;&lt;/A&gt; [1212]&lt;BR&gt;:: &lt;A onmouseover=&quot;window.status=&apos;http://khabaronline.ir/news-15905.aspx&apos;; return true&quot; onmouseout=&quot;window.status=&apos;&apos;; return true&quot; href=&quot;http://links.p30download.com/archives/15125.php&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;اکران فیلم«دوخواهر» با بازیگری محمدرضاگلزار درعید فطر&lt;/FONT&gt;&lt;/A&gt; [1625]&lt;BR&gt;:: &lt;A href=&quot;http://links.p30download.com/&quot; target=_blank&gt;&lt;FONT color=#1a3368&gt;ادامه - آرشیو لینکدونی ...&lt;/FONT&gt;&lt;/A&gt;&lt;/DIV&gt;</description>
<pubDate>Tue, 16 Jun 2009 19:09:18 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=minoodashtziba&amp;postid=6</comments>
<dc:creator>minoodashtziba</dc:creator>
<guid>http://minoodashtziba.blogfa.com/post-6.aspx</guid>
</item>
<item>
<title>مینودشت</title>
<link>http://minoodashtziba.blogfa.com/post-5.aspx</link>
<description>مینودشت </description>
<pubDate>Tue, 02 Jun 2009 06:33:18 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=minoodashtziba&amp;postid=5</comments>
<dc:creator>minoodashtziba</dc:creator>
<guid>http://minoodashtziba.blogfa.com/post-5.aspx</guid>
</item>
<item>
<title>خوش آمدید </title>
<link>http://minoodashtziba.blogfa.com/post-3.aspx</link>
<description>به وبلاگ خودتون خوش آمدید.&lt;/P&gt;
&lt;P&gt;مدیریت مینودشت زیبا&lt;/P&gt;</description>
<pubDate>Tue, 02 Jun 2009 06:32:47 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=minoodashtziba&amp;postid=3</comments>
<dc:creator>minoodashtziba</dc:creator>
<guid>http://minoodashtziba.blogfa.com/post-3.aspx</guid>
</item>
<item>
<title>آموزش ویژوال بیسیک</title>
<link>http://minoodashtziba.blogfa.com/post-2.aspx</link>
<description>&lt;P dir=rtl&gt; &lt;/P&gt;
&lt;P dir=rtl align=center&gt;&lt;FONT color=#33ff00 size=4&gt;((افتادگی آموز اگر طالب فیضی     هرگز نخورد آب زمینی که بلند است))&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=rtl align=center&gt;&lt;FONT color=#00ff66&gt;در این وبلاگ به مسائل آموزشی پرداخته می شود و همه جور آموزشی هست&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=rtl align=center&gt;&lt;FONT color=#00ff66&gt;در این هفته قصد آموزش زبان برنامه نویسی ویژوال بیسیک رو دارم&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=rtl align=center&gt;&lt;FONT color=#00ff66&gt;امیدوارم مطالب این وبلاگ بدردتون بخوره&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=rtl align=center&gt;&lt;FONT color=#00ff66&gt;تقدیم به همه بروبچ مینودشت&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=rtl align=center&gt;&lt;FONT color=#00ff00&gt;ح&lt;FONT color=#ffff00&gt;م&lt;/FONT&gt;ی&lt;FONT color=#ffff00&gt;د&lt;/FONT&gt; ر&lt;FONT color=#ffff00&gt;ض&lt;/FONT&gt;ا &lt;FONT color=#ffff00&gt;س&lt;/FONT&gt;ه&lt;FONT color=#ffff00&gt;ی&lt;/FONT&gt;ل&lt;/FONT&gt;&lt;FONT color=#ffff00&gt;ی&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=rtl&gt; &lt;/P&gt;
&lt;P dir=rtl&gt; &lt;/P&gt;
&lt;P dir=rtl&gt; &lt;/P&gt;
&lt;P dir=rtl&gt; &lt;/P&gt;
&lt;P dir=rtl&gt;اختصاص پسوند فایلها به برنامه (مبحث مهم)&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;خوب اول بذارید با یه مقدمه درس رو شروع کنم تا مطلب رو بهتر بگیرید، شما ها همتون خوب میدونید که وقتی روی یک تصویر (Jpeg یا bmp یا GIF و یا غیره) دوبار کلیک می کنید نرم افزار Preview که مخصوص ویندوزه اجرا میشه و تصویر رو نشون میده.&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;حالا ما میخوایم بدونیم که چطوری این اتفاق میفته؟ یعنی اگه ما بخوایم یک نرم افزار مثل Preview یا Notepad بسازیم که با دوبار کلیک روی فایل، برنامه ما به اجرا در بیاد، باید چه کار کنیم؟&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;امّا عجله نکنید من برای این مشکل که مبحث مهمّی هم هست یک جواب پیدا کردم ولی یه خواهشی ازتون دارم اگه این آموزش رو تا تهش خوندید و براتون مفید بود حتماً نظر بدید در ضمن، نپرسید که درباره خط فلان یکم توضیح بده. آخه توضیح رو میخوای چه کار؟ کد رو بردار استفاده کن دیگــــــه.&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و توش یک شئ Image بذارید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید :&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function RegCreateKey Lib &quot;advapi32.dll&quot; Alias &quot;RegCreateKeyA&quot; (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long&lt;BR&gt;Private Declare Function RegSetValue Lib &quot;advapi32.dll&quot; Alias &quot;RegSetValueA&quot; (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long&lt;BR&gt;Private Declare Sub SHChangeNotify Lib &quot;shell32.dll&quot; (ByVal wEventId As Long, ByVal uFlags As Long, dwItem1 As Any, dwItem2 As Any)&lt;BR&gt;&lt;BR&gt;Private Sub Form_Load()&lt;BR&gt;    Image1.Stretch = True&lt;BR&gt;    Image1.Move 0, 0, Me.ScaleWidth, Me.ScaleHeight&lt;BR&gt;    &apos;&lt;BR&gt;    RegisterFile &quot;.BMP&quot;&lt;BR&gt;    RegisterFile &quot;.JPG&quot;&lt;BR&gt;    RegisterFile &quot;.GIF&quot;&lt;BR&gt;    RegisterFile &quot;.WMF&quot;&lt;BR&gt;    RegisterFile &quot;.EMF&quot;&lt;BR&gt;    &apos;&lt;BR&gt;    On Error Resume Next&lt;BR&gt;    If Len(Command()) &gt; 0 Then&lt;BR&gt;        Image1.Picture = LoadPicture(FixPath(Command()))&lt;BR&gt;    End If&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Sub RegisterFile(strPasvand As String)&lt;BR&gt;    Dim sKeyName As String   &apos; Holds Key Name in registry.&lt;BR&gt;    Dim sKeyValue As String  &apos; Holds Key Value in registry.&lt;BR&gt;    Dim ret&amp;           &apos; Holds error status if any from API calls.&lt;BR&gt;    Dim lphKey&amp;        &apos; Holds  key handle from RegCreateKey.&lt;BR&gt;    Dim path As String&lt;BR&gt;    &lt;BR&gt;    path = App.path&lt;BR&gt;    If Right(path, 1) &lt;&gt; &quot;\&quot; Then&lt;BR&gt;       path = path &amp; &quot;\&quot;&lt;BR&gt;    End If&lt;BR&gt;    &lt;BR&gt;    &apos; This creates a Root entry called &quot;PicturePreview&quot;.&lt;BR&gt;    sKeyName = &quot;PicturePreview&quot; &apos; Project Name&lt;BR&gt;    sKeyValue = &quot;Picture&quot;&lt;BR&gt;    ret&amp; = RegCreateKey&amp;(HKEY_CLASSES_ROOT, sKeyName, lphKey&amp;)&lt;BR&gt;    ret&amp; = RegSetValue&amp;(lphKey&amp;, &quot;&quot;, REG_SZ, sKeyValue, 0&amp;)&lt;BR&gt;    &lt;BR&gt;    &apos; This creates a Root entry called .BMP;.JPG;.GIF;.WMF associated with &quot;PicturePreview&quot;.&lt;BR&gt;    sKeyName = strPasvand&lt;BR&gt;    sKeyValue = &quot;PicturePreview&quot; &apos; Project Name&lt;BR&gt;    ret&amp; = RegCreateKey&amp;(HKEY_CLASSES_ROOT, sKeyName, lphKey&amp;)&lt;BR&gt;    ret&amp; = RegSetValue&amp;(lphKey&amp;, &quot;&quot;, REG_SZ, sKeyValue, 0&amp;)&lt;BR&gt;    &lt;BR&gt;    &apos; This sets the command line for &quot;PicturePreview&quot;.&lt;BR&gt;    sKeyName = &quot;PicturePreview&quot; &apos; Project Name&lt;BR&gt;    sKeyValue = path &amp; App.EXEName &amp; &quot;.exe %1&quot;&lt;BR&gt;    ret&amp; = RegCreateKey&amp;(HKEY_CLASSES_ROOT, sKeyName, lphKey&amp;)&lt;BR&gt;    ret&amp; = RegSetValue&amp;(lphKey&amp;, &quot;shell\open\command&quot;, REG_SZ, sKeyValue, MAX_PATH)&lt;BR&gt;    &lt;BR&gt;    &apos; This sets the icon for the file extension&lt;BR&gt;    sKeyName = &quot;PicturePreview&quot; &apos; Project Name&lt;BR&gt;    sKeyValue = path &amp; &quot;MyIcon.ico&quot;&lt;BR&gt;    ret&amp; = RegCreateKey&amp;(HKEY_CLASSES_ROOT, sKeyName, lphKey&amp;)&lt;BR&gt;    ret&amp; = RegSetValue&amp;(lphKey&amp;, &quot;DefaultIcon&quot;, REG_SZ, sKeyValue, MAX_PATH)&lt;BR&gt;    &lt;BR&gt;    &apos; This notifies the shell that the icon has changed&lt;BR&gt;    SHChangeNotify SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Public Function FixPath(strPath As String) As String&lt;BR&gt;    Dim strTemp As String&lt;BR&gt;    strTemp = strPath&lt;BR&gt;    strChar = &quot;&quot;&quot;&quot;&lt;BR&gt;    If Len(strTemp) &gt; 0 Then&lt;BR&gt;        If Mid(strTemp, 1, 1) = strChar Then strTemp = Right(strTemp, Len(strTemp) - 1)&lt;BR&gt;        If Mid(strTemp, Len(strTemp), 1) = strChar Then strTemp = Left(strTemp, Len(strTemp) - 1)&lt;BR&gt;    End If&lt;BR&gt;    FixPath = strTemp&lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;خوب حالا از برنامتون یک فایل اجرایی (.exe) بسازید و همچنین یک آیکون که بیانگر فایلهای تصویری باشه با نام MyIcon.ico کنار فایل اجرایی که ساختبد قرار بدید.&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;توجّه : این آیکون (MyIcon.ico) همیشه بایددر کنار  فایل اجرایی برنامتون باشه، در غیر اینصورت شکل فایلهای تصویری که قراره با برنامه شما باز بشن به شکل فایلهای ناشناخته در میاد.&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;نکته : برنامه حداقل باید یک بار اجرا بشه تا تاثیراتش رو روی ویندوز و فایل های تصویری بذاره.&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;بعد از یک بار اجرا کردن و بستن برنامه، برید روی یکی از عکسهاتون دابل کلیک کنید که دو حالت پیش میاد : 1- برنامه شما اجرا میشه و عکس رو نشون میده.  2- کادر محاوره ای Open with... باز میشه و از شما میخواد که برنامه مورد نظرتون رو برای نمایش عکس انتخاب کنید؛ حالا کاری که شما باید بکنید اینه که به آدرس برنامتون برید و برنامه خودتونو برای نمایش عکس انتخاب کنید تا از این به بعد همیشه عکسها با برنامه شما باز بشن.&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;شما میتونید اینکارو برای پسوند هر فایلی انجام بدید، مثلاً میتونید پسوند .txt رو تعریف کنید و با گذاشتن یک TextBox تو فزمتون یک برنامه Notepad بسازید. به همین سادگی. موفق باشید.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;DIV dir=rtl&gt;
&lt;HR width=&quot;100%&quot; SIZE=2&gt;
&lt;/DIV&gt;
&lt;P dir=rtl&gt;اعمال مشخصه RightToLeft به کنترلهایی که فاقد این مشخصه اند 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;در این روش شما میتونید به هر کنترلی این مشخصه رو اعمال کنید، حتی کنترلهایی که فاقد این مشخصه هستند مثل DirListBox به صورت از راست به چپ در میان. درضمن اگه با فرمتون اینکارو بکنید میبینید که واقعاً به صورت از راست به چپ درمیاد یعنی دکمه Close، Minimize و Maximize از سمت راست فرم به سمت چپ فرم انتقال پیدا میکنن. 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و یک DirListBox به فرمتون اضافه کنید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function GetWindowLong Lib &quot;user32&quot; Alias &quot;GetWindowLongA&quot; (ByVal hWnd As Long, ByVal nIndex As Long) As Long&lt;BR&gt;Private Declare Function SetWindowLong Lib &quot;user32&quot; Alias &quot;SetWindowLongA&quot; (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Form_Load()&lt;BR&gt;    SetWindowLong Me.hWnd, -20, GetWindowLong(Me.hWnd, -20) Or &amp;H400000&lt;BR&gt;    SetWindowLong Dir1.hWnd, -20, GetWindowLong(Dir1.hWnd, -20) Or &amp;H400000&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;حالا برنامه رو اجرا کنید و شاهد تغییراتی که در حالت معمولی غیر ممکن بودن باشید. موفق باشید.&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV dir=rtl&gt;
&lt;HR width=&quot;100%&quot; SIZE=2&gt;
&lt;/DIV&gt;
&lt;P dir=rtl&gt;قرار دادن فرم بر روی تمام پنجره ها (حالت Always On Top برای فرم) 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;با این کد فرم شما بر روی همه پنجره های قرار میگیره، مانند Windows Task Manager که همیشه رو قرار میگیره. 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;یک پروزه جدید باز کنید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Const HWND_TOPMOST = -1&lt;BR&gt;Const HWND_NOTOPMOST = -2&lt;BR&gt;Const SWP_NOSIZE = &amp;H1&lt;BR&gt;Const SWP_NOMOVE = &amp;H2&lt;BR&gt;Const SWP_NOACTIVATE = &amp;H10&lt;BR&gt;Const SWP_SHOWWINDOW = &amp;H40&lt;BR&gt;Private Declare Sub SetWindowPos Lib &quot;User32&quot; (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub SetTopMost(frm As Form, ByVal blnMod As Boolean)&lt;BR&gt;    If blnMod Then&lt;BR&gt;        SetWindowPos frm.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE&lt;BR&gt;    Else&lt;BR&gt;        SetWindowPos frm.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE&lt;BR&gt;    End If&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Check1_Click()&lt;BR&gt;    Call SetTopMost(Me, Check1.Value)&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;با علامت دار کردن CheckBox فرم همیشه رو قرار میگیره و با برداشتن علامت فرم به حالت عادی برمیگرده. موفق باشید.&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV dir=rtl&gt;
&lt;HR width=&quot;100%&quot; SIZE=2&gt;
&lt;/DIV&gt;
&lt;P dir=rtl&gt;قفل کردن تمام ورودی ها مثل Keyboard و Mouse 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;این کار با تابع BlockInput انجام میشه و تمام ورودیهای کامپیوتر رو قفل میکنه. توجه داشته باشید که سیستم عامل هنگ نمیکنه و به کار خودش ادامه میده امّا شما نمیتونید هیچ کاری انجام بدید به جز Restart کردن. 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function BlockInput Lib &quot;user32&quot; (ByVal fBlock As Long) As Long&lt;BR&gt;Private Declare Sub Sleep Lib &quot;kernel32&quot; (ByVal dwMilliseconds As Long) 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Form_Load()&lt;BR&gt;    BlockInput True&lt;BR&gt;    Sleep 5000&lt;BR&gt;    BlockInput False&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;به محض شروع برنامه، تمام وروردیها به مدّت 5 ثانیه قفل میشن و بعد از اون دوباره به حالت اول برمیگردن. در اینجا تابع Sleep فقط برای اتلاف وقت به کار رفته و استفاده دیگه ای نداره. موفق باشید.&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV dir=rtl&gt;
&lt;HR width=&quot;100%&quot; SIZE=2&gt;
&lt;/DIV&gt;
&lt;P dir=rtl&gt;شفاف کردن فرم به صورت شیشه ای و مات 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و تو قسمت جنرال فرمتون کدهای زیر رو کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function GetWindowLong Lib &quot;user32&quot; Alias &quot;GetWindowLongA&quot; (ByVal hWnd As Long, ByVal nIndex As Long) As Long&lt;BR&gt;Private Declare Function SetWindowLong Lib &quot;user32&quot; Alias &quot;SetWindowLongA&quot; (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long&lt;BR&gt;Private Declare Function SetLayeredWindowAttributes Lib &quot;user32&quot; (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Command1_Click()&lt;BR&gt;    Dim Retval As Long&lt;BR&gt;    Retval = GetWindowLong(hWnd, -20)&lt;BR&gt;    Retval = Retval Or 524288&lt;BR&gt;    SetWindowLong hWnd, -20, Retval&lt;BR&gt;    SetLayeredWindowAttributes hWnd, 0, Val(Text1.Text), 2&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Form_Load()&lt;BR&gt;    Text1.Text = 100&lt;BR&gt;    Command1_Click&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;تو TextBox یک عدد از 0 تا 255 وارد کنید و کلید Command1 رو بزنید و شاهد شفاف شدن فرم باشید. فقط توجه داشته باشید که اگه از اعداد پایین مثل 1 استفاده کنید فرمتون تقریباً نامرئی میشه پس بهتون پیشنهاد میکنم تا حد امکان از اعداد بالای 50 استقاده کنید. موفق باشید.&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV dir=rtl&gt;
&lt;HR width=&quot;100%&quot; SIZE=2&gt;
&lt;/DIV&gt;
&lt;P dir=rtl&gt;نامرئی کردن قسمتهای اضافی فرم (برای گذاشتن اسکین خوبه) 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;این کد خیلی کاربردیه، حتماً به دردتون مبخوره. این کد باعث میشه که گوشه ها و قسمتهای اضافی فرم حذف بشه و فقط جاهایی که شما میخواید، قابل رویت باشه. مانند اسکین های Windows Media Player که بسیار زیباست. 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و داخل فرمتون یک شئ Shape بذارید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function GetWindowLong Lib &quot;User32&quot; Alias &quot;GetWindowLongA&quot; (ByVal hWnd As Long, ByVal nIndex As Long) As Long&lt;BR&gt;Private Declare Function SetWindowLong Lib &quot;User32&quot; Alias &quot;SetWindowLongA&quot; (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long&lt;BR&gt;Private Declare Function SetLayeredWindowAttributes Lib &quot;user32.dll&quot; (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Const LWA_COLORKEY = &amp;H1&lt;BR&gt;Const GWL_EXSTYLE = (-20)&lt;BR&gt;Const WS_EX_LAYERED = &amp;H80000&lt;BR&gt;Const BM_SETSTATE = &amp;HF3 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Form_Load()&lt;BR&gt;    Dim Ret As Long&lt;BR&gt;    Dim CLR As Long&lt;BR&gt;    Me.BackColor = RGB(1, 1, 1)  &apos; تعیین رنگ پس زمینه فرم&lt;BR&gt;    CLR = Me.BackColor&lt;BR&gt;    Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)&lt;BR&gt;    Ret = Ret Or WS_EX_LAYERED&lt;BR&gt;    SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret&lt;BR&gt;    SetLayeredWindowAttributes Me.hWnd, CLR, 0, LWA_COLORKEY&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;طرز کار : قسمتهای مشکی رنگ فرم رو حذف میکنه به همین سادگی حالا اگه بر حسب اتفاق شما مجبورید که از رنگ مشکی به عنوان پس زمینه فرمتون استفاده کنید باید در اون قسمتی که رنگ پس زمینه فرم تعیین میشه (به کد نگاه کنید) رنگ سفبد رو تعیین کنید یعنی Me.BackColor = RGB (255, 255, 255) به همین سادگی. در واقع این کد رنگی رو که شما تعیین میکنید رو از هر جای فرم حذف میکنه حتی اگه اون رنگ در وسط فرم باشه که در این صورت وسط فرم خالی میشه و هر چیزی که در پشت فرم قرار داره رو میشه از اون سوراخ دید. موفق باشید.&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV dir=rtl&gt;
&lt;HR width=&quot;100%&quot; SIZE=2&gt;
&lt;/DIV&gt;
&lt;P dir=rtl&gt;بستن برنامه ها یا همون End Task کردن برنامه ها 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;براین بستن برنامه ها باید بدونید که عنوان (Title) برنامه چیه. مثلاً عنوان برنامه ماشین حساب Calculator هستش و عنوان برنامه Task Manager هست .Windows Task Manager در واقع این قطعه کد هر برنامه ای رو از روی عنوان اون میبنده. 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و تو فرمتون یک Command Button و یک TextBox بذارید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function SendMessage Lib &quot;user32&quot; Alias &quot;SendMessageA&quot; (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long&lt;BR&gt;Private Declare Function FindWindow Lib &quot;user32&quot; Alias &quot;FindWindowA&quot; (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub CloseProgram(ByVal Caption As String)&lt;BR&gt;    On Error Resume Next&lt;BR&gt;    Handle = FindWindow(vbNullString, Caption)&lt;BR&gt;    If Handle = 0 Then Exit Sub&lt;BR&gt;    SendMessage Handle, &amp;H10, 0&amp;, 0&amp;&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Command1_Click()&lt;BR&gt;    Call CloseProgram(Text1.Text)&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;حالا برنامه رو اجرا کنید، بعد برنامه Task Manager رو اجرا کنید (Alt + Ctrl + Del) و تو TextBox تایپ کنید Windows Task Manager و کلید Command1 رو بزنید، میبینید که برنامه Task Manager بسته شد، به همین سادگی. موفق باشید.&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV dir=rtl&gt;
&lt;HR width=&quot;100%&quot; SIZE=2&gt;
&lt;/DIV&gt;
&lt;P dir=rtl&gt;تعویض کلیک چپ و راست موس 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و تو فرمتون یک Command Button و دو تا Option Button بزارید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function SwapMouseButton Lib &quot;User32&quot; (ByVal bSwap As Long) As Long 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Command1_Click()&lt;BR&gt;    Call SwapMouseButton(Option1.Value)&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Form_Load()&lt;BR&gt;    Option1.Caption = &quot;Right&quot;&lt;BR&gt;    Option2.Caption = &quot;Left&quot;&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;حالا برنامه رو اجرا کنید و با کلیک روی Option Button ها و بعد کلیک روی Command1 جای کلیک چپ و راست موس رو عوض کنید. به همین سادگی. موفق باشید.&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV dir=rtl&gt;
&lt;HR width=&quot;100%&quot; SIZE=2&gt;
&lt;/DIV&gt;
&lt;P dir=rtl&gt;قرار دادن برنامه در Startup 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;برای اینکار دو روش وجود داره؛ روش اول اینه که برنامه رو در پوشه Startup کپی کنیم که روش جالبی نیستچون کاربر میتونه به اون پوشه به و فایل رو پاک کنه و امّا روش دوّم (قابل توجّه ویروس نویسا) اینه که برنامه رو تو لیست برنامه های Startup در رجیستری ذخیره کنیم که روش مطمئن و بهتریه چون کاربر نمیدونه برنامه کجا قرار داره و از کجا اجرا میشه مگر اینکه از طریق رجیستری و یا برنامه System Configuration Utility (تایپ msconfig در Run ویندوز) متوجه مسیر برنامه بشه که خب خوشبختانه همه اینکارو بلد نیستن. 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;به ترتیب روش اول و بعد روش دوّم رو آموزش میدم. برای اجرای برنامه در Startup از طریق روش اول باید درایوی رو که ویندوز اونجا نصب شده و بدونید که من این کارو با توابع API انجام دادم. یک پروژه جدید باز کنید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function GetWindowsDirectory Lib &quot;kernel32&quot; Alias &quot;GetWindowsDirectoryA&quot; (ByVal lpBuffer As String, ByVal nSize As Long) As Long 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Dim strSource As String, strDest As String 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Form_Load()&lt;BR&gt;    If App.PrevInstance = True Then End&lt;BR&gt;    strSource = App.Path &amp; IIf(Len(App.Path) &gt; 0, &quot;\&quot;, Empty)&lt;BR&gt;    strSource = strSource &amp; App.EXEName &amp; &quot;.exe&quot;&lt;BR&gt;    strDest = WinDrive &amp; &quot;Documents and Settings\All Users\Start Menu\Programs\Startup\&quot;&lt;BR&gt;    FileCopy strSource, strDest &amp; App.EXEName &amp; &quot;.exe&quot;&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Function WinDrive() As String&lt;BR&gt;    Dim strDrive As String&lt;BR&gt;    strDrive = Space(500)&lt;BR&gt;    A = GetWindowsDirectory(strDrive, Len(strDrive))&lt;BR&gt;    strDrive = Left(strDrive, 3)&lt;BR&gt;    WinDrive = strDrive&lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;اگه برنامه رو اجرا کنید فایل اجرایی برنامه تو پوشه Startup کپی میشه و با هر بار بالا اومدن ویندوز برنامه شما هم اجرا میشه. ولی روش دوّم، برای اینکار باید توابعی رو تعریف کنیم که با رجیستری سر و کار دارن و من این کارو برای راحتی شما انجام دادم. یک پروژه جدید باز کنید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function RegCreateKey Lib &quot;advapi32.dll&quot; Alias &quot;RegCreateKeyA&quot; (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long&lt;BR&gt;Private Declare Function RegSetValueEx Lib &quot;advapi32.dll&quot; Alias &quot;RegSetValueExA&quot; (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long&lt;BR&gt;Private Declare Function RegDeleteValue Lib &quot;advapi32.dll&quot; Alias &quot;RegDeleteValueA&quot; (ByVal hKey As Long, ByVal lpValueName As String) As Long&lt;BR&gt;Private Declare Function RegCloseKey Lib &quot;advapi32.dll&quot; (ByVal hKey As Long) As Long&lt;BR&gt;Private Declare Function RegOpenKey Lib &quot;advapi32.dll&quot; Alias &quot;RegOpenKeyA&quot; (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long&lt;BR&gt;Private Const HKEY_LOCAL_MACHINE = &amp;H80000002&lt;BR&gt;Private Const REG_SZ = 1 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Dim strAppPath As String 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Command1_Click()&lt;BR&gt;    AddToRun App.Title, strAppPath&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Command2_Click()&lt;BR&gt;    RemoveFromRun App.Title&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Form_Load()&lt;BR&gt;    Command1.Caption = &quot;Add to Run&quot;&lt;BR&gt;    Command2.Caption = &quot;Remove from Run&quot;&lt;BR&gt;    strAppPath = IIf(Len(App.Path) &gt; 3, App.Path &amp; &quot;\&quot;, App.Path)&lt;BR&gt;    strAppPath = strAppPath &amp; App.EXEName &amp; &quot;.exe&quot;&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&apos;--------------------------------------------- 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub AddToRun(ProgramName As String, FileToRun As String)&lt;BR&gt;    Call SaveString(&quot;Software\Microsoft\Windows\CurrentVersion\Run&quot;, ProgramName, FileToRun)&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub RemoveFromRun(ProgramName As String)&lt;BR&gt;    Call DeleteValue(&quot;Software\Microsoft\Windows\CurrentVersion\Run&quot;, ProgramName)&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub SaveString(strPath As String, strValue As String, strdata As String)&lt;BR&gt;    Dim keyhand As Long&lt;BR&gt;    Dim r As Long&lt;BR&gt;    r = RegCreateKey(HKEY_LOCAL_MACHINE, strPath, keyhand)&lt;BR&gt;    r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal strdata, Len(strdata))&lt;BR&gt;    r = RegCloseKey(keyhand)&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Function DeleteValue(ByVal strPath As String, ByVal strValue As String)&lt;BR&gt;    Dim keyhand As Long&lt;BR&gt;    Dim r As Long&lt;BR&gt;    r = RegOpenKey(HKEY_LOCAL_MACHINE, strPath, keyhand)&lt;BR&gt;    r = RegDeleteValue(keyhand, strValue)&lt;BR&gt;    r = RegCloseKey(keyhand)&lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;اگه برنامه اجرا بشه، مسیر فایل اجرایی برنامه در رجیستری ذخیره شده و در هر بار اجرای برنامه همراه برنامه های دیگه اجرا میشه. به همین سادگی. موفق باشید.&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV dir=rtl&gt;
&lt;HR width=&quot;100%&quot; SIZE=2&gt;
&lt;/DIV&gt;
&lt;P dir=rtl&gt;پخش فایلهای MP3 از درون برنامه شما (کد اصلی) 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;اصل کدش رو از یه جایی کش رفتم و برای شما عزیزان گذاشتم تا نظرای خوب خوب بدید. 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و تو فرمتون یک TextBox و دو تا Command Button بزارید بعد از Command Button اول یک کپی بگیرید و Paste کنید تا آرایه ساخته بشه و بعد کد زیر رو تو قسمت جنرال فرمتون کپی کنید و برنامه رو اجرا کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function mciSendString Lib &quot;winmm.dll&quot; Alias &quot;mciSendStringA&quot; (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Dim isPlaying As Boolean&lt;BR&gt;Dim Mp3File As String 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Command1_Click(Index As Integer)&lt;BR&gt;    Mp3File = Chr$(34) + Trim(Text1.Text) + Chr$(34)&lt;BR&gt;    Select Case Index&lt;BR&gt;        Case 0&lt;BR&gt;            mciSendString &quot;open &quot; + Mp3File, 0&amp;, 0&amp;, 0&amp;&lt;BR&gt;            mciSendString &quot;play &quot; + Mp3File, &quot;&quot;, 0&amp;, 0&amp;&lt;BR&gt;            isPlaying = True&lt;BR&gt;        Case 1&lt;BR&gt;            mciSendString &quot;close &quot; + Mp3File, 0&amp;, 0&amp;, 0&amp;&lt;BR&gt;            isPlaying = False&lt;BR&gt;    End Select&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Command2_Click()&lt;BR&gt;    Unload Me&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Form_Load()&lt;BR&gt;    Command1(0).Caption = &quot;Start&quot;&lt;BR&gt;    Command1(1).Caption = &quot;Stop&quot;&lt;BR&gt;    Command2.Caption = &quot;Exit&quot;&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Form_Unload(Cancel As Integer)&lt;BR&gt;    If isPlaying = True Then&lt;BR&gt;        mciSendString &quot;close &quot; + Mp3File, 0&amp;, 0&amp;, 0&amp;&lt;BR&gt;    End If&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;حالا تو TextBox آدرس یک فایل MP3 رو وارد کنید و دکمه Start رو بزنید، موسیقی پخش میشه، به همین سادگی. لازم به ذکره که این کد بارها و بارها تست شده و هیچ گونه مشکلی نداره اگر کسی به مشکلی برخورد در قسمت نظرات مطرح کنه. موفق باشید.&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV dir=rtl&gt;
&lt;HR width=&quot;100%&quot; SIZE=2&gt;
&lt;/DIV&gt;</description>
<pubDate>Fri, 07 Nov 2008 09:29:18 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=minoodashtziba&amp;postid=2</comments>
<dc:creator>minoodashtziba</dc:creator>
<guid>http://minoodashtziba.blogfa.com/post-2.aspx</guid>
</item>
<item>
<title></title>
<link>http://minoodashtziba.blogfa.com/post-1.aspx</link>
<description>&lt;P align=center&gt;&lt;STRONG&gt;&lt;IMG height=18 src=&quot;http://blogfa.com/images/smileys/03.gif&quot; width=18&gt;&lt;/STRONG&gt;&lt;STRONG&gt;&lt;FONT color=#00ff00&gt;ورود شما را به این وبلاگ خوش آمد می گویم&lt;IMG height=18 src=&quot;http://blogfa.com/images/smileys/03.gif&quot; width=18&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT color=#00ff00&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P align=center&gt;&lt;FONT color=#ccff33 size=3&gt;افتادگی آموز اگر طالب فیضی  ***  هرگز نخورد آب زمینی که بلند است&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=center&gt;&lt;FONT color=#00ff00&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P align=center&gt;&lt;STRONG&gt;&lt;FONT color=#00ff00&gt;امید وارم لحظات خوبی را در این وبلاگ سپری کنید&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P align=center&gt;&lt;STRONG&gt;&lt;U&gt;&lt;FONT color=#00ff00&gt;به زودی مطالب زیادی اظافه خواهم کرد&lt;/FONT&gt;&lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;شهرستان مینودشت&lt;/B&gt; یکی از شهرستانهای &lt;A title=&quot;استان گلستان&quot; href=&quot;http://fa.wikipedia.org/wiki/%D8%A7%D8%B3%D8%AA%D8%A7%D9%86_%DA%AF%D9%84%D8%B3%D8%AA%D8%A7%D9%86&quot;&gt;استان گلستان&lt;/A&gt; ایران است. شهر &lt;A title=مینودشت href=&quot;http://fa.wikipedia.org/wiki/%D9%85%DB%8C%D9%86%D9%88%D8%AF%D8%B4%D8%AA&quot;&gt;مینودشت&lt;/A&gt; مرکز این شهرستان است و جمعیت آن در سال ۱۳۸۵، برابر با ۱۲۸٫۷۳۹ نفر بوده است &lt;SUP class=reference id=cite_ref-.D8.A2.D9.85.D8.A7.D8.B1_0-0&gt;&lt;A title=&quot;&quot; href=&quot;http://fa.wikipedia.org/wiki/%D8%B4%D9%87%D8%B1%D8%B3%D8%AA%D8%A7%D9%86_%D9%85%DB%8C%D9%86%D9%88%D8%AF%D8%B4%D8%AA#cite_note-.D8.A2.D9.85.D8.A7.D8.B1-0&quot;&gt;[۱]&lt;/A&gt;&lt;/SUP&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A name=.D8.AA.D9.82.D8.B3.DB.8C.D9.85.D8.A7.D8.AA_.DA.A9.D8.B4.D9.88.D8.B1.DB.8C&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt; &lt;SPAN class=mw-headline&gt;تقسیمات کشوری&lt;/SPAN&gt;&lt;/H2&gt;
&lt;UL&gt;
&lt;LI&gt;شهرها: مینودشت و &lt;A title=گالیکش href=&quot;http://fa.wikipedia.org/wiki/%DA%AF%D8%A7%D9%84%DB%8C%DA%A9%D8%B4&quot;&gt;گالیکش&lt;/A&gt;. &lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A title=&quot;بخش مرکزی شهرستان مینودشت&quot; href=&quot;http://fa.wikipedia.org/wiki/%D8%A8%D8%AE%D8%B4_%D9%85%D8%B1%DA%A9%D8%B2%DB%8C_%D8%B4%D9%87%D8%B1%D8%B3%D8%AA%D8%A7%D9%86_%D9%85%DB%8C%D9%86%D9%88%D8%AF%D8%B4%D8%AA&quot;&gt;بخش مرکزی شهرستان مینودشت&lt;/A&gt; 
&lt;UL&gt;
&lt;LI&gt;دهستان چهل چای 
&lt;LI&gt;دهستان قلعه قافه 
&lt;LI&gt;دهستان کوهسارات &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;شهر: &lt;A title=مینودشت href=&quot;http://fa.wikipedia.org/wiki/%D9%85%DB%8C%D9%86%D9%88%D8%AF%D8%B4%D8%AA&quot;&gt;مینودشت&lt;/A&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A title=&quot;بخش گالیکش&quot; href=&quot;http://fa.wikipedia.org/wiki/%D8%A8%D8%AE%D8%B4_%DA%AF%D8%A7%D9%84%DB%8C%DA%A9%D8%B4&quot;&gt;بخش گالیکش&lt;/A&gt; 
&lt;UL&gt;
&lt;LI&gt;دهستان قراولان 
&lt;LI&gt;دهستان نیلکوه 
&lt;LI&gt;دهستان ینقاق &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;شهر: &lt;A title=گالیکش href=&quot;http://fa.wikipedia.org/wiki/%DA%AF%D8%A7%D9%84%DB%8C%DA%A9%D8%B4&quot;&gt;گالیکش&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;این شهرستان در ابتدا به صورت یک روستا حیات خود را آغاز کرد. گفته می شود &lt;A class=mw-redirect title=&quot;رضا شاه پهلوی&quot; href=&quot;http://fa.wikipedia.org/wiki/%D8%B1%D8%B6%D8%A7_%D8%B4%D8%A7%D9%87_%D9%BE%D9%87%D9%84%D9%88%DB%8C&quot;&gt;رضا شاه پهلوی&lt;/A&gt; دوره سربازی خود را در مینودشت گذرانده است. وی شبی در خانه یکی از دوستان خود در این شهر میهمان شد. صاحب خانه در خواب دید روزی او پادشاه ایران می شود و خوابی که دیده بود برای رضا خان تعریف می کند که رضا خان در آن زمان حرف او را نمی پذیرد. پس از چندین سال که رضا خان پهلوی پادشاه شد به دیدن دوست خود به &lt;B&gt;حاجیلر&lt;/B&gt; (نام قدیم مینودشت) آمد اما با خبر شد که دوستش به دیار باقی شتافته است. رضا خان در حین برگشت به &lt;A title=تهران href=&quot;http://fa.wikipedia.org/wiki/%D8%AA%D9%87%D8%B1%D8%A7%D9%86&quot;&gt;تهران&lt;/A&gt; دستور داد نام حاجیلر را به مینودشت تغییر دهند&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;در این وبلاگ به مطالب آموزشی پرداخته می شود  همه جور آموزشی هست&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;می خواهم در اولین قسمت از وبلاگم آموزش برنامه نویسی با زبان ویژوال بیسیک رو یاد بدم&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;
&lt;P dir=rtl&gt;تغيير روشنايي تصوير&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;اينكار با استفاده از آموزش بالا (بدست آوردن كد RGB رنگ مورد نظر) انجام ميشه به اينصورت كه رنگ هر پيكسل رو بدست آورده و به هر يك از رنگهاي قرمز، سبز و آبي عددي رو اضافه ميكنيم تا رنگش روشن‌تر بشه. بعد از اين كار، رنگ بدست اومده رو دقيقاً روي همون پيكسل ترسيم ميكنيم.&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;يك پروژه جديد باز كنيد و يك PictureBox و يك Command Button به فرمتون اضافه كنيد و كد زير رو تو قسمت جنرال فرمتون كپي كنيد :&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;BR&gt;Dim lngColor As Long&lt;BR&gt;&lt;BR&gt;Private Sub Form_Load()&lt;BR&gt;    Picture1.AutoRedraw = True&lt;BR&gt;    Picture1.PaintPicture Picture1.Picture, 0, 0, Picture1.Width, Picture1.Height&lt;BR&gt;    Picture1.ScaleMode = 3&lt;BR&gt;    Text1.Text = -20&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Sub Picture1_Click()&lt;BR&gt;    On Error Resume Next&lt;BR&gt;    For X = 1 To Picture1.ScaleWidth&lt;BR&gt;        For Y = 1 To Picture1.ScaleHeight&lt;BR&gt;            lngColor = Picture1.Point(X, Y)&lt;BR&gt;            R = ConvertToRGB(lngColor, 0) + Val(Text1.Text)&lt;BR&gt;            G = ConvertToRGB(lngColor, 1) + Val(Text1.Text)&lt;BR&gt;            B = ConvertToRGB(lngColor, 2) + Val(Text1.Text)&lt;BR&gt;            If R &lt; 0 Then R = 0 Else If R &gt; 255 Then R = 255&lt;BR&gt;            If G &lt; 0 Then G = 0 Else If G &gt; 255 Then G = 255&lt;BR&gt;            If B &lt; 0 Then B = 0 Else If B &gt; 255 Then B = 255&lt;BR&gt;            Picture1.PSet (X, Y), RGB(R, G, B)&lt;BR&gt;        Next Y&lt;BR&gt;        DoEvents&lt;BR&gt;    Next X&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Public Function ConvertToRGB(ByVal Colors As Long, ByVal Index As Integer) As Long&lt;BR&gt;    Dim Red As Integer, Green As Integer, Blue As Integer&lt;BR&gt;    Dim lngColor As Long&lt;BR&gt;    lngColor = Colors&lt;BR&gt;    Red = lngColor Mod &amp;H100&lt;BR&gt;    Green = (lngColor \ &amp;H100) Mod &amp;H100&lt;BR&gt;    Blue = lngColor \ &amp;H10000&lt;BR&gt;    If Index = 0 Then ConvertToRGB = Red&lt;BR&gt;    If Index = 1 Then ConvertToRGB = Green&lt;BR&gt;    If Index = 2 Then ConvertToRGB = Blue&lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;حالا يك عكس براي PictureBox قرار بديد و برنامتون رو اجرا كنيد حالا براي تغيير روشنايي تصوير از اعداد مثبت يا منفي استفاده كنيد بعد روي PictureBox كليك كنيد. موفق باشيد.&lt;/P&gt;
&lt;P dir=rtl&gt; &lt;/P&gt;
&lt;P dir=rtl&gt;&lt;STRONG&gt; حمید رضا سهیلی&lt;/STRONG&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;من براي نوشتن اين كد و بدست آوردن راهي براي تاريك يا روشن شدن رنگها چيزي حدود 10 تا 15 ساعت وقت گذاشتم و شكر خدا بالاخره تونستم راه حلش رو بدست بيارم. اونچه كه براي من سخت و دشوار بود طيف تمام رنگهاي پر رنگ به تاريك (چپ كليك درون فرم) و همچنين طيف تمام رنگهاي پر رنگ به روشن (راست كليك) بود. يعني هر چي كه به سمت پايين فرم مياييم رنگها تيره تر يا روشن تر بشن. اينم چيزه ساده اي به نظر ميرسه امّا اينطور نيست. حالا ممكنه با يك نگاه به كد زير بگيد: بابا اينكه ديگه كاري نداره كه...! بلــــــه معمّا چون حل شود آسان شود.&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;اساسه كار اين كد چيه؟&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;طيف رنگها به صورت: قرمز » سبز » آبي » قرمز هست. يعني از قرمز شروع ميشه و به سمت سبز حركت ميكنه و بعد، از سبز به سمته آبي و بعد از آبي به سمت قرمز حركت ميكنه.&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;همون طور كه ملاحظه ميكنيد، ترسيم هر سطر برنامه، از شش مرحله (Level) تشكيل شده:&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;مرحله اول: اضافه شدن رنگ سبز RGB(R  ,+G ,B )&lt;BR&gt;مرحله دوم: كم شدن رنگ قرمز RGB(-R  ,G ,B )&lt;BR&gt;مرحله سوم: اضافه شدن رنگ آبي RGB(R  ,G ,+B )&lt;BR&gt;مرحله چهام: كم شدن رنگ سبز RGB(R  ,-G ,B )&lt;BR&gt;مرحله پنجم: اضافه شدن رنگ قرمز RGB(+R  ,G ,B )&lt;BR&gt;مرحله ششم: كم شدن رنگ آبي RGB(R  ,G ,-B )&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;اينا مراحل ترسيم يك سطر بودند و چون در هر مرحله 255 رنگ ترسيم ميشه پس در تمام سطر بايد 1530 رنگ ترسيم بشه (6*255=1530)؛ به همين خاطر من عرض فرم رو 1530 در نظر گرفتم ولي طول فرم رو همون 255 در نظر گرفتم چون رنگهاي ما يا تاريك ميشن يا روشن ميشن و براي اينكار نياز به 255 رنگ داريم (اعداد كوچكتر = رنگ تاريك‌تر، اعداد بزرگتر = رنگ روشن‌تر).&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;يك پروژه جديد باز كنيد و كد زير  رو تو قسمت جنرال فرمتون كپي كنيد :&lt;/P&gt;
&lt;P dir=rtl&gt;Dim intRGB(3) As Single, intAddNum As Single&lt;BR&gt;Dim intLevel As Integer&lt;BR&gt;Dim intColorLevel1 As Integer, intColorLevel2 As Integer&lt;BR&gt;&lt;BR&gt;Private Sub Form_Load()&lt;BR&gt;    Me.DrawWidth = 2&lt;BR&gt;    Me.AutoRedraw = True&lt;BR&gt;    Me.Caption = &quot;Click Me.&quot;&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)&lt;BR&gt;    On Error Resume Next&lt;BR&gt;    &lt;BR&gt;    Me.ScaleWidth = 1530&lt;BR&gt;    Me.ScaleHeight = 255&lt;BR&gt;    &apos;Me.Cls&lt;BR&gt;    intAddNum = 1&lt;BR&gt;    intLevel = 1&lt;BR&gt;    &lt;BR&gt;    If Button = vbLeftButton Then&lt;BR&gt;        intColorLevel1 = 255&lt;BR&gt;        intColorLevel2 = 0&lt;BR&gt;        intRGB(1) = 255&lt;BR&gt;        intRGB(2) = 0&lt;BR&gt;        intRGB(3) = 0&lt;BR&gt;        Y = 0&lt;BR&gt;    ElseIf Button = vbRightButton Then&lt;BR&gt;        intColorLevel1 = 255&lt;BR&gt;        intColorLevel2 = 0&lt;BR&gt;        intRGB(1) = 255&lt;BR&gt;        intRGB(2) = 0&lt;BR&gt;        intRGB(3) = 0&lt;BR&gt;        Y = 255&lt;BR&gt;    End If&lt;BR&gt;    &lt;BR&gt;    For Y = 0 To Me.ScaleHeight&lt;BR&gt;        For X = 0 To Me.ScaleWidth&lt;BR&gt;            &lt;BR&gt;            Select Case intLevel&lt;BR&gt;                Case 1:&lt;BR&gt;                    intRGB(2) = intRGB(2) + intAddNum&lt;BR&gt;                    If intRGB(2) &gt;= intColorLevel1 Then intLevel = 2&lt;BR&gt;                Case 2:&lt;BR&gt;                    intRGB(1) = intRGB(1) – intAddNum&lt;BR&gt;                    If intRGB(1) &lt;= intColorLevel2 Then intRGB(1) = Abs(intRGB(1)): intLevel = 3&lt;BR&gt;                Case 3:&lt;BR&gt;                    intRGB(3) = intRGB(3) + intAddNum&lt;BR&gt;                    If intRGB(3) &gt;= intColorLevel1 Then intLevel = 4&lt;BR&gt;                Case 4:&lt;BR&gt;                    intRGB(2) = intRGB(2) – intAddNum&lt;BR&gt;                    If intRGB(2) &lt;= intColorLevel2 Then intRGB(2) = Abs(intRGB(2)): intLevel = 5&lt;BR&gt;                Case 5:&lt;BR&gt;                    intRGB(1) = intRGB(1) + intAddNum&lt;BR&gt;                    If intRGB(1) &gt;= intColorLevel1 Then intLevel = 6&lt;BR&gt;                Case 6:&lt;BR&gt;                    intRGB(3) = intRGB(3) – intAddNum&lt;BR&gt;                    If intRGB(3) &lt;= intColorLevel2 Then intRGB(3) = Abs(intRGB(3))&lt;BR&gt;            End Select&lt;BR&gt;            &lt;BR&gt;            Me.PSet (X, Y), RGB(intRGB(1), intRGB(2), intRGB(3))&lt;BR&gt;            &lt;BR&gt;        Next X&lt;BR&gt;        DoEvents&lt;BR&gt;        &lt;BR&gt;        If Button = vbLeftButton Then&lt;BR&gt;            intColorLevel1 = intColorLevel1 – 1&lt;BR&gt;            intAddNum = (intColorLevel1 / 256)&lt;BR&gt;            intRGB(1) = intColorLevel1&lt;BR&gt;            intRGB(2) = 0&lt;BR&gt;            intRGB(3) = 0&lt;BR&gt;        ElseIf Button = vbRightButton Then&lt;BR&gt;            intColorLevel2 = intColorLevel2 + 1&lt;BR&gt;            intAddNum = ((255 - intColorLevel2) / 256)&lt;BR&gt;            intRGB(1) = 255&lt;BR&gt;            intRGB(2) = intColorLevel2&lt;BR&gt;            intRGB(3) = intColorLevel2&lt;BR&gt;        End If&lt;BR&gt;        intLevel = 1&lt;BR&gt;        Me.Caption = CStr((Y * 100) \ Me.ScaleHeight) &amp; &quot;%&quot;&lt;BR&gt;    Next Y&lt;BR&gt;    Me.Caption = &quot;Complated.&quot;&lt;BR&gt;End Sub&lt;BR&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;حالا برنامه و اجرا كنيد و تو فرمتون راست كليك كنيد بعد از ترسيم تصوير چپ كليك كنيد تا تفاوت دو تصوير و نتيجه 15 ساعت تلاش منو ببينيد، شايد به نظرتون ساده يا بي كاربرد بياد اما واقعاً اينطور نيست. در ضمن سرعت ترسيم تصوير بستگي به CPU كامپيوتر شما داره، براي من كه سريع ترسيم ميشه. موفق باشيد.&lt;BR&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;شبیه سازی برنامه Paint&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;این برنامه تقریباً کاره برنامه Paint رو انجام میده امّا کامل نیست که خودتون میتونید تکمیلش کنید، من فقط اساس کارو بهتون آموزش میدم.&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و دو تا منو به نامهای mnuClear و mnuSave درست كنيد و Caption اونارو بذارید Clear و Save بعد کد زیر رو تو قسمت جنرال فرمتون کپی کنید:&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;BR&gt;Dim sngOldX, sngOldY As Single&lt;BR&gt;&lt;BR&gt;Private Sub Form_Load()&lt;BR&gt;    Me.Appearance = 0&lt;BR&gt;    Me.AutoRedraw = True&lt;BR&gt;    Me.DrawWidth = 3&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)&lt;BR&gt;        If Button = vbRightButton Then&lt;BR&gt;            Me.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)&lt;BR&gt;        End If&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)&lt;BR&gt;        If Button = vbLeftButton Then&lt;BR&gt;            Me.Line (sngOldX, sngOldY)-(X, Y)&lt;BR&gt;        End If&lt;BR&gt;        sngOldX = X&lt;BR&gt;        sngOldY = Y&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Sub mnuClear_Click()&lt;BR&gt;    Me.Cls&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Sub mnuSave_Click()&lt;BR&gt;    SavePicture Me.Image, &quot;C:\Pic.bmp&quot;&lt;BR&gt;    MsgBox (&quot;C:\Pic.bmp&quot;)&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;حالا برنامه رو اجرا کنید و شروع به نقاشی کردن کنید با کلیک راست هم رنگ قلم رو به صورت اتفاقی عوض کنید. موفق باشید.&lt;BR&gt;&lt;BR&gt; &lt;/P&gt;
&lt;P dir=rtl&gt;ساخت Link برای سایت یا وبلاگ (درخواستی) 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و توش یک Label بزارید و کدهای زیر رو تو قسمت جنرال فرمتون کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function ShellExecute Lib &quot;shell32.dll&quot; Alias &quot;ShellExecuteA&quot; (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Form_Load()&lt;BR&gt;    Label1.Caption = &quot;www.v-basic.mihanblog.com&quot;&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Label1_Click()&lt;BR&gt;    Link Label1.Caption&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Public Function Link(ByVal URL As String) As Long&lt;BR&gt;    Link = ShellExecute(0&amp;, vbNullString, URL, vbNullString, vbNullString, vbNormalFocus)&lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;حالا برنامتون رو اجرا كنيد و روي Label كليك كنيد تا وارد سايت مربروطه بشه، به همين سادگي. موفق باشید.&lt;BR&gt;
&lt;P dir=rtl&gt;تبدیل تاریخ میلادی به تاریخ شمسی&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;خیلی از شما دوستان دنبال این کد هستید ولی پیدا نمیکنید، حق دارید پیدا نکنید چون این کد اون قدر طولانیه که هیچ کسی اونو تو وبلاگش نمیذاره. در ضمن من این کد رو خودم ننوشتم بلکه از اینترنت گرفتم ولی متأسفانه یادم نمیاد اسم سایتش چی بود امیدوارم که منو حلال کنه. خب حالا یک پروژه جدید باز کنید و از منوی Project گزینه ی Add Module رو انتخاب کنید تا یک Module به فرمتون اضافه بشه و بعد کد زیر رو توش کپی کنید :&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;BR&gt;Option Explicit&lt;BR&gt;&lt;BR&gt;Private Const mcDayOff = 226894&lt;BR&gt;Private mvarGDayTab&lt;BR&gt;Private mvarJDayTab&lt;BR&gt;Private mcSolar As Double&lt;BR&gt;&lt;BR&gt;Public Sub GetJalaliDate(ByVal vGYear As Integer, ByVal vGMonth As Integer, ByVal vGDay As Integer, pJYear As Integer, pJMonth As Integer, pJDay As Integer, pDayName As String)&lt;BR&gt;&lt;BR&gt;    Dim mGTotalDay As Long&lt;BR&gt;   &lt;BR&gt;    SetConstants&lt;BR&gt;    &lt;BR&gt;    mGTotalDay = GetDayFromFirstGregorianDay(vGYear, vGMonth, vGDay)&lt;BR&gt;    pDayName = GetWeekDayName(mGTotalDay)&lt;BR&gt;    GetJalaliYearMonthDay mGTotalDay, vGYear, vGMonth, vGDay&lt;BR&gt;    pJDay = vGDay&lt;BR&gt;    pJMonth = vGMonth&lt;BR&gt;    pJYear = vGYear&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Sub SetConstants()&lt;BR&gt;    &lt;BR&gt;    mvarGDayTab = Array(Array(0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31), Array(0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31))&lt;BR&gt;    mvarJDayTab = Array(Array(0, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29), Array(0, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 30))&lt;BR&gt;    mcSolar = 365.25 - 0.25 / 33&lt;BR&gt;    &lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Function GetDayFromFirstGregorianDay(ByVal vGYaer As Integer, ByVal vGMonth As Integer, ByVal vGDay As Integer) As Long&lt;BR&gt;    &lt;BR&gt;    Dim mGYearDiv4 As Integer, mGYearDiv100 As Integer, mGYearDiv400 As Integer&lt;BR&gt;    Dim mGTotalDays As Long&lt;BR&gt;    &lt;BR&gt;    mGYearDiv4 = vGYaer \ 4&lt;BR&gt;    mGYearDiv100 = vGYaer \ 100&lt;BR&gt;    mGYearDiv400 = vGYaer \ 400&lt;BR&gt;    &lt;BR&gt;    mGTotalDays = GetGDayFromBeginOfYear(vGYaer, vGMonth, vGDay)&lt;BR&gt;    mGTotalDays = CLng(vGYaer - 1) * 365 + mGTotalDays + mGYearDiv4 - mGYearDiv100 + mGYearDiv400&lt;BR&gt;    &lt;BR&gt;    GetDayFromFirstGregorianDay = mGTotalDays&lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;Private Function GetGDayFromBeginOfYear(ByVal vGYear As Integer, ByVal vGMonth As Integer, ByVal vGDay As Integer) As Long&lt;BR&gt;    Dim mGLeap As Integer&lt;BR&gt;    Dim mCount As Integer&lt;BR&gt;    &lt;BR&gt;    GetGDayFromBeginOfYear = vGDay&lt;BR&gt;    mGLeap = IsLeapGregorian(vGYear)&lt;BR&gt;    For mCount = 1 To vGMonth – 1&lt;BR&gt;        GetGDayFromBeginOfYear = GetGDayFromBeginOfYear + mvarGDayTab(mGLeap)(mCount)&lt;BR&gt;    Next mCount&lt;BR&gt;    &lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;Private Function IsLeapGregorian(ByVal vGYear As Integer) As Integer&lt;BR&gt;&lt;BR&gt;    If (vGYear Mod 4 = 0 And vGYear Mod 100 &lt;&gt; 0) Or (vGYear Mod 400 = 0) Then&lt;BR&gt;        IsLeapGregorian = 1&lt;BR&gt;    Else&lt;BR&gt;        IsLeapGregorian = 0&lt;BR&gt;    End If&lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;Private Function GetJalaliYearMonthDay(vGTotalDay As Long, pJYear As Integer, pJMonth As Integer, pJDay As Integer)&lt;BR&gt;    &lt;BR&gt;    Dim mJTotalDay As Long&lt;BR&gt;    Dim mJYear As Integer&lt;BR&gt;    Dim mJDay As Integer&lt;BR&gt;    Dim mJLeaps As Integer&lt;BR&gt;    &lt;BR&gt;    mJTotalDay = vGTotalDay – mcDayOff&lt;BR&gt;    mJYear = mJTotalDay \ mcSolar&lt;BR&gt;    &lt;BR&gt;    mJLeaps = GetAllJalaliLeapFromBegin(mJYear)&lt;BR&gt;    &lt;BR&gt;    mJDay = mJTotalDay - (365 * CLng(mJYear) + mJLeaps)&lt;BR&gt;    mJYear = mJYear + 1&lt;BR&gt;&lt;BR&gt;    Do While mJDay &lt;= 0&lt;BR&gt;        mJYear = mJYear – 1&lt;BR&gt;        If IsLeapJalali(mJYear) = 1 Then&lt;BR&gt;            mJDay = mJDay + 366&lt;BR&gt;        Else&lt;BR&gt;            mJDay = mJDay + 365&lt;BR&gt;        End If&lt;BR&gt;    Loop&lt;BR&gt;        &lt;BR&gt;    If (mJDay = 366 And IsLeapJalali(mJYear) = 0) Then&lt;BR&gt;        mJDay = 1&lt;BR&gt;        mJYear = mJYear + 1&lt;BR&gt;    End If&lt;BR&gt;    pJYear = mJYear&lt;BR&gt;    GetJalaliMonthDay mJYear, mJDay, pJMonth, pJDay&lt;BR&gt;    &lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;Private Function IsLeapJalali(ByVal vJYear As Integer) As Integer&lt;BR&gt;    &lt;BR&gt;    Dim mTemp As Integer&lt;BR&gt;    &lt;BR&gt;    mTemp = vJYear Mod 33&lt;BR&gt;    If mTemp = 1 Or mTemp = 5 Or mTemp = 9 Or mTemp = 13 Or mTemp = 17 Or mTemp = 22 Or mTemp = 26 Or mTemp = 30 Then&lt;BR&gt;        IsLeapJalali = 1&lt;BR&gt;    Else&lt;BR&gt;        IsLeapJalali = 0&lt;BR&gt;    End If&lt;BR&gt;&lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;Private Function GetAllJalaliLeapFromBegin(ByVal vJYear As Integer) As Integer&lt;BR&gt;&lt;BR&gt;    Dim mJLeap As Integer&lt;BR&gt;    Dim mCurrentCycle As Integer&lt;BR&gt;    Dim mJDiv33 As Integer&lt;BR&gt;    Dim mCount As Integer&lt;BR&gt;    Dim mTemp As Integer&lt;BR&gt;    &lt;BR&gt;    mJDiv33 = vJYear \ 33&lt;BR&gt;    mCurrentCycle = vJYear - (mJDiv33 * 33)&lt;BR&gt;    mJLeap = mJDiv33 * 8&lt;BR&gt;    If mCurrentCycle &gt; 0 Then&lt;BR&gt;        mTemp = IIf(mCurrentCycle &lt;= 18, mCurrentCycle, 18)&lt;BR&gt;        For mCount = 1 To mTemp Step 4&lt;BR&gt;            mJLeap = mJLeap + 1&lt;BR&gt;        Next&lt;BR&gt;    End If&lt;BR&gt;    &lt;BR&gt;    If mCurrentCycle &gt; 21 Then&lt;BR&gt;        mTemp = IIf(mCurrentCycle &lt;= 30, mCurrentCycle, 30)&lt;BR&gt;        For mCount = 22 To mTemp Step 4&lt;BR&gt;            mJLeap = mJLeap + 1&lt;BR&gt;        Next&lt;BR&gt;    End If&lt;BR&gt;    GetAllJalaliLeapFromBegin = mJLeap&lt;BR&gt;&lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;Private Sub GetJalaliMonthDay(ByVal vJYear As Integer, ByVal vJDayOfYear As Integer, pJMonth As Integer, pJDay As Integer)&lt;BR&gt;    Dim mCount As Integer&lt;BR&gt;    Dim mJLeap As Integer&lt;BR&gt;&lt;BR&gt;    mJLeap = IsLeapJalali(vJYear)&lt;BR&gt;    mCount = 1&lt;BR&gt;    Do While vJDayOfYear &gt; mvarJDayTab(mJLeap)(mCount)&lt;BR&gt;        vJDayOfYear = vJDayOfYear - mvarJDayTab(mJLeap)(mCount)&lt;BR&gt;        mCount = mCount + 1&lt;BR&gt;    Loop&lt;BR&gt;    pJMonth = mCount&lt;BR&gt;    pJDay = vJDayOfYear&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Function GetWeekDayName(DayFromBegin As Long) As String&lt;BR&gt;    Dim Temp As Integer&lt;BR&gt;    &lt;BR&gt;    Temp = DayFromBegin Mod 7&lt;BR&gt;    Select Case Temp&lt;BR&gt;    &lt;BR&gt;    Case 0&lt;BR&gt;        GetWeekDayName = &quot;يك شنبه&quot;&lt;BR&gt;    Case 1&lt;BR&gt;        GetWeekDayName = &quot;دو شنبه&quot;&lt;BR&gt;    Case 2&lt;BR&gt;        GetWeekDayName = &quot;سه شنبه&quot;&lt;BR&gt;    Case 3&lt;BR&gt;        GetWeekDayName = &quot;چهار شنبه&quot;&lt;BR&gt;    Case 4&lt;BR&gt;        GetWeekDayName = &quot;پنج شنبه&quot;&lt;BR&gt;    Case 5&lt;BR&gt;        GetWeekDayName = &quot;جمعه&quot;&lt;BR&gt;    Case 6&lt;BR&gt;        GetWeekDayName = &quot;شنبه&quot;&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;    End Select&lt;BR&gt;    &lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;Public Sub GetGregorianDate(ByVal vJYear As Integer, ByVal vJMonth As Integer, ByVal vJDay As Integer, ByRef pGYear As Integer, ByRef pGMonth As Integer, ByRef pGDay As Integer, pDayName As String)&lt;BR&gt;    &lt;BR&gt;    Dim mJTotalDays As Long&lt;BR&gt;    Dim mGYear As Integer&lt;BR&gt;    Dim mGMonth As Integer&lt;BR&gt;    Dim mGDay As Integer&lt;BR&gt;    &lt;BR&gt;    SetConstants&lt;BR&gt;    &lt;BR&gt;    mJTotalDays = GetDayFromFirstJalaliDay(vJYear, vJMonth, vJDay)&lt;BR&gt;    GetWeekDayName (mJTotalDays + mcDayOff)&lt;BR&gt;    GetGregorianYearMonthDay mJTotalDays, mGYear, mGMonth, mGDay&lt;BR&gt;    pGYear = mGYear&lt;BR&gt;    pGMonth = mGMonth&lt;BR&gt;    pGDay = mGDay&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Function GetDayFromFirstJalaliDay(ByVal vJYear As Integer, ByVal vJMonth As Integer, ByVal vJDay As Integer) As Long&lt;BR&gt;&lt;BR&gt;    Dim mJLeap As Integer&lt;BR&gt;    Dim mTemp As Integer&lt;BR&gt;&lt;BR&gt;    mJLeap = GetAllJalaliLeapFromBegin(vJYear - 1)&lt;BR&gt;    mTemp = GetJDayFromBeginOfYear(vJYear, vJMonth, vJDay)&lt;BR&gt;    GetDayFromFirstJalaliDay = CLng((vJYear - 1)) * 365 + mJLeap + mTemp&lt;BR&gt;&lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;Private Function GetJDayFromBeginOfYear(ByVal vJYear As Integer, ByVal vJMonth As Integer, ByVal vJDay As Integer) As Integer&lt;BR&gt;&lt;BR&gt;    Dim mCount As Integer&lt;BR&gt;    Dim mJLeap As Integer&lt;BR&gt;    &lt;BR&gt;    GetJDayFromBeginOfYear = vJDay&lt;BR&gt;    mJLeap = IsLeapJalali(vJYear)&lt;BR&gt;    For mCount = 1 To vJMonth – 1&lt;BR&gt;        GetJDayFromBeginOfYear = GetJDayFromBeginOfYear + mvarJDayTab(mJLeap)(mCount)&lt;BR&gt;    Next mCount&lt;BR&gt;&lt;BR&gt;End Function&lt;BR&gt;&lt;BR&gt;Private Sub GetGregorianYearMonthDay(vJTotalDays As Long, pGYear As Integer, pGMonth As Integer, pGDay As Integer)&lt;BR&gt;    &lt;BR&gt;    Dim mGTotalDays As Long&lt;BR&gt;    Dim mGDiv4 As Integer&lt;BR&gt;    Dim mGDiv100 As Integer&lt;BR&gt;    Dim mGDiv400 As Integer&lt;BR&gt;    Dim mGDays As Integer&lt;BR&gt;    &lt;BR&gt;    mGTotalDays = vJTotalDays + mcDayOff&lt;BR&gt;    pGYear = mGTotalDays \ mcSolar&lt;BR&gt;    mGDiv4 = pGYear \ 4&lt;BR&gt;    mGDiv100 = pGYear \ 100&lt;BR&gt;    mGDiv400 = pGYear \ 400&lt;BR&gt;    &lt;BR&gt;    &apos; Find Gregorian day of year&lt;BR&gt;    mGDays = mGTotalDays - (365 * CLng(pGYear)) - (mGDiv4 - mGDiv100 + mGDiv400)&lt;BR&gt;    pGYear = pGYear + 1&lt;BR&gt;    &lt;BR&gt;    Do While mGDays &lt;= 0&lt;BR&gt;        pGYear = pGYear – 1&lt;BR&gt;        If IsLeapGregorian(pGYear) = 1 Then&lt;BR&gt;            mGDays = mGDays + 366&lt;BR&gt;        Else&lt;BR&gt;            mGDays = mGDays + 365&lt;BR&gt;        End If&lt;BR&gt;    Loop&lt;BR&gt;    &lt;BR&gt;    If (mGDays = 366 And IsLeapGregorian(pGYear) = 0) Then&lt;BR&gt;        mGDays = 1&lt;BR&gt;        pGYear = pGYear + 1&lt;BR&gt;    End If&lt;BR&gt;    GetGregorianMonthDay pGYear, mGDays, pGMonth, pGDay&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Sub GetGregorianMonthDay(ByVal vGYear As Integer, ByVal vGDayOfYear As Integer, pGMonth As Integer, pGDay As Integer)&lt;BR&gt;    Dim mCount As Integer&lt;BR&gt;    Dim mGLeap&lt;BR&gt;    &lt;BR&gt;    mGLeap = IsLeapGregorian(vGYear)&lt;BR&gt;    mCount = 1&lt;BR&gt;    Do While vGDayOfYear &gt; mvarGDayTab(mGLeap)(mCount)&lt;BR&gt;        vGDayOfYear = vGDayOfYear - mvarGDayTab(mGLeap)(mCount)&lt;BR&gt;        mCount = mCount + 1&lt;BR&gt;    Loop&lt;BR&gt;    pGMonth = mCount&lt;BR&gt;    pGDay = vGDayOfYear&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;حالا کد زیر رو تو قسمت جنرال فرمتون کپی کنید :&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;BR&gt;Private Sub Form_Load()&lt;BR&gt;    Dim intYear As Integer, intMonth As Integer, intDay As Integer&lt;BR&gt;    Dim strDayName As String, strShamsi As String&lt;BR&gt;    GetJalaliDate Year(Date), Month(Date), Day(Date), intYear, intMonth, intDay, strDayName&lt;BR&gt;    strShamsi = intYear &amp; &quot;/&quot; &amp; intMonth &amp; &quot;/&quot; &amp; intDay &amp; &quot; &quot; &amp; strDayName&lt;BR&gt;    Me.Caption = strShamsi&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;حالا برنامه رو اجرا کنید و از اون لذّت ببرید. موفق باشید.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;DIV dir=rtl&gt;
&lt;HR width=&quot;100%&quot; SIZE=2&gt;
&lt;/DIV&gt;
&lt;P dir=rtl&gt;ساعت عقربه ای (آنالوگ)&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و تو فرمتون یک Timer بذارید و Interval اونو 1000 بذارید، حالا کد زیر رو تو قسمت جنرال فرمتون کپی کنید :&lt;/P&gt;
&lt;P&gt;
&lt;P&gt;&lt;BR&gt;Private Sub Form_Load()&lt;BR&gt;    Me.BackColor = vbBlack&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;Private Sub Timer1_Timer()&lt;BR&gt;    Form1.Refresh&lt;BR&gt;    X = Form1.Width / 2&lt;BR&gt;    Y = Form1.Height / 2.2&lt;BR&gt;    Circle (X, Y), Y - 200, vbWhite&lt;BR&gt;    Circle (X, Y), Y - 220, vbWhite&lt;BR&gt;    For i = 1 To 12&lt;BR&gt;        Circle (X + (Y - 400) * Cos(i * 22 / 42), Y + (Y - 400) * Sin(i * 22 / 42)), 50, vbRed&lt;BR&gt;    Next&lt;BR&gt;    h = Hour(Time())&lt;BR&gt;    If h &gt; 12 Then&lt;BR&gt;        h = h – 12&lt;BR&gt;    End If&lt;BR&gt;    m = Minute(Time())&lt;BR&gt;    s = Second(Time())&lt;BR&gt;    Line (X, Y)-(X + (Y - 600) * Cos((66 / 14 + s * (44 / 420))), Y + (Y - 600) * Sin((66 / 14 + s * (44 / 420)))), vbBlue&lt;BR&gt;    Line (X, Y)-(X + (Y - 800) * Cos((66 / 14 + m * (44 / 420))), Y + (Y - 800) * Sin((66 / 14 + m * (44 / 420)))), vbYellow&lt;BR&gt;    Line (X, Y)-(X + (Y - 1200) * Cos(66 / 14 + h * (44 / 84) + (m / 12) * (44 / 420)), Y + (Y - 1200) * Sin(66 / 14 + h * (44 / 84) + (m / 12) * (44 / 420))), vbWhite&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;
&lt;P dir=rtl&gt;حالا برنامه رو اجرا کنید و ببینید که ساعت به چه زیبایی کار میکنه. موفق باشید&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;
&lt;P&gt;حمید رضا سهیلی&lt;/P&gt;
&lt;P dir=rtl&gt;درگ کردن فرم به وسيله يك كنترل (بهترین و مطمئن ترین روش) 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;اینکار که با توابع API به روش ویندوز انجام میشه، بهترین، مطمئن ترین، ساده ترین و سریع ترین روش برای درگ (Drag) کردنه فرمه. در ضمن در این روش بوسیله یک کنترل هم میشه فرم رو درگ کرد. 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و توش یک Command Button و یک Label بذارید و کد زیر رو قسمت جنرال فرمتون کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function ReleaseCapture Lib &quot;user32.dll&quot; () As Long&lt;BR&gt;Private Declare Function SendMessage Lib &quot;user32.dll&quot; Alias &quot;SendMessageA&quot; (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)&lt;BR&gt;    Dim lngReturnValue As Long 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;    If Button = 1 Then&lt;BR&gt;        Call ReleaseCapture&lt;BR&gt;        lngReturnValue = SendMessage(Me.hWnd, &amp;HA1, 2, 0&amp;)&lt;BR&gt;    End If&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;حالا یک بار بوسیله Label و یک بار هم بوسیله Command Button سعی کنید فرمتون رو درگ کنید. اگه بخواید بوسیله Label هم درگ بشه میتونید از کد داخل رویداد Command1_MouseMove برای رویداد Label1_MouseMove استفاده کنید به همین سادگی. موفق باشید.&lt;BR&gt;&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;
&lt;P dir=rtl&gt;این قفل کردن تمام ورودی ها مثل Keyboard و Mouse کار با تابع BlockInput انجام میشه و تمام ورودیهای کامپیوتر رو قفل میکنه. توجه داشته باشید که سیستم عامل هنگ نمیکنه و به کار خودش ادامه میده امّا شما نمیتونید هیچ کاری انجام بدید به جز Restart کردن. 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و کد زیر رو تو قسمت جنرال فرمتون کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function BlockInput Lib &quot;user32&quot; (ByVal fBlock As Long) As Long&lt;BR&gt;Private Declare Sub Sleep Lib &quot;kernel32&quot; (ByVal dwMilliseconds As Long) 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Form_Load()&lt;BR&gt;    BlockInput True&lt;BR&gt;    Sleep 5000&lt;BR&gt;    BlockInput False&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;به محض شروع برنامه، تمام وروردیها به مدّت 5 ثانیه قفل میشن و بعد از اون دوباره به حالت اول برمیگردن. در اینجا تابع Sleep فقط برای اتلاف وقت به کار رفته و استفاده دیگه ای نداره. موفق باشید&lt;/P&gt;
&lt;P dir=rtl&gt; &lt;/P&gt;
&lt;P dir=rtl&gt;شفاف کردن فرم به صورت شیشه ای و مات 
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;یک پروژه جدید باز کنید و تو قسمت جنرال فرمتون کدهای زیر رو کپی کنید : 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;Private Declare Function GetWindowLong Lib &quot;user32&quot; Alias &quot;GetWindowLongA&quot; (ByVal hWnd As Long, ByVal nIndex As Long) As Long&lt;BR&gt;Private Declare Function SetWindowLong Lib &quot;user32&quot; Alias &quot;SetWindowLongA&quot; (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long&lt;BR&gt;Private Declare Function SetLayeredWindowAttributes Lib &quot;user32&quot; (ByVal hWnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Command1_Click()&lt;BR&gt;    Dim Retval As Long&lt;BR&gt;    Retval = GetWindowLong(hWnd, -20)&lt;BR&gt;    Retval = Retval Or 524288&lt;BR&gt;    SetWindowLong hWnd, -20, Retval&lt;BR&gt;    SetLayeredWindowAttributes hWnd, 0, Val(Text1.Text), 2&lt;BR&gt;End Sub 
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Private Sub Form_Load()&lt;BR&gt;    Text1.Text = 100&lt;BR&gt;    Command1_Click&lt;BR&gt;End Sub&lt;BR&gt;&lt;BR&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P dir=rtl&gt;تو TextBox یک عدد از 0 تا 255 وارد کنید و کلید Command1 رو بزنید و شاهد شفاف شدن فرم باشید. فقط توجه داشته باشید که اگه از اعداد پایین مثل 1 استفاده کنید فرمتون تقریباً نامرئی میشه پس بهتون پیشنهاد میکنم تا حد امکان از اعداد بالای 50 استقاده کنید. موفق باشید&lt;/P&gt;</description>
<pubDate>Thu, 06 Nov 2008 18:58:18 GMT</pubDate>
<comments>http://commenting.blogfa.com/?blogid=minoodashtziba&amp;postid=1</comments>
<dc:creator>minoodashtziba</dc:creator>
<guid>http://minoodashtziba.blogfa.com/post-1.aspx</guid>
</item>
</channel>
</rss>
