تبليغاتX
VB 6.0 AND Windows BY Hamid Rezaei
نام کاربری :
کلمه عبور :
عضويت دروب
 
كاربر گرامي ، خوش آمديد !
WWW.GODVB.BLOGFA.COM
امروز  
 
فهرست اصلی
لینکهای سریع
صفحه اول
آرشیو
ایمیل
موضوعات



جستجو



آرشیو مطالب

لینکستان
اگر می خواهید با وبسایت ما تبادل لینک کنید لینک ما را با نام " خداي ويژوال بيسيك " قرار دهید و در بخش تماس با ما و یا نظرات لینک خود را قرار دهید. 
مشاهده سریع تماس با ما

نظرات مستقيم


برنامه نویسی با VB برای لینوکس

WwW.God VB.Blogfa.COm
If you're looking for a fast, easy way to create graphical Linux applications, take a look at Gambas. It's a free Integrated Development Environmet (IDE) built on the BASIC programming language -- with added object-oriented extensions. Think of it as Visual Basic for Linux.

According to the website: "...you can quickly design your program GUI with QT or GTK+, access MySQL, PostgreSQL, Firebird, ODBC and SQLite databases, pilot KDE applications with DCOP, translate your program into any language, create network applications easily, make 3D OpenGL applications, make CGI web applications, and so on..."

WwW.God VB.Blogfa.COm

If you've used other IDEs, Gambas will look pretty familiar. It's all there: form designer, properties viewer, toolbox, project viewer and integrated debugger...

WwW.God VB.Blogfa.COm

Once your code is running and tested, you simply Make the project -- as an executable, source archive or installation package -- and it's ready to run on any other Linux machine with the Gambas runtime interpreter installed.

خداییش دیگه نظر داره ؟!!؟!!؟؟

AHA.x92 -) Hamid Rezaei -) یکشنبه 2 تیر1387  نظر بدهید!

VB Portable

این هم اولین برنامه به صورت Portable می باشد که به بخش دانلود اضافه می شود. برنامه های Portable که در زبان فارسی به پورتابل مشهور شده اند نسخه های خاصی از برنامه ها می باشند که نیازی به نصب ندارند و تنها با اجرای فایل اجرایی آنها در ویندوز اجرا می شوند. بعضی از این نسخه ها را خود سازندگان نرم افزار درست می کنند و بعضی دیگر توسط افرادی غیر از سازندگارن نرم افزار ساخته می شوند. مثلا شما همین محیط برنامه نویسی Visual Basic 6.0 را می توانید در حجمی بسیار کم داشته باشید. البته بحث در مورد نسخه های پرتابل زیاد است ولی ممکن است این نسخه ها امکانات نسخه اصلی را نداشته باشند یا در هنگام کار ارورهایی را اعلام کنند به خصوص آنهایی که توسط کسان دیگری ساخته می شوند و این نسخه هم همینطور است. ولی مزیت آن این است که می توانید بدون نصب نسخه کامل خیلی سریع به محیط برنامه نویسی Visual Basic ‌دسترسی داشته باشید و مثلا برنامه خود را لود کرده و اجرا و تست و ویرایش کنید. بعد از خارج کردن فایل از حالت فشرده Vb6.exe را اجرا کنید.

 

AHA.x92 -) Hamid Rezaei -) یکشنبه 2 تیر1387  نظر بدهید!

سلام . بازم کوشان عزیز میخواستن رزولیشن صفحه رو تغییر بدن .

اره کوشان جان میشه البته با API اين 3 تا تابع اين كارو انجام ميدن :

1. ChangeDisplaySettings . كه همينو براي دانلود ميذارم .

2.  ChangeDisplaySettingsEx

3. EnumDisplaySettings

اگه سوال ديگه اي هم داشتي و يا داشتين همه رو با هم بپرسين . ممنون

  Change Display Settings 

كلمات كليدي : تغيير رزولوشن در vb ، تغيير resolution در vb

AHA.x92 -) Hamid Rezaei -) جمعه 17 خرداد1387  نظر بدهید!

ْْGif و PNG در VB

سلام .

کوشان عزیز دنبال کامپوننتي بودن واسه عکس های Gif توي VB كه بهش AnyGif ميگن البته رجيستر شده اش .منم اونو همراه با كامپوننت عكس هاي PNG رو ميزارم واسه دانلود .


 Png In VB     

            Any Gif    

کلمات کلیدی : استفاده از تصاویر png در vb ، استفاده از فايل هاي gif در vb ، ocx، any gif، anygif

AHA.x92 -) Hamid Rezaei -) پنجشنبه 16 خرداد1387  نظر بدهید!

کلید میانبرهایی در VB

سلام . این هم مجموعه ای از کلید میانبرها در ویژوال که میتونه سرعت عملتون رو بالا ببره . منتظر بقیه اش هم باشین

 

CTRL+Z or ALT+BACKSPACE = همان حالات undo خودمان است

 

ALT+F8 = برنامه را با حالت  step over  اجرا می کند. (این حالت برنامه را خط به خط اجرا کرده و در صورت فرخوانی روالی دیگر ، وارد آن روال نمی شود )

 

CTRL+C or CTRL+INS = کپی کردن متن انتخاب شده

 

CTRL+BACKSPACE = پاک کردن قسمت به قسمت کدها از سمت چپ

 

CTRL+DELETE = پاک کردن قسمت به قسمت کدها از سمت راست

 

CTRL+] = مخفی کردن اشاره گر ماوس در پنجره کد.

 

CTRL+END = انتقال دادن کرسر به اخرین خط از پنجره.

 

CTRL+F = پنجره جستجو را برای شما نمایش می دهد. در صورتی که متنی را برای جستجو انتخاب نکرده باشید کلمه قبل از کرسر برای جستجو انتخاب میشود .

 

CTRL+F3 = بدون نمایش پنجره ای به جستجو میپردازد و مانند CTRL+F عمل می نماید.

 

CTRL+H = وقتی ما بخواهیم کلمه خاصی را جایگزین کلمه دیگری کنیم .

 

مخلصیم .  AHA.x92

 

AHA.x92 -) Hamid Rezaei -) جمعه 27 اردیبهشت1387  نظر بدهید!

تعريف متغيرها

به اطمينان، قبلاً در برنامه نويسی (لااقل در Basic که پيش فرض بحث ما معرفی شده بود) از متغيرها زياد استفاده کرده ايد. در برخی زبانهای برنامه نويسی (مثل Basic) ، نوع متغيرهای بکار رفته در برنامه، لازم نيست از قبل تعريف شده باشد و در هنگام اجرا، کامپايلر، خود، آن را به نوع مورد نياز (مثل Integer برای برای داده های عددی صحيح، يا String برای نوع داده رشته ای و کاراکتری و ...) تعريف و اجرا خواهد کرد. اما در برخی ديگر (مانند زبان برنامه نويسی Pascal)لازم است، نوع داده متغيرهای بکار رفته، در جايی از برنامه (و عموماً قبل از استفاده از آن) تعريف شوند.

در VB، از آنجا که VB از Basic برای کدنويسی استفاده می شود، به طور معمول، نياز به تعريف نوع داده ها نيست. اما از آنجا که امروزه برنامه نويسان ترجيح می دهند که از کامپايلری برای برنامه نويسی استفاده کنند که او را به تعريف تمام متغيرها مجبور کند (زيرا اگر چنين نباشد، اگر او به اشتباه دستوری را غلط تايپ کند (مثلاً بجای then بنويسد Then) ، کامپايلر آن را به عنوان متغيری فرض می کند و در واقع بدون اينکه ما خطايی را دريافت کنيم، در روند برنامه مان مشکل پيدا می شود و خطايی رخ می دهد که شايد تشخيص علت آن سخت تر شود) ، می توانيم VB را موظف سازيم تا ما را مجبور به تعريف نوع داده متغيرها نمايد.

اگر در ابتدای هر يونيت (Unit) عبارت Option Explicit نوشته شود، VB ما را مظف می کند که در آن يونيت، هر متغيری که بخواهيم استفاده کنيم، آن را قبل از استفاده، تعريف نماييم (لذا بهتر است ابتدای همه Unitها عبارت مذکور باشد) . يونيت (Unit) ها، بخش هايی از برنامه اند که در آنها کدنويسی می شود. مثلاً هر فرم، دارای يک Unit مخصوص به خود است که تمام Event Procedureهايی که تا بحال می نوشتيم، در آن قرار می گرفت.

همچنين اگر از منوی Tools گزينه Options را اتنخاب کنيم، و از لبه General (Tab Sheet) ، گزينه Require Variable Declare را چک مارک بزنيم، از اين پس، VB هر فرمی که ايجاد می شود، به طور پيش فرض عبارت Option Explicit را در ابتدای آن خواهد نوشت و در واقع هميشه ما را موظف می سازد که متغيرها را تعريف نماييم.

برای تعريف متغيرها از دستور Dim به شکل کلی زير استفاده می شود:

Dim variableNames As variablsType

به عنوان مثال دستور Dim a,b As Integer متغيرهايی را به نام a,b از نوع داده Integer (نوع داده عددی صحيح) تعريف می کند و سپس از آن می توانيم متغير a را در برنامه مقداردهی نماييم.

متغيرها را می توان در سه سطح تعريف نمود (Space of Variables) :

1-    سطح پروسيجر (procedure Level) :

اگر متغيری در يک Procedure (و معمولاً ابتدای آن) تعريف کنيم، آن متغير را فقط در همان Procedure می توان استفاده نمود و در واقع برای همان Procedure خاص تعريف شده است.

2-    سصح فرم (Form Level) :در سطح فرم (يعنی در ابتدای Unit مربوط به فرم و پس از عبارت Option Explicit) ، متغيرها می توانند به دو نوع تعريف شوند:

2-1- تعريف به صورت Private (شخصی) :

     اگر متغيری در سطح فرم به صورت Private و به شکل کلی:

Private variableNames As variableType

    تعريف شود، آن متغير فقط در تمام Procedureهای فرم قابل استفاده است و در فرم های ديگر قابل دسترسی و استفاده نمی باشد (مگر اينکه در آنها هم جداگانه تعريف شده باشد) .

2-2- تعريف به صورت Public (عمومی) :

     اگر متغيری در سطح فرم، به صورت Public و به شکل کلی:

Public variableNames As variableType

تعريف شود، در اين صورت آن متغير علاوه بر دسترسی در همان فرم (بوسيله نام آن متغير) ، در فرمهای ديگر (در واقع در کل پروژه) قابل دسترسی خواهد بود. فقط در صورت نياز به استفاده در فرمهای ديگر لازم است نام فرمی را که متغير در آن تعريف شده است ذکر شود (البته اگر آن فرم load باشد) و سپس پس از يک نقطه (Dot) نام آن متغير آورده شود. به عنوان مثال اگر در ابتدای يونيت مربوط به Form1 نوشته شده باشد:

Public Number As Integer

و بخواهيم در فرمی ديگر، به آن مقداردهی کنيم، لازم است چنين بنويسيم:

Form1.Number = 15

توجه: اگر در سطح فرم از Dim برای تعريف استفاده شود، به طور پيش فرض آن را Private در نظر خواهد گرفت.

3-    سطح ماژول (Module Level) :

ماژولها بخشی از پروژه هستند که متغيرها، توابع و Procedureهای عمومی (Global) را در آن تعريف می کنيم. اگر تعريفی (مثل تعريف نوع داده متغير يا يک Procedure) با Private انجام گيرد، فقط در همان ماژول قابل استفاده می باشد و اگر با Public صورت گيرد، در هر فرمی و بدون نياز به نوشتن نام ماژول در ابتدای آن، قابل استفاده خواهد بود. نکته ای که بايد توجه داشت اينکه اگر بخواهيم از متغيريا Procedureای که در يک ماژول به صورت Public تعريف شده است، در ماژولی ديگر استفاذه کنيم، ذکر نام ماژول در ابتدای آن به همراه يک نقطه (Dot) ضروری است.

معمولاً از تعريف Public در ماژول زمانی استفاده می کنيم که بخواهيم متغير يا Procedureای به صورت Global (عمومی) در سراسر پروژه استفاده شود. شايد بگوييد می شود در هر فرمی که به آن نياز داريم، همانجا متغير را تعريف می کنيم، پس چه نيازی به ماژول داريم؟

هر چند اين کار باعث می شود که برنامه خطای دستوری از ما نگيرد اما در اينصورت وقتی از فرمی به فرم ديگر می رويم مقدار موجود در آن متغير، پس از تعريف مجدد، دوباره Null (تهی) می شود، در حاليکه اگر از يکبار تعريف Public در ماژول استفاده کنيم، پس از مقدار دهی در جايی از پروژه، تا مقداردهی مجدد، اين مقدار در تمام پروژه قابل دسترسی است.

برای افزودن يک ماژول به پروژه کافی است از منوی Project گزينه Add Module را انتخاب کنيد و آن را (با پسوند .BAS) save نماييم.

همانطور که ملاحظه می فرماييد، ماژولها تنها بخش کدنويسی (Unit) دارند بر خلاف فرمها که يک بخش Interface (ظاهری) داشتند که کنترلها را به صورت Visual روی آن قرار می داديم و يک بخش کدنويسی (Unit) که کدهای مربوط به Event Procedureها را در آن می نوشتيم. همچنين ملاحظه می فرماييد که با توجه به وظيفه ماژولها، معمولاً در کل پروژه اولاً به يک ماژول نيازمنديم ثانياً به بيش از يک ماژول احتياجی پيدا نمی کنيم.

نکته: علاوه بر متغيرها می توانيم از ثوابت (Constants) نيز در پروژه استفاده کنيم. ثوابت، بخشی از پرونده اند که هنگام تعريف، مقداردهی می شوند و تا پايان پروژه مقدارشان ثابت می ماند. برای تعريف ثوابت از دستور Constant استفاده می شود به عنوان مثال:

Const PI As single = 3.14

AHA.x92 -) Hamid Rezaei -) دوشنبه 5 فروردین1387  نظر بدهید!

اضافه كردن DialogBox به برنامه:

 

مطمئنا تا بحال در ويندوز از كادرهاي محاورهاي زيادي مثل پنجره هاي Open، Save، نمايش خصوصيات چاپگر (Printer)، كادر انتخاب رنگ، كادر انتخاب Font و پنجره Help ويندوز استفاده كرده ايد.

در VBبراي نمايش اينگونه پنجرههاي محاورهاي از كنترل DialogBox استفاده ميكنيم. اين كنترل يكي از كنترلهاي  Non - Visual ويژوال بيسيك ميباشد. Non-Visual Controls همانطور كه قبلا هم آمده است، انواعي از كنترلها هستند كه فقط در زمان طراحي (Design Time) بر روي فرم ديده ميشوند و در Run Run Time فقط ميتوان از اثر آنها بهره برد.

كنترل مذكور بطور پيش فرض در ToolBar وجود ندارد. براي اضافه كردن آن به ToolBar بايد از منوي Project گزينه Components را انتخاب كنيم و در ليست Componentها، گزينه Microsoft Common Dialog Control 6 را چك مارك بزنيم و آن را تاييد (OK) نماييم. در اينصورت يك كنترل به ToolBoxزوده خواهد شد كه مي توانيد آن را با دابل كليك بر روي فرم قرار دهيد. توجه داريم كه كنترل مذكور Non-Visual است و لذا نيازي به تنظيم مكان اين كنترل بر روي فرم نداريد.

كنترل Dialog Box داراي متدهاي زير مي باشد:

ShowColor براي نمايش پنجره محاورهاي تعيين رنگ در زمان فراخواني اين متد.

ShowFont براي نمايش پنجره محاورهاي تعيين فونت در زمان فراخواني اين متد.

 ShowHelp براي نمايش پنجره محاورهاي راهنماي ويندوز در زمان فراخواني اين متد.

ShowOpen براي نمايش پنجره محاورهاي باز كردن يك فايل در زمان فراخواني اين متد.

ShowPrinter براي نمايش پنجره محاورهاي تعيين خصوصيات چاپگر در زمان فراخواني اين متد.

ShowSave براي نمايش پنجره محاورهاي ذخيره كردن در يك فايل در زمان فراخواني اين متد.

Private Sub cmd_Click ( )

          cdb.ShowColor

          lbl.ForeColor = cdb.Color

End Sub

يا اگر بخواهيم توسط دکمه‌ای ديگر به نام cmd2، پنجره Open باز شود، و هر فايلی از هر مسيری را که کار بر انتخاب کرد، در lbl نمايش داده شود، می‌نويسيم:

Private Sub cmd2_Click ( )

          cdb.ShowOpen

          lbl.Caption = cdb.FileName

End Sub

AHA.x92 -) Hamid Rezaei -) دوشنبه 5 فروردین1387  نظر بدهید!

ProgressBar

این هم یک ProgressBar خیلی قشنگ و جالب .

Media Progress Bar Render Sample.

 Download

AHA.x92 -) Hamid Rezaei -) دوشنبه 5 فروردین1387  نظر بدهید!

دانلود

 

اين دانلود هاي جديد بازهم بگين حميد بد هستش

 

   » ساخت Screen Saver شماره 4

   » ساخت Screen Saver شماره 3

   » ساخت Screen Saver شماره 2

   » ساخت Screen Saver شماره 1

   » روش جستجو و جایگذاری در یک متن

   » ارتباط VB با فلش 2 

   » ارتباط VB با فلش 1

   » بازی کرم یا همون (Snak Game) با گرافیک خوب

   » ویرایشگری برای فایل های متنی

   » لود کردن فرمها با نوعی انیمیشن جالب 

   » جادوگر یا همون ( Agent ) با تمام کدهای حرکتی

   » ویروسی برای خاموش و Restart و Stand By کردن کامپیوتر 

   » گرفتن عکس از صفحه کاری ویندوز

   » بازی قشنگ سفینه جنگی ( سه بعدی )

   » پایان دادن به اجرای برنامه ای از روی عنوان 

   »  ضبط کردن صداهای داخل ویندوز

   » سورس کامل MP3 پلیر به همراه Skin

   » برنامه فرستادن ایمیل به همراه فایل

   » ساعت عقربه ای واقعا جالب

   » ساعت دیجیتالی واقعا جالب

   » سورس کد پیانو ( Piano ) یا همون Org

   » ویرایشگر صفحات اینترنتی ( Html )

   » استخراج اطلاعات مربوط به سیستم

   » استخراج ابعاد تصویر بدون بار کردن آن

   » بازی پازل ( اعداد و تصویر )

   » بازی پازل ( فقط اعداد )

   » تغییر عکس دسکتاپ ویندوز

   » Hibernate كردن كامپيوتر با VB

   » محاسبه ظرفیت درایوهای سیستم

   » بررسی وضعیت کلیدهای CapsLock , NumLock

   » ساخت فرمهایی که حفره دار هستند

   » تشخیص درایو CDROM در یک سیستم

   » بازی ساده دوز ( X And O )

   » چرخاندن متن با زاویه دلخواه

   » نوار TaskBar به صورت شیشه ای

   » ZOOM کردن تصویر با اسکرول

   » نمایشگر وضعیت کارکرد CPU 

   » سورس کد چند بازی جالب

   » ساخت فرمهای شیشه ای

   » حرکت دادن آیکونهای دسکتاپ

   » عکس گرفتن از دسکتاپ ویندوز

   » عوض کردن حرکت نشانگر ماوس

   » راه اندازی و خاموش کردن ویندوز

 

AHA.x92 -) Hamid Rezaei -) شنبه 1 دی1386  نظر بدهید!

سلام  اين هم دانلود نرم افزاري كه شبيه سازيش كردم البته زياد روش كار نكردم چون زياد مالي نبود

ولي موقعه اي كه اينو بردم مدرسه عمو والي نيا معلممون باور نكرد كه اينو خودم نوشتم ايتكارا رو ميكنن بعد ميگن واسه چي مغزها از كشور فرار ميكنن بابا

به جوانان مان بايد ايمان داشته باشيم و گرنه فرار مغزها پيش مي آيد        حضرت حميد

  

                             http://www.mediafire.com/?81n1dzmmpm3

AHA.x92 -) Hamid Rezaei -) شنبه 1 دی1386  نظر بدهید!

مجمو عه ای از توابع API

 

با اجازه از علی جون ( مدیا )

API شماره 1 : API اول درمورد تغییر برچسب درایو هاست . یعنی شما می تونید با این تابع برچسب درایوهارو عوض کنید.

تعریف تابع توی یک ماژول.

Public Declare Function SetVolumeLabelA Lib "kernel32.dll" (ByVal lpRootName As String, ByVal lpVolumeName As String) As Long

lpRootName : مسیر درایو ریشه مثل "C:\" میشه.

lpVolumeName : برچسب جدید درایو مثل "VisualBasic"

نحوه استفاده تو برنامه :شما اول یک متغییر از نوع Long البته با توجه به نوع خروجی تابع تعریف می کنید بعد به صورت زیر استفاده می کنید :

Dim A As Long

()Private Sub Commad1_Click

("A = SetVolumeLabelA("C:\", "VisualBasic

End Sub

>> اگه تابع درست کار کند مقدار A عددی غیر صفر ، در غیر این صورت A=0 خواهد بود.

َAPI شماره 2 : API دوم در مورد محاسبه زمان سپری شده از روشن شدن سیستم شماست . البته بر حسب میلی ثانیه.

--> تعریف تابع توی یک ماژول :

Public Declare Function timeGetTime Lib "winmm.dll" () As Long

این تابع فقط یک خروجی دارد که زمان سپری شده سیستم است:

نحوه استفاده در برنامه : مانند تابع قبل یه منغییر از نوع Long تعریف میکنید و به صورت زیر استفاده می کنید :

Dim A as Long

()Private Sub Command1_Click

A = timeGetTime

Text1.Text = A

End Sub

>>اگر تابع درست کار کند A برابر با زمان سپری شده و در غیر این صورت A=0 خواهد بود.

َAPI شماره 3 : سومی درمورد کپی گرفتن از یک فایله .

تعریف تابع توی یک ماژول :

Public Declare Function CopyFileA Lib "kernel32.dll" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long

lpExistingFileName : آدرس فایل مبدا مثل "C:\VB6.txt"

lpNewFileName : آدرس فایل مقصد مثل "D:\VB6.txt"

bFailIfExist : اين متغير مشخص مي کند در صورت وجود فايل مقصد عمليات کپي ادامه يابد يا نه. اگر صفر باشد انجام ميشود و اگر يک باشد انجام نميشود .

نحوه استفاده در برنامه : مانند تابع قبل یه منغییر از نوع Long تعریف میکنید و به صورت زیر استفاده می کنید :

Dim A as Long

()Private Sub Command1_Click

(A=CopyFileA( "C:\VB6.txt","D:\VB6.txt",0

End Sub

>> اگه تابع درست کار کند مقدار A عددی غیر صفر ، در غیر این صورت A=0 خواهد بود.البته میتونید نام فایل رو هم توی مقصد عوض کنید.

َAPI شماره 4 : چهارمی درمورد انتقال یک فایله . اين تابع براي انتقال يک فايل يا پوشه از محلي به محل ديگر مورد استفاده قرار مي گيرد ( توانايي تغيير نام فايل ها و پوشه ها را نيز دارد ).

تعریف تابع توی یک ماژول :

Private Declare Function MoveFile Lib "kernel32.dll" (ByVal lpExistingName As String, ByVal lpNewFileName As String) As Long

lpExistingName : مسير فايل مبدا

lpNewFileName : مسير فايل مقصد( اگر نام فايل متفاوت باشد درحين انتقال نام فايل نيز تغيير خواهدکرد )

نحوه استفاده در برنامه : مانند تابع قبل یه منغییر از نوع Long تعریف میکنید و به صورت زیر استفاده می کنید :

Dim A as Long

()Private Sub Command1_Click

("A=MoveFile( "C:\VB6.txt","D:\VB6.txt

End Sub

>> اگه تابع درست کار کند مقدار A عددی غیر صفر ، در غیر این صورت A=0 خواهد بود.

َAPI شماره 5 : برای باز و بسته کردن CDROM . این تابع از دستور متنی استفاده میکنه.با این تابع کارهای زیادی میشه کرد.

باز هم مثل همیشه کد تابع رو توی یه ماژول تعریف کنید :

Public Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

برای باز شدن CDROM این کد رو بنویسید:

(&)Private Sub OpenCD_Click

&mciSendString "Set CDAudio Door Open Wait", 0&, 0&, 0

End Sub

برای بسته شدن CDROM هم کد زیر رو بنویسید :

()Private Sub CloseCD_Click

&mciSendString "Set CDAudio Door Closed Wait", 0&, 0&, 0

End Sub

همینطور که می بینید این تابع از دستورات ساده چند رسانه ای برای باز کردن سی دی رام استفاده می کنه.

َAPI شماره 6 : برای مخفی کردن نوار TaskBar ویندوز. حال میده برا سر کار گذاشتن .

تعریف تابع و ثابتهای برنامه توی یه ماژول :

Public Hwnd1 As Long

Public Const SWP_HIDEWINDOW = &H80

Public Const SWP_SHOWWINDOW = &H40

Public Declare Function SetWindowPos Lib "user32" (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) As Long

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

همینطور که می بینید باید با تابع FindWindow اول هندل نوار TaskBar رو پیدا کنیم بعدش با تابع SetWindowPos کار اصلی رو انجام بدیم.

کد مخفی کردن نوار توی یه Button :

()Private Sub HideTask_Click

("" ,"Hwnd1 = FindWindow("Shell_Traywnd

(Call SetWindowPos(Hwnd1, 0, 0, 0, 0, 0, SWP_HIDEWINDOW

End Sub

کد نمایش نوار هم توی یه Button دیگه:

()Private Sub ShowTask_Click

(Call SetWindowPos(Hwnd1, 0, 0, 0, 0, 0, SWP_SHOWWINDOW

End Sub

َAPI شماره 7 : این API برای مخفی کردن دکمه Start ویندوز.این یکی از تابع قبلی باحالتره.

مثل همیشه تعریف تابع توی یه ماژول.تو این برنامه سه تا تابع لازمه:

Public OP As Long

Public OH As Long

Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Public Const SW_HIDE = 0

Public Const SW_SHOW = 5

از تابع FindWindow برای پیدا کردن هندل TaskBar و از تابع FindWindowEx برای پیدا کردن هندل دکمه Start که در واقع فرم فرزند (ChildForm) TaskBar ویندوزه استفاده می کنیم.از تابع ShowWindow هم برای کار اصلی استفاده می کنیم.

حالا برای مخفی کردن دکمه Start کد زیر رو مینویسیم:

()Private Sub HideStart_Click

("" ,"OP& = FindWindow("Shell_TrayWnd

(OH& = FindWindowEx(OP&, 0, "Button", vbNullString

ShowWindow OH&, SW_HIDE

End Sub

این کد هم برای نمایش دوباره دکمه Start :

()Private Sub ShowStart_Click

("" ,"OP& = FindWindow("Shell_TrayWnd

(OH& = FindWindowEx(OP&, 0, "Button", vbNullString

ShowWindow OH&, SW_SHOW

End Sub

َAPI شماره 8 : از این تابع برای پیدا کردن مسیر پوشه ویندوز استفاده میشه که خیلی هم به درد می خوره.

کد تابع توی یه ماژول :

Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long

lpBuffer : مقدار اين بافر توسط تابع مقدار دهي مي شود و مقدار بر گشتي آن مسير نصب ويندوز خواهد بود.

nSize : طول بافر lpBuffer است.

کد اجرایی هم توی Form_Load برنامه :

()Private Sub Form_Load

Dim WINPath As String

Dim StrBuffer As String

((StrBuffer = String(255, Chr$(0

(((WINPath = Left$(StrBuffer, GetWindowsDirectory(StrBuffer, Len(StrBuffer

MsgBox "Windows Folder : " & WINPath

End Sub

API شماره 9 : این تابع لیست همه درایو های سیستم رو برای شما تهیه میکنه.

کد تابع توی یه ماژول :

Public Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long

توی این برنامه هم نقش اصلی رو بافر و طول بافر هر درایو که مشخص کننده اون درایوه بازی میکنه.

کد اصلی برنامه هم توی Form_Load :

()Private Sub Form_Load

Dim StrBuffer As String

Me.AutoRedraw = True

((StrBuffer = String(255, Chr$(0

(ret& = GetLogicalDriveStrings(255, StrBuffer

For I = 1 To 100

If Left$(StrBuffer, InStr(1, StrBuffer, Chr$(0))) = Chr$(0) Then Exit For

(Me.Print Left$(StrBuffer, InStr(1, StrBuffer, Chr$(0)) - 1

(((StrBuffer = Right$(StrBuffer, Len(StrBuffer) - InStr(1, StrBuffer, Chr$(0

Next I

End Sub

API شماره 10 : از این تابع برای جستجوی یک فایل استفاده می شه . این تابع برای پیدا کردن فایل مورد نظر همه قسمت های درایو رو جستجو میکنه و اگه فایل پیدا شد مسیر دقیق اون رو برای شما نمایش میده.

تعریف تابع توی ماژول :

Public Declare Function SearchTreeForFile Lib "imagehlp" (ByVal RootPath As String, ByVal InputPathName As String, ByVal OutputPathBuffer As String) As Long

Public Const MAX_PATH = 260

RootPath : مسیر محلی که باید جستجو بشه. مثل " C:\ "

InputPathName : اسم فایل با پسوند. مثل " Ali.TXT "

OutputPathBuffer : بافر مسیر خروجی.

ثابت MAX_PATH هم که حداکثر بافر مسیر مورد جستجو رو مشخص میکنه.

کد اصلی باز هم توی Form_Load برنامه :

()Private Sub Form_Load

Dim TempStr As String

Dim Result As Long

(TempStr = String(MAX_PATH, 0

(Result = SearchTreeForFile("C:\", "Ali.txt", TempStr

If Result <> 0 Then

(MsgBox "Located file at " + Left$(TempStr, InStr(1, TempStr, Chr$(0)) - 1

Else

"!MsgBox "File not found

End If

End Sub

از متغییر TempStr برای مقدار دهی به بافر خروجی استفاده شده.

خروجی تابع عددی خواهد شد که در متغییر Result قرارخواهد گرفت.اگر Result=0 باشد بیانگر این است که فایل مورد نظر یافت نشده و اگر Result عددی غیر صفر باشد فایل مورد نظر پیدا شده است.

AHA.x92 -) Hamid Rezaei -) شنبه 1 دی1386  نظر بدهید!

اکتیو ایکس

 

 

این کامپوننت ها و اکتیو ایکس های با حال بازهم دلت میاد نظر ندی ؟ ! ! !

به من میگن خدای ویژوال بیسیک کم کسی که نیستم نه

 

نام کنترل

توضيح

ظرفيت (KB)

   فايل   

ListKillProcess

اين اکتيوايکس قابليت اين را دارد که ليست برنامه هاي در حال پردازش توسط CPU را در اختيار ما قرار دهد و به ما امکان خارج کردن هر کدام از برنامه ها را از ليست پردازش ميدهد .

18

دانلود

VFMp3Player

با اين کنترل ميتوان فايلهاي MP3 را پخش کرد . حتي اين کنترل داراي صفحه حساس به شدت و تغييرات صدا مي باشد .

94

دانلود

3dabm7u

اين کنترل داراي توانايي تبديل به بسياري کنترل هاي ديگر مانند ( دکمه ، فريم ، Check Box ، Option Button ، Picture Box ) مي باشد . ولي بيشترين کاربرد آن در طراحي دکمه هاي بسيار جالب و متنوع با گرافيک بالا مي باشد .

378

دانلود

MediaButton

اين کنترل دکمه اي تقريبا شبيه به دکمه هاي Windows XP بوده و يکي از ويژگي هاي خوب آن کارآمد بودن در عين سادگي بودن آن است .

11

دانلود

OfficeButton

اين کنترل دکمه اي تقريبا شبيه به دکمه هاي Office 2003 بوده و يکي از ويژگي هاي ساده بودن آن است .

8

دانلود

LHButton

اين کنترل دکمه اي تقريبا شبيه به دکمه هاي Windows Langhorn بوده و يکي از ويژگي هاي خوب آن ساده بودن آن است .

17

دانلود

PBXPButton

اين کنترل يکي از بهترين کنترل ها براي طراحي دکمه است .  کنترل قابليت نمايش يک آيکون کوچک در کنار نوشته را دارد و علاوه بر ظرفيت کم آن داراي جذابيت بسياري است .

22

دانلود

RegControl

با استفاده از کنترل به راحتي مي توان کارهايي از قبيل ساخت ، حذف و ويرايش کليد در رجيستري ويندوز را انجام داد .

17

دانلود

PicScroll

اين کنترل نيز يکي از بهترين کنترلهاي طراحي شده مي باشد . با استفاده از اين کنترل مي توان کارهايي از قبيل Zoom کردن ، مشاهده تصويرهاي بزرگ در حالت اسکرول و حتي ذخيره کردن تصوير و کارهاي بسيار ديگر را انجام داد .

13

دانلود

CalcCombo

اين کنترل يک ماشين حساب کشويي را در اختيار کابر قرار ميدهد که در عين سادگي مي تواند کاربرد بسياري داشته باشد .

47

دانلود

CSFontPicker

اين کنترل قادر است تا ليست Font ها و رنگهاي سيستمي را به صورت کشويي يا ليست در اختيار ما قرار دهد . 

59

دانلود

ColorCombo

اين کنترل به گونه اي طراحي شده که کشوي تمام رنگها را در اختيار ما قرار مي دهد و اين قابليت را دارد که خود ما رنگهاي کشو را تنظيم کنيم .

65

دانلود

ArielColor

اين کنترل نيز همانند کنترل قبلي بوده با اين تفاوت که ساده تر است و رنگهاي انتخابي آن محدودتر مي باشد .

36

دانلود

SkinControl

با استفاده از اين کنترل ميتوان به راحتي فرم خود را به شکل تصوير مورد نظر در آورد .

7

دانلود

URLLabel

اين کنترل هم در ايجاد لينک هايي مانند لينکهاي موجود در اينترنت کاربرد دارد .

12

دانلود

PopUpMenu

با اين کنترل به راحتي مي تواند منوهاي شناور طراحي کرد .

44

دانلود

TreeFolder

اين کنترل مي تواند ليست دايرکتوريهاي سيستم را به صورت درختي و با دسترسي آسان در اختيار شما قرار دهد .

20

دانلود

ToolTipControl

با استفاده از کنترل شما قادر خواهيد بود تا پيغامهاي حبابي ( Tooltip ) همانند پيغام هاي خود ويندوز طراحي کنيد .

23

دانلود

TrayIcon

با استفاده از کنترل شما قادر خواهيد بود آيکون برنامه خود را در کنار ساعت سيستم قرار دهيد . حتي آن را به صورت انيميشن چرخشي يا روشن خاموش تنظيم کنيد .

37

دانلود

MsgBoxCtrl

اين کنترل نيز براي طراحي پيغام هايي ( MsgBox ) با تصاوير و تنظيمات دلخواه استفاده مي شود .

24

دانلود

HardWareInfo

از اين کنترل مي تواند بسياري از اطلاعات سخت افزاري سيستم را در اختيار قرار دهد .

24

دانلود

SinusControl

با استفاده از اين کنترل ميتوان متني را به صورت موج سينوسي شکل با سرعت و اندازه دلخواه حرکت داد .  

14

دانلود

AHA.x92 -) Hamid Rezaei -) سه شنبه 29 آبان1386  نظر بدهید!

دانلود سورس یک ویروس باحال از خودم

   این هم لینک دانلود سورس ویروس ساخته شده از خودم فقط اجرایش نکنید  البته سیخ کاریش کنین ویروس باحالیه

  دانلود برو حالشو یکن 

AHA.x92 -) Hamid Rezaei -) سه شنبه 22 آبان1386  نظر بدهید!


استفاده از شی File System Object در ویژوال بیسیک

 
امروز می خوام درباره شی (File Sysytem Object ) که به FSO هم معروف است مطالبی را خدمت شما دوستان ارائه بدم ,این شی قابلیت کار با Drive , Folder , File , TestStream را دارد یعنی شما می توانید پوشه و یا فایلی را از مسیری به مسیر دیگر کپی و حذف و یا منتقل کنید و هم چنین می توانید پو شه ای را در مسیر مورد نظر ایجاد کنید

برای افزودن این شی به برنامه از منوی Project آیتم Refrencese را انتخاب کنید و از آن آیتم Microsoft Script Runtime را تیک می زنید . اکنون نوبت به تعریف یک متغیر از نوع ّFso می باشد

Dim Fso As New FileSystemObject

در ضمن لازم به ذکر است که App.path مسیر جاری را که برنامه اجرایی در آن قرار دارد را بر می گر داند .

Fso.CopyFile App.Path & "\text.txt", "C:\", True ' True For Ovwerwrite
fso.MoveFile App.Path & "\text.txt", "C:\" ' For Move File Of Current Path to "C:\" Path
fso.DeleteFile "c:\text.txt"

همین عملیات بالا را می توان برای Folder هم اجرا کرد . همان طور که متوجه شده اید این شیء بسیار مهم است و می تواند کاربرد های زیادی برایتان داشته باشد مثلاً من در زیر برنامه ای می نویسم که بتواند فایلی را در پو شه System32 ویندوز کپی کند خوب بر ای اینکه بتوان پوشه ویندوز را پیدا کنیم از یک API استفاده می کنم چون امکان داره ویندوز داخل پوشه هایی غیر از نام Windows باشد این کار بر ای بر نامه هایی که می خواهید فایلی را در پوشه ویندوز کپی کنی دکاربرد دارد مثلاً شما می خواهید فونتی را در پوشه font ویندوز کپی کنید.

Private Declare Function GetWindowsDirectory Lib "kernel32" Alias _
"GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long _
) As Long

Dim fso As New FileSystemObject
Public S As String
Public SysDirectory As Long

Private Sub Command1_Click()
fso.CopyFile App.Path & "\vb.txt", S + "\System32\", True
End Sub

Private Sub Form_Load()
S = Space(255)
'Get the Windows directory
WinDirectory = GetWindowsDirectory(S, 255)
S = Left$(S, WinDirectory)

'#######################################

LblSource.Caption = "Source : " & App.Path & "\vb.txt"
LblDestination.Caption = "Destination : " & S & "\System32\"
End Sub

دانلود برنامه نمونه
https://www.sharemation.com/vbcoder/vb/Copy.zip?uniq=-buiawi

*****************************

چگونه از اجراي مجدد يک برنامه در ويژوال بيسيک جلوگيري کنیم؟
خوب با استفاده از کد زير در فرم اصلي برنامه تان مي توانيد از اجراي مجدد (Duplicate) برنامه جلوگيري کنيد

Private Sub Form_Load()
If App.PrevInstance = True Then
Dim Result As Integer
Result = MsgBox("برنامه در حال اجراست", vbInformation, "Warnnig")
Unload Me
End If
End Sub


******************************

برنامه خاموش کردن Windows با يک کليک
در اين برنامه يک پروژه ساده رو به شما معرفی ميکنم که در اون با يک کليک ساده دکمه ميتوانيد ويندوز رو
خاموش کنيد . برای ساخت اين پروژه مراحل زير را طی کنيد :
۱ - ويژوال بيسيک را باز کنيد
۲ - يک فرم جديد ايجاد کنيد
۳ - از جعبه ابزار ويژوال يک دکمه روی فرم قرار دهيد
۴ - روی دکمه دو بار کليک کرده و دستور زير را در رويداد کليک دکمه تایپ کنيد

Shell ("Shutdown ") ' Shuts computer down

همانطور که ديده ميشود در صورت اجرای و فشار دکمه ويندوز خاموش ميشود.
اين دستور دارای سويچ های خاص ميباشد که ميتوانيد در برنامه خود استفاده کنيد . در زير اين
سويچ ها ارائه شده اند :

' Switches:
l Log off profile
s Shut down computer
r Restart computer
f Force applications to close
t Set a timeout for shutdown
m \\computer name Shut down remote computer
i Show the Shutdown GUI

مثال :

Shell ("Shutdown -s -t 5") ' Shuts computer down after timeout of 5

بعنوان مثال در صورت استفاده از فرمان فوق سيستم بعد از 5 ثانيه خاموش ميشود. دقيقا مطابق کدی
که در ويروس ام اس بلستر استفاده شده با اين تفاوت که مدت انتظار برای خاموش شدن سيستم در
اين ويروس 30 ثانيه است


**************************************

چگونه وقفه ايجاد کنيم : مثلا برای بارگذاری فرم

Sub Pause(interval)
Dim Current
Current = Timer
Do While Timer - Current < Val(interval)
DoEvents
Loop
End Sub

*******************************
بيل گيتس : جهاني فكر كنيد؟ محلي عمل كنيد!
*******************************

AHA.x92 -) Hamid Rezaei -) جمعه 4 آبان1386  نظر بدهید!


تشخیص فشرده شدن کليدهای کيبرد


یکی از دوستان سوال کرده بودند که چگونه می توان کلیدهای کیبرد را حتی وقتی فوکوس روی برنامه ما نیست تشخیص داد مانند دیکشنری ها که مثلاً با CTRL+F12 فعال می شوند و یا Keylogger ها که کلیدهای فشرده شده را ثبت می کنند
من دو روش زیر را برای اینکار پيشنهاد می کنم :

1 - استفاده از یک تابع کتابخانه ای به اسم GetAsyncKeyState موجود در کتابخانه user32.dll . این تابع ، فشرده شدن یا رها شدن یک کلید را تشخیص می دهد . نحوه declare کردن این تابع بصورت زیر است :

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

حال در برنامه تان یک timer قرار داده و در event آن کد زیر را قرار دهید :

For i = 1 To 255
results = 0
results = GetAsyncKeyState(i)
If results <> 0 Then
Msgbox(Chr(i))
End If
Next

برای مشاهده یک برنامه نمونه به این آدرس مراجعه کنید .
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=36078&lngWId=1

2 - استفاده از قلاب یا Hook : قلاب ، یک ابزار در مکانیزم مدیریت پیغام سیستم ویندوز است که توسط آن برنامه ها می توانند یک روتین را برای مدیریت و پردازش پیغامهای خاصی قبل از اینکه آن پیغامها به برنامه مقصد برسند نصب نمایند . قلابها باعث کندی سیستم می شوند زیرا حجم پردازشی سیستم روی هر پیغام را افزایش می دهند بنابراین بایستی زمانیکه واقعاً به قلاب نیاز دارید آنرا نصب نموده و هر چه زودتر آنرا حذف نمایید . سیستم ویندوز از انواع زیادی از قلابها پشتیبانی می کند که هر کدام امکان دستیابی به پیغامهای خاصی را مهیا می نمایند برای مثال یک برنامه کاربردی می تواند با استفاده از قلاب کیبرد برای مدیریت و پردازش پیغامهای مربوط به آن ( مثل فشرده شدن یک کلید خاص یا رها شدن آن ) استفاده کند .
برای نصب یک قلاب در برنامه از یک تابع کتابخانه ای به اسم SetWindowsHookEx استفاده می شود . این تابع یک قلاب را به زنجیره قلابهای سیستم اضافه می کند . نحوه declare کردن این تابع بصورت زیر است :

Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long

همچنین برای آزاد کردن یک قلاب و حذف آن از زنجیره قلابها از تابع کتابخانه ای UnhookWindowsHookEx استفاده می گردد . نحوه declare کردن این تابع بصورت زیر است :

Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long

برای ایجاد قلاب کیبرد همچنین نیاز به تعریف یک ثابت است که شماره قلاب کیبرد در آن قرار دارد :

Public Const WH_KEYBOARD = 2

حال بایستی یک تابع پس زمینه یا Callback Function نوشت که به ازای فشرده شدن کیبرد اجرا شود و آدرس آنرا ( با استفاده از کلمه کلیدی Address Of ) بهمراه ثابت فوق به تابع SetWindowsHookEx فرستاد .

AHA.x92 -) Hamid Rezaei -) جمعه 4 آبان1386  نظر بدهید!

آخرین مطالب
آموزش دیباگر olly Ice

دانلود Lc6
كيجن نويسي Lc5
دور زدن Pc Security
کرک Lc5 به روش code injection

آموزش کیجن نویسی
دکامپایلر
چند Disassembler
   
 
چه کسانی به ما لینک دادند؟

نويسندگان

حميد


عضويت سريع در وب
فرم عضویت
نام شما :
نام کاربری :
ایمیل :
کلمه عبور :
تکرار کلمه عبور :



لینک دوستان

بخش ویژه






 

RSS


صفحه اصلي |  آرشیو |  لینکستان  |  تماس با ما


کپي برداري از مطالب وبلاگ فقط با ذکر منبع مجاز ميباشد .

All Rights Reserved 2008-2010 © by godvb.blogfa.com

free theme

theme

قالب وبلاگ

Free Template Blog