یه قسمت دیگه از برنامم ناقص مونده....میخام آدرس هر فایلی که کاربر باز میکنه مثلا کاربر یک نرم افزار رو باز میکنه رو توی برنامم آدرسشو نمایش بدم ..
کمکم کنید ممنون میشم.
Printable View
یه قسمت دیگه از برنامم ناقص مونده....میخام آدرس هر فایلی که کاربر باز میکنه مثلا کاربر یک نرم افزار رو باز میکنه رو توی برنامم آدرسشو نمایش بدم ..
کمکم کنید ممنون میشم.
اگه برای باز کردن فایل از commondialog استفاده کنی نام و مسیر فایل تو خاصیت filename کامن دیالوگ ذخیره میشه.
کد زیر مسیر فایلی که کاربر باز کرده رو بر می گردونه:
CommonDialog1.ShowOpen
MsgBox (CommonDialog1.FileName)
نه میخوام کاربر وقتی توی محیط ویندوز یک برنامه باز کرد آدرسش توی برنامم ثبت بشه
سلام
این کار به این راحتی ها امکان پذیر نیست
یا باید برای این کار هوک کنید که فقط آدرس به شما نمایش داده بشه
یا درایور بنویسید که این یکی هم سخت تر و هم با دسترسی و قابلیت های بیشتر.
در حال حاضر نمونه ای نداشتم که برات بذارم ولی اگر پیدا کردم حتما می زارم
ممنونم. ببینم چکار میکنید...
راه های دیگه ای هم هست.
دنبال توابع api بگرد
سلام
فعلا اینو پیدا کردم
این فقط تشخیص می ده که تغییری ایجاد شده ولی نمی تونه بفهمه که چه تغییری!
دارم دنبال نمونه های بهتری می گردم
اگر پیدا کردم می گذارم
این برنامه به یک دکمه و یک تکس باکس و یک لیبل نیاز داره
آدرس درایو و یا آدرس مورد نظر رو بهش بده و روی دکمه کلیک کن بعد اگر تغییری ایجاد بشه متن لیبل عوض می شه
Option Explicit
Private Const FILE_NOTIFY_CHANGE_ATTRIBUTES = &H4
Private Const FILE_NOTIFY_CHANGE_DIR_NAME = &H2
Private Const FILE_NOTIFY_CHANGE_FILE_NAME = &H1
Private Const FILE_NOTIFY_CHANGE_SIZE = &H8
Private Const FILE_NOTIFY_CHANGE_LAST_WRITE = &H10
Private Const FILE_NOTIFY_CHANGE_SECURITY = &H100
Private Const FILE_NOTIFY_CHANGE_ALL = &H4 Or &H2 Or &H1 Or &H8 Or &H10 Or &H100
Private Declare Function FindFirstChangeNotification Lib "kernel32" Alias "FindFirstChangeNotificationA" (ByVal lpPathName As String, ByVal bWatchSubtree As Long, ByVal dwNotifyFilter As Long) As Long
Private Declare Function FindCloseChangeNotification Lib "kernel32" (ByVal hChangeHandle As Long) As Long
Private Declare Function FindNextChangeNotification Lib "kernel32" (ByVal hChangeHandle As Long) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Private Declare Function ResetEvent Lib "kernel32" (ByVal hEvent As Long) As Long
Public Sub WaitForFileChange(ByVal fn As String, Optional ByVal flags = FILE_NOTIFY_CHANGE_ALL, _
Optional ByVal CheckSubDir As Boolean = True, Optional ByVal TimeOut As Long = -1)
Dim hNote As Long
hNote = FindFirstChangeNotification(fn, CheckSubDir, flags)
WaitForSingleObject hNote, TimeOut
FindCloseChangeNotification hNote
Label1.Caption = "File Changed!"
End Sub
Private Sub Command1_Click()
Label1.Caption = ""
WaitForFileChange Trim(Text1.Text)
End Sub
اینم یه پروژه خیلی عالی برای این کار همه چی رو نشون می ده(تغییر نام، ایجاد، حذف و...)
به غیر از اجرای برنامه ها که این رو هم دنبالشم اگه پیدا کردم برات می گذارم
امید وارم به دردت بخوره
یه مقدار کمی پیچیده است
ضمیمه 115632
تونستم تو یکی از سایتهای لاتین زبان کدش رو پیدا کنم........:تشویق::تشویق::تشویق: :تشویق:
ضمیمه 115682:تشویق::تشویق::تشویق: