PDA

View Full Version : حرفه ای: آيکن براي پسوند خاص



taha mahdi
یک شنبه 01 اسفند 1389, 07:15 صبح
با سلام

سوالم را اينطور مطرح مي‌کنم

وقتي يک فايل از يک برنامه مثلا word را ذخيره مي‌کنيم. شکل آن با يک آيکون مشخص ظاهر مي‌شود که با دابل کليک بر روي آن برنامه word اجرا مي‌شود و اطلاعات در آن قرار مي‌گيرد.

حالا چطور مي‌شود براي يک پسوند خاص که برنامه ما توليد مي‌کند اين آيکن را معرفي کرد و با دابل کليک بر روي آن برنامه اجرا شود؟

Reza_Yarahmadi
یک شنبه 01 اسفند 1389, 10:23 صبح
كافيه تنظيمات لازم رو توي رجيستري انجام بديد.
متد زير اين كار رو انجام ميده

using Microsoft.Win32;

void RegisterMyFile(string fileType, string myIconPath, string applicationPath)
{
Registry.ClassesRoot.CreateSubKey("." + fileType).SetValue("", fileType + "File");
Registry.ClassesRoot.CreateSubKey(fileType + "File").CreateSubKey("DefaultIcon").SetValue("", myIconPath);
Registry.ClassesRoot.CreateSubKey(fileType + "File").CreateSubKey("shell").CreateSubKey("open").CreateSubKey("command").SetValue("", "\"" + applicationPath + "\"\"%1\"");
}

taha mahdi
پنج شنبه 19 اسفند 1389, 21:44 عصر
با سلام

وقتي بروي فايل ايجاد شده دابل کليک مي‌کنم برنامه اجرا مي‌شود. اما چطور بايد داده‌ها را در جاي اصلي‌شان قرار دهم. يعني بايد بعد از اجرا شدن نرم‌افزار داده‌هايي که در فايل ذخيره شده به برنامه اضافه شود اما چطور؟

taha mahdi
جمعه 20 اسفند 1389, 11:56 صبح
چگونه مي‌شود مسير فايلي که روي آن دابل کليک کرده‌ايم را مي‌توان بدست آورد؟

sinashahab
جمعه 20 اسفند 1389, 12:07 عصر
توی کلاس program.cs به عنوان ورودی اینو بگیره که آدرس فایل هست : string[] args

یعنی میشه :

static void Main(string[] args)

بعدش دیگه هر کاری میخوای میتونی باهاش بکنی.(مثلا به عنوان ورودی به فرم اصلیت بفرست)

ali.rezaei7
جمعه 20 اسفند 1389, 12:21 عصر
سلام به اين صورت هم مي تونيد بدست بياريد:

string[] args=Environment.GetCommandLineArgs();
if (args.Length > 1)
{
MessageBox.Show(args[1]);
//do something
}

GetCommandLineArgs آرگومان هاي ارسالي رو بصورت آرايه String بر مي گردونه. دقت داشته باشيد كه اولين عنصر مسير قرار گيري خو فايل برنامه هست.
پس زماني كه كاربر روي يك فايل كليك كنه، مسير فايل در دومين عنصر قرار مي گيره.