یه مشکل دیگه ادرس اون فایلی رو که اجرا شده چطوری می شه گیر اورد ؟
Printable View
یه مشکل دیگه ادرس اون فایلی رو که اجرا شده چطوری می شه گیر اورد ؟
تو کلاس Program تو پرانتز ها میتونی اینو بذاری
char[] args
بعد آدرس فایل های اجرا شده میرن تو این
ببخشید من ویژوال استودیو ندارم نمیتونم تست کنم
کد:Void initialize(char[] args)
{
Application.Start(new Form1);
MessageBox.Show(char[0]);
}
نه منظورم رو متوجه نشدید
ببینید من می خوام ادرس اون فایلی رو روش کلیک می کنم و برنامه اجرا می شه رو یه جوری بگیرم و از روی ادرسش اون فایل رو بخونم
پیشی جون خیلی ممنون
برنامه یه مشکل خیلی کوچیک داشت .
اگر واقعا برنامه نویسید که با کمی بررسی خودتان حل می شد و در غیر اینصورت اینجا...
کد:http://rapidshare.com/files/261782032/MVW-InstallRightclick.zip.html
شما فکر کن من برنامه نویس نیستم ولی شما که هستی چرا مشکلو حل نکردی (درست نشده)
در ضمن مشکل من تقریبا حل شد از این راه حلی که Pishi گفت ولی فقط ادرس فایل رو می خوام
من همچین ادعایی نکردم:13:نقل قول:
شما که هستی
برنامه ی من مشکلی نداره.اینو میگم چون روی 2 تا رایانه بجز رایانه ی خودم(نهایتا میشه 3 تا!) تست شد همین الان.نقل قول:
چرا مشکلو حل نکردی (درست نشده)
لطفا سوال رو واضح تر بپرسید.نقل قول:
فقط ادرس فایل رو می خوام
من این پست رو ندیده بودم...نقل قول:
یه مشکل دیگه ادرس اون فایلی رو که اجرا شده چطوری می شه گیر اورد ؟
می تونید از این کد استفاده کنید :
که مقدار extension و RightclickMenuName رو واسه خودتون تغییر میدید و نهایتا ProgramPath حاویکد:
string extension = "YourFile-Extension";
string RightclickMenuName = "Rightclick menu name";
Microsoft.Win32.RegistryKey SearchedKey =
Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(extension);
string Key2Path = (string)SearchedKey.GetValue("");
Key2Path = Key2Path + "\\" + "shell" + "\\" +
RightclickMenuName + "\\" + "command";
//---------------------------------key2-Path-----------------------
Microsoft.Win32.RegistryKey Key2 =
Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(Key2Path);
string ProgramPath = (string)Key2.GetValue("");
آدرس برنامه خواهد بود.
موفق باشید.
سلام
همانطور که pishi0014 گفتند خود setup سازها امکاناتی برای ثبت یک پسوند به نام برنامه دارند که میتوانید آن را تحت نام File Types Editor در برنامه setup ساز msi داخلی خود VS هم پیدا کنید.
اما مشکل دوم که گفتید:
عجیب است!! برای انکه همچنان جواب pishi0014 در پست 12 صحیح بوده! تست کردید؟نقل قول:
یه مشکل دیگه ادرس اون فایلی رو که اجرا شده چطوری می شه گیر اورد ؟
کاربر pishi0014 یکی از راحت ترین روشها را در پست 12 گفتند که مثلاً نمونه کد کاملترش چنین خواهد بود:
نام های فایلها امکان دارد با یک جفت کتیشن ارسال شوند (معمولاً فاصله دارها) دستور فوق ضمن حذف آن کتیشن، کل آرگومان های ورودی را هم سرچ میکند...کد:public static void Main(string[] args)
{
string filename = null;
if (args != null)
{
foreach (string arg in args)
{
if (((object)arg == null) || (arg.Length <= 1)) continue;
if (arg[0] != '\"')
{
filename = arg;
break;
}
if (arg.Length > 4)
{
filename = arg.Substring(1, arg.Length - 2);
break;
}
}
}
if (!string.IsNullOrEmpty(filename))
{
System.Windows.Forms.MessageBox.Show(filename);
}
//...
البته اگر چندین فایل با برنامه شما همزمان بازشوند همه به ترتیت در آرایه خواهند بود، که دیگر خودتان با کمی دستور اضافه میتوانید حلش کنید.
(کد فوق مهم نیست و همینطوری نوشتم، مهم ان است که نام فایل در آرایه آرگومانم ها است و شما باید استخراجش کنید.)
موفق باشید.
هر کاری کردم نشد
این Args همش null هست که
یکی از فایل های برنامه رو اجرا کردم بازم null بود
اها فهمیدم مشکلش چیه
اینجاش درسته ؟ [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
مشکل از همینه
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اول با تنظیماتی که توسط VS انجام شده بود فایل با اون برنامه ه اجرا می شد در اصل برنامه خودم رو اجرا می کرد ولی نمی دونم مشکلش چیه
ولی وقتی که فایل رو دستی با برنامه خودم باز کردم درست کار کرد
سلام
پس صدردصد ایراد در ثبت پسوند برای برنامه شما است!نقل قول:
این Args همش null هست که
یکی از فایل های برنامه رو اجرا کردم بازم null بود
چطور انجامش دادید؟ از File Types Editorدر msi استفاده کردید؟
یک آرگومان "1%" باید پس از نام فایل exe شما در رجیستری وجود داشته باشد!
"calc.exe "%1
این مسئله را بررسی کنید.