PDA

View Full Version : سوال: اجرای برنامه اجرایی با برنامه دلخواه ما



baran_mehr
یک شنبه 28 مهر 1387, 23:35 عصر
سلام دوستان گلم:قلب::بوس:
ایا میشه کاری کرد که برنامه که ساختیم و حالت اجرایش کردیم ، با برنامه ای که ما تعیین میکنیم باز بشه.:متفکر:
مثلا یک فایل اجرایی داریم که وقتی روش 2بار کلیک میشه با فتوشاپ باز بشه یا هر برنامه ی دیگه که ما تعیین کنیم؟؟:لبخندساده:

reza6384
دوشنبه 29 مهر 1387, 00:45 صبح
شما منظورتون اینه که فایل Exe تون با برنامه ای که تعیین می کنید باز بشه؟ یا اینکه برخی فایل ها با پسوند خاص در سیستم شما با برنامه ای که نوشتید باز بشن؟
برای کار دوم باید به رجیستری کلید اضافه کنید.

baran_mehr
دوشنبه 29 مهر 1387, 08:21 صبح
منظور من اولی بود که گفتید.اما مطلب دوم هم که گفتید جالبه
اگه میشه منو راهنمایی کنید

mostafaaa
دوشنبه 29 مهر 1387, 11:52 صبح
ببین دوست من ، فایل اگه اجرایی که خودش اجرا میشه ، دیگه احتیاجی نیست به اینکه با یه برنامه دیگه اجرا بشه ، ولی اگه منظورتون اینه که از توی برناممون تایین کنیم که فایل a.jpg که عکس هستش با فتوشاپ باز بشه ، امکانپذیره.

Process.Start("Photoshop", "E:\1.jpg")

baran_mehr
دوشنبه 29 مهر 1387, 18:07 عصر
نه.داداش مصطفی اینو میدونستم.
شما به فایل ذخیره شده فتوشاب نگاه کنید اگه دوبار کلید کنید مستقیما با اون باز میشه.
یه همچین حالتی رو برای برنامم میخوم

mostafaaa
دوشنبه 29 مهر 1387, 20:21 عصر
خوب در واقع اینی که شما میخوای همون راه دومی هستش که دوستمون Reza6384 گفتن.
شما در واقع میخوای یه فایل با پسوندخاص توسط نرم افزار شما باز بشه.
(http://barnamenevis.org/forum/member.php?u=50189)

baran_mehr
دوشنبه 29 مهر 1387, 20:50 عصر
بله تغریبا همین طور هست.
بزارید یه مثال بزنم: به عنوان مثال اگر روی فایلهای Txt دوبار کلیک شد با برنامه ما باز بشه.

saghez
دوشنبه 29 مهر 1387, 21:13 عصر
بنظرم کافی است روی فایل مذکور بروید و کلیک راست کنید و از گزینه ها open with را باز کرده و از لیست نرم افزار خودتان را انتخاب کنید

حامد مصافی
دوشنبه 29 مهر 1387, 22:12 عصر
سلام

قدم به قدم این کار رو توضیح می دم. با فرض این که پسوند مورد نظر شما ext هست.
- در مسیر HKEY_CLASSES_ROOT یک ورودی با نام .etx (اولش نقطه داره) ایجاد کنید.
- در مقدار (Default) ورودی .ext بنویسید : extfile
- در مسیر HKEY_CLASSES_ROOT یک ورودی با نام etxfile ایجاد کنید.
- در ورودی extfile یک ورودی با نام shell ایجاد کنید.
- در ورودی shell یک ورودی با نام open ایجاد کنید.
- در ورودی open یک ورودی با نام command ایجاد کنید.
- در مقدار (Default) ورودی command بنویسید :


c:\myapp.exe %1

بدیهیه که باید مسیر رو تغییر بدید!

salehbagheri
دوشنبه 29 مهر 1387, 22:47 عصر
حالا اگر بخواهيم آيكون مورد نظر خودمون روي آن فايلها نمايان بشه چه كنيييييم؟؟؟ آقا BlackDal !

baran_mehr
سه شنبه 30 مهر 1387, 09:40 صبح
سلام ببخشید منظورتون از ورودی چیه؟؟

در مسیر HKEY_CLASSES_ROOT یک ورودی با نام etxfile ایجاد کنید

حامد مصافی
سه شنبه 30 مهر 1387, 10:23 صبح
حالا اگر بخواهيم آيكون مورد نظر خودمون روي آن فايلها نمايان بشه چه كنيييييم؟؟؟ آقا BlackDal !
- در کلید etxfile یک کلید دیگر با نام DefaultIcon بسازید (این کلیدshell هم ردیف خواهد بود)
- در مقدار (Default) کلید فوق آدرس فایل آیکون را بنویسید.
توجه اگر آیکون شما داخل فایل اجرایی باشه باید ایندکس آیکون رو هم بعد از کاما بنویسید. مثال:


c:\myapp.exe, 1



سلام ببخشید منظورتون از ورودی چیه؟؟
روی HKEY_CLASSES_ROOT راست کلیک کنید و گزینه New و سپس گزینه Key را انتخاب کنید.

baran_mehr
سه شنبه 30 مهر 1387, 12:50 عصر
BlackDal جان من کارایی که گفتید رو انجام دادم اما هیچ اتفاقی نمیفته.چرا؟؟؟

حامد مصافی
سه شنبه 30 مهر 1387, 16:36 عصر
BlackDal جان من کارایی که گفتید رو انجام دادم اما هیچ اتفاقی نمیفته.چرا؟؟؟
من کار هایی رو که گفتم انجام میدم و اتفاقات زیادی می افته، چرا؟؟؟

اگر از طریق برنامه نویسی این کار رو انجام میدید مطمئن بشید ساختاری که تشریح کردم به صورت صحیح در رجیستری ایجاد میشه و اگر دستی این کار رو انجام میدید یک export از کلید های ساخته شده رو بذارید اینجا تا بررسی کنیم.

5112600054
پنج شنبه 07 خرداد 1388, 23:14 عصر
بنظرم پاسخت این باشه اگه درست فهمیده بشم
( Shell("C:\Program Files\JetAudio\jetaudio.exe", AppWinStyle.NormalFocus

baran_mehr
جمعه 08 خرداد 1388, 14:09 عصر
سلام دوست گلم(شماره جان:لبخند:)
نه منظورم این نبود.دستور شما برانهمه و فراخانی میکنه. اما منظور من چیز دیگست.
در هر صورت از زحمتی که کشیدی ممنون:بوس:

Mani_rf
شنبه 09 خرداد 1388, 16:34 عصر
آقا دستت درد نکنه یکی از مشکلاته من همینه اما من میخوام بدونم چطوری میشه آدرس فایلی که روش دابل کلیک کرد را تو برنامه گرفت . مثلان تو زبان C++ وقتی می نویسی

Int Main(Char X)

متغیر X نام فایلی را که برنامه را اجرا کرده را برمی گردونه اما تو VB.Net من هرکاری کردم نتوانسم آدرس اون فایل را بگیرم. راحت بگم . من می خواستم وقتی رو فایل BackUp برنامه ای که نوشتم دابل کلیک شد برنامه آدرس فایل را بگیره و عکس العمل لازم را انجام بده.

Mani_rf
شنبه 09 خرداد 1388, 16:38 عصر
در تکمیل گفته جناب BlackDel باید بگم می توانی وقتی داری Setup برنامه را با خود visual Studio‌ می توانی تو قسمت File Type مشخص کنی که چه پسوند هایی متعلق به برنامه شماست و با چه آیکنی مشخص بشود. این راه هم هست...

Mani_rf
چهارشنبه 13 خرداد 1388, 17:32 عصر
هیچ کس اطلاعات بیشتری نداره؟؟؟


:لبخند:

حامد مصافی
چهارشنبه 13 خرداد 1388, 18:23 عصر
آقا دستت درد نکنه یکی از مشکلاته من همینه اما من میخوام بدونم چطوری میشه آدرس فایلی که روش دابل کلیک کرد را تو برنامه گرفت . مثلان تو زبان C++ وقتی می نویسی
Int Main(Char X)
متغیر X نام فایلی را که برنامه را اجرا کرده را برمی گردونه اما تو VB.Net من هرکاری کردم نتوانسم آدرس اون فایل را بگیرم. راحت بگم . من می خواستم وقتی رو فایل BackUp برنامه ای که نوشتم دابل کلیک شد برنامه آدرس فایل را بگیره و عکس العمل لازم را انجام بده. 1-


Shared Sub Main(ByVal args As String())
For Each arg As String In args
Console.WriteLine(arg)
Next arg
Console.ReadLine()
End Sub


2-


For Each arg As String In Environment.GetCommandLineArgs()
Console.WriteLine(arg)
Next arg

Mani_rf
چهارشنبه 13 خرداد 1388, 19:56 عصر
با سلام و سپاس فراوان.
خوشبختانه بعد از کلی جواب های گوناگونی که از سوی اعضای انجمن برای این مشکل دریافت کردم،‌ این تنها پاسخ صحیح بود که توانستم برای این مشکل به کاربرم.

:تشویق::تشویق: :تشویق:



:لبخند:

araz.davari
یک شنبه 16 اردیبهشت 1397, 19:56 عصر
سلام
همه اینایی که گفتین درست حالا من یه سوال مبتدی تر بپرسم :لبخند:

چجوری فایلی رو که با نرم افزار ما باز شده رو دریافت کنیم
مثلا کاربر روی عکس open with کرده و نرم افزار مارو اتخاب کرده حالا چجوری ما اون عکسو (مثلا تو یه Picture Box) نمایش بدیم؟

Mani_rf
پنج شنبه 20 اردیبهشت 1397, 15:54 عصر
یادش بخیر! تاپیک برای سال 88 بود! 9 سال گذشته!

For Each arg As String In Environment.GetCommandLineArgs()Console.WriteLine( arg)
Next arg

این کد به شما آدرس فایل هایی که به ورودی برنامه فرستاده شده اند رو میده. یعنی اگه به Open with فایل با برنامه شما باز شده باشه آدرس فزیکی اون فایل رو میده(مثلا: D:\MyFile\Pic1.jpg)
حالا به راحتی میتونید فایل رو بخونید و باهاش هرکاری که لازم هست رو انجام بدید

araz.davari
پنج شنبه 20 اردیبهشت 1397, 21:44 عصر
مرسی :لبخندساده: