PDA

View Full Version : مشکل در نشان دادن یک فایل



amirhossein.h
سه شنبه 16 اردیبهشت 1393, 09:19 صبح
با سلام
با کد زیر فایل مورد نظر رو نشون توی explorer نشون میدم
string argument = @"/select, " +filepath;
System.Diagnostics.Process.Start("explorer.exe", argument);

کد درست کار میکنه ولی مشکلی که هست اینکه من میخوام مثلا اگه اکسپلورر با این آدرس باز باشه فقط روی اون فایل فوکوس بشه ولی اینطوری هر بار یک اکسپلورر جدید باز میشه
چه طوری میشه این کارو کرد؟؟
با تشکر

amirhossein.h
سه شنبه 16 اردیبهشت 1393, 12:36 عصر
سلامی مجدد
فکر نکنم با روش بالا بشه همچین کاری کرد ولی در هر صورت جوابو پیدا کردم میزارم شاید کسی به دردش خورد
public static void OpenFolderAndSelectFile(string filePath) {
if (filePath == null)
throw new ArgumentNullException("filePath");


IntPtr pidl = ILCreateFromPathW(filePath);
SHOpenFolderAndSelectItems(pidl, 0, IntPtr.Zero, 0);
ILFree(pidl);
}


[DllImport("shell32.dll", CharSet = CharSet.Unicode)]
private static extern IntPtr ILCreateFromPathW(string pszPath);


[DllImport("shell32.dll")]
private static extern int SHOpenFolderAndSelectItems(IntPtr pidlFolder, int cild, IntPtr apidl, int dwFlags);


[DllImport("shell32.dll")]
private static extern void ILFree(IntPtr pidl);