ورود

View Full Version : روش CALL و اجرای فایل در برنامه‌های اجرایی



tcigsm
سه شنبه 10 اسفند 1389, 14:41 عصر
سلام
من میخوام یک فایل آرشیوی رو توسط یک برنامه اجرایی اجرا کنم به عنوان مثال من یک فایل Cabinet دارم میخوام اونو به مسیر فایل اجرایی ببرم و از طریق اون برنامه اجراش کنم.


اینو میدونم که این طریقه اجرای یک فایل هستش

HWND ha;
ShellExecuteA(ha, NULL, "12.exe", NULL, "C:/WINDOWS/Temp/", SW_SHOW);

i
میدونم این روش اشتباه هستش ولی یک چیزی شبیح به این روش رو میخواستم
HWND ha;
ShellExecuteA(ha, NULL, "12.bmp", NULL, "C:/WINDOWS/mspaint.exe", SW_SHOW);

i

ممنون میشم اگه راهنمایی کنید

BORHAN TEC
چهارشنبه 11 اسفند 1389, 10:03 صبح
ابهاماتی که از درخواست شما برای من ایجاد شده است:

1- آیا برنامه ای که می خواهید برای باز کردن فایل کابینت از آن استفاده کنید را خودتان ساخته اید و یا یک برنامه دیگر مانند winrar است؟؟؟
2- منظورتون از اجرا کردن فایل کابینت چیست؟ (فایلهای کابینت باز می شوند و قابل اجرا نیستند.)

tcigsm
چهارشنبه 11 اسفند 1389, 10:45 صبح
ابهاماتی که از درخواست شما برای من ایجاد شده است:

1- آیا برنامه ای که می خواهید برای باز کردن فایل کابینت از آن استفاده کنید را خودتان ساخته اید و یا یک برنامه دیگر مانند winrar است؟؟؟
2- منظورتون از اجرا کردن فایل کابینت چیست؟ (فایلهای کابینت باز می شوند و قابل اجرا نیستند.)

سلام
نه منظور من حتما فایل کابینت نیست ، این میتونه هر نوع فایلی باشه ببینید به عنوان مثال یک فایل تصویری چون از قبل تعریف شده به صورت اتوماتیک با Win Picture viewer باز میشود. یا همین فایل کبینت با برنامه‌های زیپ با میشه.
من میخوام فایل کبینت رو به صورت مستقیم وارد گوشی ویندوز موبایل از طریق برنامه ActivSync کنم. حال من یک Batch فایل دارم که از طریق اون این کار انجام میشه .
حال مشکل من اینه که چطور فایل Batch رو برای فایل کبینت احضار کنم.
------------------------------------
من فایلهای اجرایی Batch رو آپلود کردم . اگر بشه کدهای داخل خود فایلهای بچ فایل رو داخل خود برنامه تعریف کرد که اصلا خیلی برام بهتره.
ممنون از وقتی که گذاشتید.

BORHAN TEC
چهارشنبه 11 اسفند 1389, 13:40 عصر
راستش من تا به حال این کار را برای بچ فایلها انجام نداده ام. توجه داشته باشید که برنامه نویسی بچ فایل ها کاملاً از زبانهای برنامه نویسی دیگر مثل C++ جدا است. برای این که شما بتوانید کارهایی از این دست را انجام دهید بهتر است که با نحوه ایجاد بچ فایل ها آشنا شوید که برای آشنایی با آن پیشنهاد می کنم فایل زیر را دانلود کنید:
http://imenantivirus.com/train/Training-2883-13.zip

tcigsm
چهارشنبه 11 اسفند 1389, 19:16 عصر
ممنون از جوابتون
فکر میکنم کمی از منظور اصلی من دور شدیم ، من اصلا منظور اصلیم در مورد بچ فایل نیست ، منظور من خیلی کلی‌تره مثل مثال قبلی که گفتم.
عنوان مثال یک فایل تصویری چون از قبل تعریف شده به صورت اتوماتیک با Win Picture viewer باز میشود. یا همین فایل کبینت با برنامه‌های زیپ با میشه.
من میخوام یک فایل آرشیو رو با هرنو پسوندی که باشه با برنامه خاصی که من مشخص میکنم اجرا بشه؟
ممنون

BORHAN TEC
چهارشنبه 11 اسفند 1389, 20:46 عصر
سلام
با استفاده از کد زیر میشه این کار رو انجام داد.

در دلفی:

ShellExecuteA(0,'open','C:\Program Files\Adobe\Adobe Photoshop CS4\Photoshop.exe', 'C:\Cover.png','',SW_SHOWNORMAL);

در C++ Builder:

ShellExecuteA(0,"open","C:\\Program Files\\Adobe\\Adobe Photoshop CS4\\Photoshop.exe", "C:\\Cover.png","",SW_SHOWNORMAL);

tcigsm
پنج شنبه 12 اسفند 1389, 00:11 صبح
سپاس فراوان از شما
این کد دقیفا همون چیزی بود که میخواستم ، دستتون درد نکنه همون کابینت فایل رو با فایل اجراییش ، باز کرد و داخل گوشی نصب کرد.


ShellExecuteA(0,"open","G:\\WinCE CAB Installer.exe", "G:\\g1.cab","",SW_SHOWNORMAL);

شرمنده از اینکه زحمت دادم. شاید این سوال برای دوستان دیگه انقدرها مهم نباشه ولی واقعا کارم راه افتاد.:خجالت:

tcigsm
یک شنبه 15 اسفند 1389, 00:19 صبح
نمیدونم آیا درخواست جدید من نیاز به یک ارسال جدید هستش یا نه ولی دیدم میشه اینجا مطرح کرد.

سوال:
آیا میشه یک برنامه مستقل رو داخل پروژه جدیدی که داریم احضار کرد و اونو به اجرا دراورد!؟

توضیح بیشتر اینکه : برنامه ایی دارم که داخل اون یک دکمه باتوم برای انتخاب و باز کردن فایل هستش
یک Memo برای مشخصات فایل انتخاب شده.
یک ListBox براي عملکرد برنامه و یک دکمه Start برای شروع عملیات.

خوب چطور میشه ما یک پروژه جدید درست کنیم با همین مشخصاتبه جای اینکه کدهای عملیاتی اون رو بنویسیم تمامی امکانات اون رو در برنامه خودمون احضار کنیم و با زدن دکمه Start که در برنامه ما وجود داره دکمه Start اون برنامه رو اجرا كنه؟؟؟؟

من اين روش رو در VB دیدم که اجرا شده بدین صورت که از گرافیک برنامه اولی استفاده شده و برنامه اصلی مخفی شده اینطور به نظر میاد که کل عملیات در همین برنامه خودمون اجرا میشه

دوستان اگه با بورلند این امکان وجود داره خواهشا راهنمایی کنید . در صورت نیاز من میتونم برنامه ایی که نوشته شده و موجود هستش رو آپلود کنم.

BORHAN TEC
سه شنبه 17 اسفند 1389, 17:31 عصر
نمیدونم آیا درخواست جدید من نیاز به یک ارسال جدید هستش یا نه ولی دیدم میشه اینجا مطرح کرد.

سوال:
آیا میشه یک برنامه مستقل رو داخل پروژه جدیدی که داریم احضار کرد و اونو به اجرا دراورد!؟

توضیح بیشتر اینکه : برنامه ایی دارم که داخل اون یک دکمه باتوم برای انتخاب و باز کردن فایل هستش
یک Memo برای مشخصات فایل انتخاب شده.
یک ListBox براي عملکرد برنامه و یک دکمه Start برای شروع عملیات.

خوب چطور میشه ما یک پروژه جدید درست کنیم با همین مشخصاتبه جای اینکه کدهای عملیاتی اون رو بنویسیم تمامی امکانات اون رو در برنامه خودمون احضار کنیم و با زدن دکمه Start که در برنامه ما وجود داره دکمه Start اون برنامه رو اجرا كنه؟؟؟؟

من اين روش رو در VB دیدم که اجرا شده بدین صورت که از گرافیک برنامه اولی استفاده شده و برنامه اصلی مخفی شده اینطور به نظر میاد که کل عملیات در همین برنامه خودمون اجرا میشه

دوستان اگه با بورلند این امکان وجود داره خواهشا راهنمایی کنید . در صورت نیاز من میتونم برنامه ایی که نوشته شده و موجود هستش رو آپلود کنم.
بستگی به برنامه دومی داره. البته میشه یه کارهایی کرد.