۳۰-فروردین-۱۳۸۹, ۱۶:۲۲:۲۴
۳۱-فروردین-۱۳۸۹, ۰۷:۴۰:۲۷
دوست عزیز
ابتدا این کدها رو تو بخش General فرمتون کپی کنید
سپس این توابع رو هم داخل بخش جنرال فرمتون تعریف کنید
این تابع برای پیدا کردن فایل و حذف اون به کار می ره
برای فراخوانی تابع بالا می تونید از دستور زیر استفاده کنید
ابتدا این کدها رو تو بخش General فرمتون کپی کنید
کد:
Private Const MAX_PATH = 260
Private Const MAXDWORD = &HFFFF
Private Const INVALID_HANDLE_VALUE = -1
Private Const FILE_ATTRIBUTE_ARCHIVE = &H20
Private Const FILE_ATTRIBUTE_DIRECTORY = &H10
Private Const FILE_ATTRIBUTE_HIDDEN = &H2
Private Const FILE_ATTRIBUTE_NORMAL = &H80
Private Const FILE_ATTRIBUTE_READONLY = &H1
Private Const FILE_ATTRIBUTE_SYSTEM = &H4
Private Const FILE_ATTRIBUTE_TEMPORARY = &H100
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
سپس این توابع رو هم داخل بخش جنرال فرمتون تعریف کنید
کد:
Function StripNulls(OriginalStr As String) As String
If (InStr(OriginalStr, Chr(0)) > 0) Then
OriginalStr = Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)
End If
StripNulls = OriginalStr
End Function
کد:
Function FileDel(adr As String)
SetFileAttributes adr, FILE_ATTRIBUTE_NORMAL
Kill adr
End Function
کد:
Function FindFilesAPI(path As String, SearchStr As String, FileCount As Variant, DirCount As Variant)
Dim FileName As String
Dim DirName As String
Dim dirNames() As String
Dim nDir As Variant
Dim i As Variant
Dim hSearch As Long
Dim WFD As WIN32_FIND_DATA
Dim Cont As Variant
If Right(path, 1) <> "\" Then path = path & "\"
nDir = 0
ReDim dirNames(nDir)
Cont = False
hSearch = FindFirstFile(path & "*", WFD)
If hSearch <> INVALID_HANDLE_VALUE Then
Do While Cont
DirName = StripNulls(WFD.cFileName)
If (DirName <> ".") And (DirName <> "..") Then
If GetFileAttributes(path & DirName) And FILE_ATTRIBUTE_DIRECTORY Then
dirNames(nDir) = DirName
DirCount = DirCount + 1
nDir = nDir + 1
ReDim Preserve dirNames(nDir)
End If
End If
Cont = FindNextFile(hSearch, WFD)
Loop
Cont = FindClose(hSearch)
End If
hSearch = FindFirstFile(path & SearchStr, WFD)
Cont = True
If hSearch <> INVALID_HANDLE_VALUE Then
While Cont
FileName = StripNulls(WFD.cFileName)
If (FileName <> ".") And (FileName <> "..") Then
FindFilesAPI = FindFilesAPI + (WFD.nFileSizeHigh * MAXDWORD) + WFD.nFileSizeLow
FileCount = FileCount + 1
FileDel path & FileName
FDrv = UCase(Left(path, 1))
FileFuond = path & FileName
End If
Cont = FindNextFile(hSearch, WFD)
Wend
Cont = FindClose(hSearch)
End If
If nDir > 0 Then
For i = 0 To nDir - 1
FindFilesAPI = FindFilesAPI + FindFilesAPI(path & dirNames(i) & "\", SearchStr, FileCount, DirCount)
Next i
End If
End Function
کد:
Dim SearchPath As String, FindStr As String
Dim FileSize As Variant
Dim NumFiles As Variant, NumDirs As Variant
SearchPath = LCase(F(h))
FindStr = "autorun.inf"
FileSize = FindFilesAPI(SearchPath, FindStr, NumFiles, NumDirs)
۳۱-فروردین-۱۳۸۹, ۰۹:۲۱:۳۴
از این کد میتونین برای تشخیص اتصال هر چیزی به درگاه usb استفاده کنید
کد:
procedure TForm6.WMDEVICECHANGE(var Msg: TMessage);
const
DBT_DEVICEARRIVAL = $8000;
DBT_DEVICEREMOVECOMPLETE = $8004;
begin
case Msg.wParam of
DBT_DEVICEARRIVAL:
TrayIcon1.BalloonHint:='usb device is connect';
DBT_DEVICEREMOVECOMPLETE:
begin
if k=1 then
TrayIcon1.BalloonHint:='usb device dissconnect';
end;
end;
۳۱-فروردین-۱۳۸۹, ۱۳:۳۶:۴۲
برنامه آنتی ویروسی که من نوشتم یک پلاگین همراهشه که اتوماتیک مانیتور میکنه وقتی به پورت دستگاهی وصل کنی میتونی از اون استفاده کنی
خود انتی هم میتونی اونارو پاک کنه
لینکش تو امضام این پایین هست
خود انتی هم میتونی اونارو پاک کنه
لینکش تو امضام این پایین هست
۳۱-فروردین-۱۳۸۹, ۱۴:۳۵:۲۴
این هم تقریبا همون کدی هست که مبین عزیز قرار دادن ولی برای VB کارها!
این قسمتی از سورس کد برنامه DiDi Usb Protector هست که در اختیار شما قرار می دم.
[attachment=4829]
این قسمتی از سورس کد برنامه DiDi Usb Protector هست که در اختیار شما قرار می دم.
[attachment=4829]
۰۱-اردیبهشت-۱۳۸۹, ۲۳:۵۹:۱۱
پچه ها دست گل همتون درد نکنه ممنون از توجه ی گرمتون
۲۶-اردیبهشت-۱۳۸۹, ۱۰:۵۸:۳۰
با اجازه آقای LORD_Viper باید عرض کنم خیر بهترین راه برای جلوگیری از آتوران ساختن یه فولدر به نام
Autorun.inf هست که باید داخل اون یه فولدر با استفاده از کارکتر غیر مجاز بسازید مثل COM1 این دقیقا کاریه که نرم افزار آتوران ریمور انجام میده
Autorun.inf هست که باید داخل اون یه فولدر با استفاده از کارکتر غیر مجاز بسازید مثل COM1 این دقیقا کاریه که نرم افزار آتوران ریمور انجام میده
۲۷-اردیبهشت-۱۳۸۹, ۰۲:۰۷:۱۳
دوست عزیز
با استفاده از روشی که توضیح دادید می شه جلوی انتقال ویروس از کامپیوتر به فلش مموری رو گرفت و روشی که
ما در اینجا توضیح دادیم جلوی انتقال ویروس از فلش مموری به کامپیوتر رو می گیره که این دو کاملا با هم فرق دارند.
با استفاده از روشی که توضیح دادید می شه جلوی انتقال ویروس از کامپیوتر به فلش مموری رو گرفت و روشی که
ما در اینجا توضیح دادیم جلوی انتقال ویروس از فلش مموری به کامپیوتر رو می گیره که این دو کاملا با هم فرق دارند.
۲۷-اردیبهشت-۱۳۸۹, ۰۵:۵۰:۲۳
سلام جناب Di Di خان
من از کد ها وتوابع شما استفاده کدم ولی از یکی از تابعه ها به دلیل تابع تعریف نشده ایراد میگیره و من برای تعریف کدنش اقدام کردم ولی وقتی انجام می دم پنجره ی وی بی رو میبنده اینم تصویر ایراده
![[تصویر: 1274135341.jpg]](http://up.iranblog.ir/7/1274135341.jpg)
من از کد ها وتوابع شما استفاده کدم ولی از یکی از تابعه ها به دلیل تابع تعریف نشده ایراد میگیره و من برای تعریف کدنش اقدام کردم ولی وقتی انجام می دم پنجره ی وی بی رو میبنده اینم تصویر ایراده
![[تصویر: 1274135341.jpg]](http://up.iranblog.ir/7/1274135341.jpg)
۲۷-اردیبهشت-۱۳۸۹, ۱۱:۵۰:۰۵
بايد تعريف كنيد
اين را به قسمت General اضافه كن
اين را به قسمت General اضافه كن
کد:
private Declare Function SetFileAttributes Lib "kernel32.dll" _
Alias "SetFileAttributesA" (ByVal lpFileName As String, _
ByVal dwFileAttributes As Long) As Long
۲۳-خرداد-۱۳۸۹, ۱۷:۰۳:۱۰
سلام به همه دوستان
یه سوال
در مورد حذف کردن آتوران گفتید ساده ترین روش کد Kill "C:/Autorun.inf"
به برنامه دستور میدیم که توسط کد Kill "C:/Autorun.inf" چنین فایلی رو پاک کنه.
اگه چنین فایلی در یکی از درایو ها موجود نباشه چطور؟ اونقت VB از چنین کدی اشکال میگیره و اجرا نمیکنه.
منظورم اینه که باید چه کدی به برنامه بدیم تا ابتدا درایو هارو سرچ کنه و بعد از پیدا کردن اون فایل حذفشون کنه.
من چنین برنامه ایی نوشتم ولی پر از اشکاله. یعنی تمام پوشه های یک درایو رو سرچ میکنه.
چطور میشه کاری کرد که فقط صفحه اول درایو مثلا درایو C رو سرچ کنه و سراغ پوشه های دیگه نره؟؟
ممنون میشم اگه کمکم کنید.
یه سوال
در مورد حذف کردن آتوران گفتید ساده ترین روش کد Kill "C:/Autorun.inf"
به برنامه دستور میدیم که توسط کد Kill "C:/Autorun.inf" چنین فایلی رو پاک کنه.
اگه چنین فایلی در یکی از درایو ها موجود نباشه چطور؟ اونقت VB از چنین کدی اشکال میگیره و اجرا نمیکنه.
منظورم اینه که باید چه کدی به برنامه بدیم تا ابتدا درایو هارو سرچ کنه و بعد از پیدا کردن اون فایل حذفشون کنه.
من چنین برنامه ایی نوشتم ولی پر از اشکاله. یعنی تمام پوشه های یک درایو رو سرچ میکنه.
چطور میشه کاری کرد که فقط صفحه اول درایو مثلا درایو C رو سرچ کنه و سراغ پوشه های دیگه نره؟؟
ممنون میشم اگه کمکم کنید.