PDA

View Full Version : سوال: مشکل در جرای shell با مسیرهای شامل کاراکتر space



m75an86
دوشنبه 22 اسفند 1390, 12:37 عصر
با سلام
من با دستور shell و مسیر رجیستری نرم افزار Acrobat Reader میخوام یه فایل pdf را در مسیری باز کنم. اگه مسیر فایل شامل space نباشد مشکلی نداره ولی زمانی که آن مسیر شامل پوشه ای باشد که نام آن پوشه فاصله داشته باشه error میده مثلا مسیر: D:\Program file\aa.pdf رو خطا میده
چون فایل را در مسیری که برنامه در آنجاست قرار دادم برای همین مسیر ثابتی نداره که تو نامگذاریش دقت کنم . فکر کنم برای این حالت قبل از اجرای shell باید کاراکتری رو جایگزین space در مسیر کنم ولی نمیدونم اون چیه؟
از دوستان عزیز خواهشمندم راهنماییم کنند

محسن واژدی
دوشنبه 22 اسفند 1390, 12:53 عصر
سلام
مسیر را در double-quotation قرار بدین، مانند نمونه زیر:

Shell """C:\New Folder\app.exe"""

البته این دستور فقط قادر به اجرای فایل های خود اجرایی مانند exe است، برای باز کردن اسناد از apiی ShellExecute استفاده کنید:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Command1_Click()
ShellExecute 0&, "open", "c:\mypdf.pdf", vbNullString, App.Path, vbNormalFocus
End Sub



موفق باشید