PDA

View Full Version : مبتدی: کپی برنامه در دایرکتوری ویندوز



Izadshahri
پنج شنبه 07 آبان 1388, 21:00 عصر
سلام به همه
آقا شرمنده که سطح سوالم خیلی ایینه چون تقریبا برنامه نویسی بلد نیستم
کد زیر مسیر دایرکتوری ویندوز رو مشخص می کنه:



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

Dim Winpath , StrBuffer, sys32 As String
StrBuffer = String(255, Chr$(0))
Winpath = Left$(StrBuffer, GetWindowsDirectory(StrBuffer, Len(StrBuffer)))



کد زیر هم فایل اجرایی ما رو به فولدر ویندوز کپی میکنه:


FileCopy App.Path + "\" + App.EXEName + ".exe", "C:\windows\book.exe"

حالا فرض کنید ویندوز تو یه درایو دیگه نصب باشه! من میخوام با استفاده از کد بالا برنامه خودش رو توی دایرکتوری ویندوز کپی کنه!
ممنون از شما دوستان خوبم

IamOverlord
پنج شنبه 07 آبان 1388, 22:28 عصر
سلام دوست عزیز!
کد گرفتن مسر دایرکتوری ویندوز (که بهتره از Function استفاده کنید):

Const MAX_PATH = 255

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

Public Function GetWindowsDir() As String

Dim sRet As String, lngRet As Long
sRet = String$(MAX_PATH, 0)
lngRet = GetWindowsDirectory(sRet, MAX_PATH)
GetWindowsDir = Left(sRet, lngRet)

End Function
خوب اگر کد دومتون درست باشه فقط کافیه یه کمی تغییرش بدهید:

FileCopy App.Path + "\" + App.EXEName + ".exe", GetWindowsDir+"\book.exe"

Izadshahri
جمعه 08 آبان 1388, 09:51 صبح
سلام ببخشید دوباره مزاحم شدم.
یه سوال دیگه داشتم

به یه کد لازم دارم چک کنه توی فولدر ویندوز یه فایل مثل Book.exe وجود داره یا نه! اگه وجود نداشت یه پیغامی بده، البته میخوام مسیر ویندوز رو از تابع بالا پیدا کنه"GetWindowsDir"
مرسی از لطفتون

xxxxx_xxxxx
جمعه 08 آبان 1388, 10:17 صبح
برای پیدا کردن مسیر ویندوز می تونید از Environ هم استفاده کنید:


MsgBox Environ("SystemRoot")




به یه کد لازم دارم چک کنه توی فولدر ویندوز یه فایل مثل Book.exe وجود داره یا نه!

برای این هم می تونید از تابع PathFileExists استفاده کنید:


Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long

Private Sub Command1_Click()
x = Environ("SystemRoot") & "\Book.exe"
If PathFileExists(x) Then
MsgBox "Yes"
Else
MsgBox "No"
End If
End Sub