09-12-2010, 11:19 AM
09-12-2010, 12:30 PM
السلام عليكم
1- إستقبال موضع المؤشر GetCursorPos
2- جلب المقبض إنطلاقا من موضع المؤشر WindowFromPoint
3- جلب مسار الملف/مجلد إنطلقا من مقبض المتحصل عليه في (2) GetFinalPathNameByHandle
- ملاحظة : GetFinalPathNameByHandle متوفرة في Vista فما فوق !! & لم أجرب .
بالتوفيق,,
1- إستقبال موضع المؤشر GetCursorPos
2- جلب المقبض إنطلاقا من موضع المؤشر WindowFromPoint
3- جلب مسار الملف/مجلد إنطلقا من مقبض المتحصل عليه في (2) GetFinalPathNameByHandle
- ملاحظة : GetFinalPathNameByHandle متوفرة في Vista فما فوق !! & لم أجرب .
بالتوفيق,,
09-12-2010, 12:53 PM
في ما يخص
GetFinalPathNameByHandle
Vista... حصرا؟....ماذا عن أكس بي
لم تنجح معي الدالة
WindowFromPoint
تعطيك فقط الكنترول
وليس الملفات المؤشر عليها
المثال مرفق
![[صورة: On_Mouse_Hover_2.bmp]](http://dc247.4shared.com/img/4oXu3Oyh/s7/On_Mouse_Hover_2.bmp)
لا فكرة؟ لأخذ الهندل للملف على سطح المكتب..؟
GetFinalPathNameByHandle
Vista... حصرا؟....ماذا عن أكس بي
لم تنجح معي الدالة
WindowFromPoint
تعطيك فقط الكنترول
وليس الملفات المؤشر عليها
المثال مرفق
![[صورة: On_Mouse_Hover_2.bmp]](http://dc247.4shared.com/img/4oXu3Oyh/s7/On_Mouse_Hover_2.bmp)
لا فكرة؟ لأخذ الهندل للملف على سطح المكتب..؟
10-12-2010, 10:13 PM
كود :
[align=left]Use the FileFromPoint property to get the path of the file from the cursor. The control fires the StateChange event when the user selects a file or a folder. Use Get property to retrieve the collection of selected items. Use the BrowseFolderPath property to retrieve the browsed folder path.
The following VB sample displays the file from the cursor:
Private Sub ExFileView1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim f As String
f = ExFileView1.FileFromPoint(X / Screen.TwipsPerPixelX, Y / Screen.TwipsPerPixelY)
If Len(f) > 0 Then
Debug.Print f
End If
End Sub
The following C++ sample displays the file from the cursor:
void OnMouseMoveExfileview1(short Button, short Shift, long X, long Y)
{
CString f = m_fileview.GetFileFromPoint( X, Y );
if ( f.GetLength() > 0 )
OutputDebugString( f );
}
The following VB.NET sample displays the file from the cursor:
Private Sub AxExFileView1_MouseMoveEvent(ByVal sender As Object, ByVal e As AxEXFILEVIEWLib._IExFileViewEvents_MouseMoveEvent) Handles AxExFileView1.MouseMoveEvent
Dim f As String = AxExFileView1.get_FileFromPoint(e.x, e.y)
If Len(f) > 0 Then
Debug.WriteLine(f)
End If
End Sub
The following C# sample displays the file from the cursor:
private void axExFileView1_MouseMoveEvent(object sender, AxEXFILEVIEWLib._IExFileViewEvents_MouseMoveEvent e)
{
string f = axExFileView1.get_FileFromPoint(e.x, e.y);
if (f.Length > 0)
System.Diagnostics.Debug.WriteLine(f);
}
The following VFP sample displays the file from the cursor:
*** ActiveX Control Event ***
LPARAMETERS button, shift, x, y
with thisform.ExFileView1
local f
f = .FileFromPoint( x, y )
if ( len(f) > 0 )
wait window nowait f
endif
endwith[/align]دلفي ؟؟
11-12-2010, 02:27 AM
إقتباس :sample displays the file from the cursor:
يقصد عندما يكون مؤشر الفئرة فوق المكون ExFileView1 ... و ليس من سطح المكتب .
لتجريب هذه المكونات ...
ثم من الدالفى
Component --> Import Active x Control
ثم اختر ExFileView...
ثم فى حدث MouseMove
كود :
procedure TForm1.ExFileView1MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
var
f: string;
begin
f := ExFileView1.FileFromPoint[X, Y];
if Length (f) > 0 then
Caption := f;
end;11-12-2010, 08:23 AM
نعم
يعني لا توجد دالة FileFromPoint في مقابل WindowFromPoint
لالتقاط الهندل للملف على سطح المكتب او في اكسبلورر " داخل مجلد" ؟
يعني لا توجد دالة FileFromPoint في مقابل WindowFromPoint
لالتقاط الهندل للملف على سطح المكتب او في اكسبلورر " داخل مجلد" ؟
11-12-2010, 10:56 AM
WindowFromPoint دالة ويندوز أم FileFromPointفهي دالة مضمنة ....
- أشرت إلى GetFinalPathNameByHandle, أيضا يمكن عمل Hook لـ ZwQueryInformationFile
نقرأ المعلومات في بنية FileNameInformation لكن لضيق الوقت لم أحظر مثال بعد .... يمكنك مواصلة
البحث .
بالتوفيق,,
- أشرت إلى GetFinalPathNameByHandle, أيضا يمكن عمل Hook لـ ZwQueryInformationFile
نقرأ المعلومات في بنية FileNameInformation لكن لضيق الوقت لم أحظر مثال بعد .... يمكنك مواصلة
البحث .
بالتوفيق,,
11-12-2010, 02:16 PM
شكرا
بالطبع ..سأبحث عن هذه الدوال
وفقك الله
بالطبع ..سأبحث عن هذه الدوال
وفقك الله