PDA

View Full Version : اجرای فایل



ali190
سه شنبه 02 فروردین 1390, 18:50 عصر
باسلام
دوستان میخواستم بپرسم آیا در vb.net (با استفاده از توابع داخلی) میشه با داشتن آدرس یک فایل ، اون فایل رو گشود؟
(راستی در این زمینه جستجو کردم ولی هیچ نتیجه ای نیافتم ، کلملات کلیدی : اجرای فایل ، گشودن فایل)
ممنون و متشکر از لطف شما
یاعلی

mohsen12345
سه شنبه 02 فروردین 1390, 19:08 عصر
باسلام
دوستان میخواستم بپرسم آیا در vb.net (با استفاده از توابع داخلی) میشه با داشتن آدرس یک فایل ، اون فایل رو گشود؟
(راستی در این زمینه جستجو کردم ولی هیچ نتیجه ای نیافتم ، کلملات کلیدی : اجرای فایل ، گشودن فایل)
ممنون و متشکر از لطف شما
یاعلی

با سلام
اگه منظور شما یک فایل اجرایی مانند ExEهست که آره می شه و به دو صورت هم می شه
روش اول مثل ویژال بیسیک 6 استفاده از دستور Shell هست به صورت زیر


Shell( ByVal PathName As String,Optional ByVal Style As AppWinStyle = AppWinStyle.MinimizedFocus,Optional ByVal Wait As Boolean = False, Optional ByVal Timeout As Integer = -1 ) As Integer


ودر روش دوم ایجاد یک Process هست


System.Diagnostics.Process.Start(fileName As String,arguments As String,userName As String,password As SecureString,domain As String )As Process


اگه سوال دیگه ای داشتی خوشحال می شم کمک کنم

ali190
سه شنبه 02 فروردین 1390, 19:21 عصر
سلام
من بصورت زیر استفاده کردم جواب نگرفتم:


PublicClass Form1
PrivateDeclareFunction ShellExecute Lib"shell32.dll"Alias"ShellExecuteA" (ByVal hWnd AsLong, ByVal lpOperation AsString, ByVal lpFile AsString, ByVal lpParameters AsString, ByVal lpDirectory AsString, ByVal nShowCmd AsLong) AsLong
PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ShellExecute(0&, vbNullString, "C:\test.log", vbNullString, vbNullString, vbMaximizedFocus)
EndSub
EndClass

ali190
چهارشنبه 03 فروردین 1390, 11:17 صبح
سلام
ممنون میشم راهنماییم کنید
یاعلی

AmirHarirbafan
چهارشنبه 03 فروردین 1390, 13:45 عصر
من یک مقاله در همین زمینه دادم ، البته با C# ولی زیاد تفاوتی با vb.net نداره
اینم آدرسشه :
http://barnamenevis.org/showthread.php?276180-%D8%A8%D8%A7%D8%B2-%D9%86%D9%85%D9%88%D8%AF%D9%86-%D9%81%D8%A7%DB%8C%D9%84-%D9%87%D8%A7-%D8%AF%D8%B1-%D8%B3%DB%8C-%D8%B4%D8%A7%D8%B1%D9%BE-%D8%A8%D9%87-%D8%B1%D9%88%D8%B4-%D9%87%D8%A7%DB%8C-%D9%85%D8%AE%D8%AA%D9%84%D9%81&highlight=
امیدوارم مفید باشه

ali190
چهارشنبه 03 فروردین 1390, 14:36 عصر
ممنون از لطفتون
من در اون تایپیک از تکنیک زیر استفاده کردم:

2- برای باز کردن یک فایل با نرم افزار پیشرفض، از دستور زیر میتوان استفاده کرد. (به عنوان مثال: یک عکس با هر نرم افزاری که کاربر برای ویندوز مشخص نموده است)




System.Diagnostics.Process.Start("Explorer", "C:\\Pic.jpg



نرم افزار پیش فرض من Windows Picture & Fax Viewer هست ، در حالیکه با این روش عکس من در اینترنت اکسپلورر باز میشه
ممنون میشم راهنماییم کنید
یاعلی

b.mahsa
چهارشنبه 03 فروردین 1390, 23:06 عصر
از این dll استفاده کنید shimgvw.dll
البته تو win 7 جواب نمیده.
C:\WINDOWS\System32\shimgvw.dll

alimanam
چهارشنبه 03 فروردین 1390, 23:27 عصر
با سلام و تبریک سال نو ....

همونطوری که بعضی از دوستان اشاره کردن میتونین این کار ساده رو با یه خط کد انجام بدین : برای مثال :

Process.Start("J:\Images\test.jpg")

البته در این کد من فرض رو بر این گرفتم که نرم افزار پیش فرض همون Windows Photo Viewer هستش ( یعنی پارامتر دیگری در تابع ننوشتم که مثلاً تصویر رو در نرم افزار دیگری نمایش بده )

موفق باشید ./

محسن شامحمدی
پنج شنبه 04 فروردین 1390, 20:56 عصر
System.Diagnostics.Process.Start("Explorer", "C:\\Pic.jpg با این کار شما آدرس عکستون رو به explorer.exe می فرستید که کار اشتباهیه و درستش همینیه که علی آقا اشاره کردن.
Process.Start("J:\Images\test.jpg")
<code class="vb plain"></code>