نوشته شده توسط
gachboy
مشکل از فرم نیست! مشکل از ادرس هاییه که میدن مثلا:
app.patch ادرس C:\Documents and Settings\Olive\Desktop میده ولی environ"temp" ادرس C:\DOCUME~1\Olive\LOCALS~1\Temp میده!
این دوتا ادرس هم با هم فرق داره!
می خوام تست کنم اگه برنامم داخل temp بود بک گروند قرمز بشه ولی دوتا ادرس بالایی با هم فرق دارن!
به دو روش میتونید این مشکل برطرف کنید، یکی یا آدرس Temp را از حالت کوتاه شده خارج کنید یا آدرس برنامه را کوتاه کنید، کد زیر آدرس برنامه را کوتاه کرده است،:
Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
Public Function GetShortName(sFile As String) As String
On Error Resume Next
Dim sShortFile As String * 255
Dim lResult As Long
lResult = GetShortPathName(sFile, sShortFile, Len(sShortFile))
GetShortName = Left$(sShortFile, lResult)
End Function
Private Sub Command1_Click()
If Environ("tmp") = GetShortName(App.Path) Then MsgBox "OK..", vbInformation
End Sub
موفق باشید