• اگر سمپادی هستی همین الان عضو شو :
    ثبت نام عضویت

خواندن یک برنامه از حافظه کامپیوتر

وضعیت
موضوع بسته شده است.
  • شروع کننده موضوع
  • #1

مجید

کاربر فعال
ارسال‌ها
26
امتیاز
1
نام مرکز سمپاد
شهید قدوسی قم
سلام.
من سوالی داشتم.
چطور می توانم یک برنامه بنویسم که مثلا پس از اجرا یک سوال از کاربر بپرسد :"آیا می خواهید برنامه Paint را اجرا کنم؟" . اگر جواب دادیم 'بله' آن وقت برنامه را اجرا کند.
مهم نیست به چه زبانی باشد.
ترجیحا : ++C یا بیسیک یا ویژوال بیسیک.
 

persiannovel

کاربر فعال
ارسال‌ها
70
امتیاز
10
نام مرکز سمپاد
شهید بهشتی اهواز
شهر
اهواز
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

منم مدت هاست این سوالو دارم وقت نکردم از کسی بپرسم.
 

TnT

کاربر فوق‌حرفه‌ای
ارسال‌ها
877
امتیاز
996
نام مرکز سمپاد
شهید بهشتی
شهر
ارومیه
سال فارغ التحصیلی
1392
دانشگاه
علوم پزشکی ارومیه
رشته دانشگاه
پزشکی
اینستاگرام
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

من که تو VB میدونم . 2 تا form باز میکنین و تو فرم 1 اون هرطوری که دلتون میخواد ( Msgbox و Label و ... ) سؤال "آیا می خواهید برنامه Paint را اجرا کنم؟" رو از کاربر میپرسید . بعدش دستور کامندی که کابر قراره روش کلیک بکنه تا برنامه ی X باز بشه رو اینطوری می نویسین .

Form1 . Visible = False
Form2 . visible = True
که تو این حالت فرم 2 همون برای مثال Paint هستش . یه نمونه که من نوشتم همین حالا این تو Text Box پسورد ازتون میگیره و فرم 2 رو باز میکنه .
If TextBox1.Text = ("171717") Then
Form1.Visible = False
Form2.Visible = True
البته درستش اینه که اسم فرم هاتون ، فرم 1 و فرم2 نباشه .
 

neda.m

کاربر خاک‌انجمن‌خورده
ارسال‌ها
1,720
امتیاز
2,678
نام مرکز سمپاد
فرزانگان 1
شهر
تهران
دانشگاه
شهید رجائی تهران
رشته دانشگاه
مهندسی عمران - ژئوتکنیک
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

من تا حالا با VB کار نکردم، ولی فکر کنم این چیزی که گفتین فقط مربوط به باز یا بسته کردن form ها توی خود محیط برنامه تون باشه. میشه یه فایل exe رو هم اون طوری باز کرد؟
 

TnT

کاربر فوق‌حرفه‌ای
ارسال‌ها
877
امتیاز
996
نام مرکز سمپاد
شهید بهشتی
شهر
ارومیه
سال فارغ التحصیلی
1392
دانشگاه
علوم پزشکی ارومیه
رشته دانشگاه
پزشکی
اینستاگرام
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

به نقل از ندا مکرم :
من تا حالا با VB کار نکردم، ولی فکر کنم این چیزی که گفتین فقط مربوط به باز یا بسته کردن form ها توی خود محیط برنامه تون باشه. میشه یه فایل exe رو هم اون طوری باز کرد؟
بله . این یادم رفته بود ! اول از Project خودمون یه Exe میگیریم بعدش میتونیم به راحتی برنامه ای که ساختیم رو استفاده کنیم .
 
  • شروع کننده موضوع
  • #6

مجید

کاربر فعال
ارسال‌ها
26
امتیاز
1
نام مرکز سمپاد
شهید قدوسی قم
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

به نقل از TNT :
بله . این یادم رفته بود ! اول از Project خودمون یه Exe میگیریم بعدش میتونیم به راحتی برنامه ای که ساختیم رو استفاده کنیم .
می شود یک بار دیگر به طور کامل توضیح بدهید؟
 

armita

کاربر خاک‌انجمن‌خورده
ارسال‌ها
2,204
امتیاز
686
نام مرکز سمپاد
دبیرستان فرزانگان ۱
شهر
تهران
دانشگاه
شریف
رشته دانشگاه
‫علوم کامپیوتر‬‎
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

فكر كنم سوال اين بوده كه برنامه ما يك برنامه ى EXE رو باز كنه ولى كد شما فرم ديگرى توى همون برنامه رو نشون مى ده.
 

TnT

کاربر فوق‌حرفه‌ای
ارسال‌ها
877
امتیاز
996
نام مرکز سمپاد
شهید بهشتی
شهر
ارومیه
سال فارغ التحصیلی
1392
دانشگاه
علوم پزشکی ارومیه
رشته دانشگاه
پزشکی
اینستاگرام
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

به نقل از آرمیتا ثابتی اشرف :
فكر كنم سوال اين بوده كه برنامه ما يك برنامه ى EXE رو باز كنه ولى كد شما فرم ديگرى توى همون برنامه رو نشون مى ده.
آهان ! درسته . شرمنده من سؤال رو اشتباه متوجه شدم ... در این مورد والا من بلد نیستم .
 

fzgm

کاربر فوق‌حرفه‌ای
ارسال‌ها
782
امتیاز
82
نام مرکز سمپاد
فرزانگان 1 تهران
شهر
تهران
مدال المپیاد
ریاضی،کامپیوتر(کوتاه)،ادبیات،شیمی(تنوع؟!)
دانشگاه
دانشگاه تهران
رشته دانشگاه
علوم مهندسی
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

برای c++ هم فکر نمیکنم مشکلی باشه،چون که دو حالت داره : یا شما برنامه ساده رو میخواهید که قبل از run کردنش ازتون اجازه بگیره که برای اون کافیه بگید که اگه گفت نه break کنه یا اگه بخواید continue بزارید که دوباره برگردونه سر حلقه.یا اینکه شما یه برنامه ای دارید که میخواهید بازش کنید ولی از داخل یه برنامه دیگه،که در اینصورت باید که بگید با وارد شدن به حلقه فایل اون برنامه رو قبل از هر چیز صدا کنه و...
من در مورد دوم اطلاع چندانی ندارم،ممکن که اشتباه باشه،دوستان لطفا اصلاحش کنید اگه اشکالی داره.
 

Sylar

کاربر حرفه‌ای
ارسال‌ها
454
امتیاز
60
نام مرکز سمپاد
شهید اژه ای
شهر
اصفهان
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

به نقل از مجید :
سلام.
من سوالی داشتم.
چطور می توانم یک برنامه بنویسم که مثلا پس از اجرا یک سوال از کاربر بپرسد :"آیا می خواهید برنامه Paint را اجرا کنم؟" . اگر جواب دادیم 'بله' آن وقت برنامه را اجرا کند.
مهم نیست به چه زبانی باشد.
ترجیحا : ++C یا بیسیک یا ویژوال بیسیک.

توی C++وC بسته به کامپایلرت میتونی این کار را بکنی. مثلا توی لینوکس برای اجرا کردن فلان برنامه باید در c++ بگی
کد:
system("./prog")
برای ویندوز مثلا میگی
کد:
system("mspaint");
اون وقت برنامه Paint را باز میکنه. ولی بازم میگم بستگی به کامپایلرت داره توی ویندوز با Dev-CPP تست کن فکر کنم جواب بگیری.
این سیستم در PHP هم داریم . یعنی روی سرور اگر خواستی چیزی ران کنی دقیقا فرمانهاش همینه.(البته exec , ...) هم داره
با توجه به ساختار Visual C احتمالا این فرمانها روی اون هم جواب میدن.

توی ویژوال بیسیک برای باز کردن یک برنامه دیگه باید بگی
کد:
Shell "mspaint", vbNormalFocus
اینطوری mspaint را باز میکنه. آرگومان دوم نحوه ی نمایش برنامه را مشخص میکنه. وقتی داری کد میزنی خودش گزینه های مختلف را نشون میده.
mspaint چون در فولدر system32 ویندوز قرار گرفته با اجرای فرمان mspaint قابل اجراست
اگر بخوایید برنامه دیگه ای را باز کنید که در فولدر system32 نیست باید آدرس کاملش را وارد کنید.
توی C++ و C هم به همین شکله

راستی عنوان تاپیک را اشتباه زدی.
خواندن یک برنامه از حافظه کامپیوتر با اجرا کردن یک برنامه از روی سیستم دوتا چیز کاملا متفاوته.
اولیش که بش Memory Dumping هم میگن یعنی زمانی که برنامه روی حافظه است و اجرا شده از اطلاعاتش کپی گرفته شه.
بیشتر کاربردش در Unpack کردنه. یک سری برنامه ها هستن که وقتی اجرا شدن تازه توی حافظه Extract و اجرا میشن. با این کار دسترسی مستقیم کاربر به هسته برنامه را غیر ممکن میکنن
بعد برای اون کار از عبارت اول استفاده میشه.
در صورتی که شما دنبال عبارت دوم یعنی اجرا کردن یک برنامه از روی سیستم هستید.
 
  • شروع کننده موضوع
  • #11

مجید

کاربر فعال
ارسال‌ها
26
امتیاز
1
نام مرکز سمپاد
شهید قدوسی قم
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

پس در کل نمی توان!
 

trustme

لنگر انداخته
ارسال‌ها
2,810
امتیاز
899
نام مرکز سمپاد
شهید بهشتی
شهر
کاشان
سال فارغ التحصیلی
1387
دانشگاه
دانشگاه خواجه نصیر طوسی
رشته دانشگاه
مهندسی مکانیک
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

نمی دونم هدفت چیه! ولی یه چیزی به نظرم می رسه کار جالبی باشه!

یادم میاد یه کاری می کردیم با وی.بی یه برنامه رو اجرا می کردیم hwnd رو می گرفتیم می دادیم به یه form، اون برنامه در چارچوب اون فرم نمایش داده می شد!! یه چیزی شبیه به MDIform و Child ها! یادم نمیاد چه جوری و ربطش به سوالتون نیازمند تفکر سر فرصت است که بنده وقتش رو ندارم :D
 

Sylar

کاربر حرفه‌ای
ارسال‌ها
454
امتیاز
60
نام مرکز سمپاد
شهید اژه ای
شهر
اصفهان
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

به نقل از مجید :
پس در کل نمی توان!

:)
هر کاری که فکرش را بکنی میشه کرد!(من برنامه Exe را مجبور میکنم کلاغ پر بره برات!)
ببین کاری که شما میخوایید بکنید همه چیش بدیهی بود الا اون تیکه که میخواستید یک برنامه خاص را باز کنید!

شما باید یک فرم طراحی کنید . بعد وقتی کاربر دکمه بله را فشار داد شما فرمانی که گفتم را بزنید برای باز کردن برنامه مورد نظرتون .
اگر هنوز مسئله برات دقیقا مشخص نیست بگو من برات با VB بنویسم و بزارم اینجا.
به نقل از مـ‌‍‌‌همّد بذرکار :
نمی دونم هدفت چیه! ولی یه چیزی به نظرم می رسه کار جالبی باشه!

یادم میاد یه کاری می کردیم با وی.بی یه برنامه رو اجرا می کردیم hwnd رو می گرفتیم می دادیم به یه form، اون برنامه در چارچوب اون فرم نمایش داده می شد!! یه چیزی شبیه به MDIform و Child ها! یادم نمیاد چه جوری و ربطش به سوالتون نیازمند تفکر سر فرصت است که بنده وقتش رو ندارم :D
این چیزی که گفتید از تابع های API ویندوزه. هر ویندو که نمایش داده میشه از طریق WindowHandler یک مشخصه ای تحت عنوان WindowHandle میگیره.
بعد شما میتونید یک فرمی (سیاه و سفید از قالب صفحه) درست کنید و به یک تابع دیگه با Handle ای که دارید بدید . ویندوز میاد و صفحه برنامه را به قالب خاصی که میخوایید در میاره!
(بعضا اگر اسم Process را هم پاس بدیم این کار را میکنه(اگر برنامه فقط یک ویندو داشته باشه))
ذات برنامه های ویندوز در یک صفحه مستطیل تعریف شده اند. حالا اگر برنامه گوشه های صفحه اش گرده یا کلا مستطیل نیست از این طریق شکل خودش را تنظیم میکنه.
 

fzgm

کاربر فوق‌حرفه‌ای
ارسال‌ها
782
امتیاز
82
نام مرکز سمپاد
فرزانگان 1 تهران
شهر
تهران
مدال المپیاد
ریاضی،کامپیوتر(کوتاه)،ادبیات،شیمی(تنوع؟!)
دانشگاه
دانشگاه تهران
رشته دانشگاه
علوم مهندسی
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

به نقل از Sylar :
:)
هر کاری که فکرش را بکنی میشه کرد!(من برنامه Exe را مجبور میکنم کلاغ پر بره برات!)
ببین کاری که شما میخوایید بکنید همه چیش بدیهی بود الا اون تیکه که میخواستید یک برنامه خاص را باز کنید!

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

الان این چیزی که گفتید منو گیج کرد!!!من به جای صاحب بحث خواهش میکنم که برنامه شو بنویسید و بزارید اینجا!
 

Sylar

کاربر حرفه‌ای
ارسال‌ها
454
امتیاز
60
نام مرکز سمپاد
شهید اژه ای
شهر
اصفهان
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

به نقل از فاطمه زهرا قرائی منش :
الان این چیزی که گفتید منو گیج کرد!!!من به جای صاحب بحث خواهش میکنم که برنامه شو بنویسید و بزارید اینجا!

بفرمایید:
http://www.mediafire.com/download.php?2jyt3h2gjyo
برید توش بعد سمت چپ صفحه نوشته Click here to start download . روی اون کلیک کنید تا دانلود شه
 

trustme

لنگر انداخته
ارسال‌ها
2,810
امتیاز
899
نام مرکز سمپاد
شهید بهشتی
شهر
کاشان
سال فارغ التحصیلی
1387
دانشگاه
دانشگاه خواجه نصیر طوسی
رشته دانشگاه
مهندسی مکانیک
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

من منظورم فرم دادن فرم ها نبود :D اینکه با یه ماسک شکل فرم رو عوض کنیم کار جالبیه ولی این رو من نگفتم!
فکر کنین یه فرم دارین که توی این فرم یه فرم دیگه دارین و می تونین چپ و راست ببرینش! (مثالش می شه MDIFormها!) حتی می تونی یه فرم رو توی یه "پیکچر باکس" فرم دیگه نمایش بدین! فقط یادم نمیاد چطوری!
(* وقتی چنین کاری می کردیم پرسس زیادی می طلبید :D گاهی وقتا که چندتا کار با هم انجام می شد هنگ می کرد!)
 
  • شروع کننده موضوع
  • #17

مجید

کاربر فعال
ارسال‌ها
26
امتیاز
1
نام مرکز سمپاد
شهید قدوسی قم
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

یک سوال خارج از بحث:
البته عذر می خواهم :
این ":D" چی هست که شما بین نوشته هایتان به کار می برید؟
متشکر می شوم اگر جوابم را بدهید.
در ضمن ، اگر مثلا من بخواهم برنامه را طوری تنظیم کنم که برنامه ی خاصی که به برنامه های اصلی ویندوز (مانند paint) ربطی ندارند را اجرا کند ، آن وقت که نمی توانم از دستور shell استفاده کنم. و همچنین دستوری که برای ++C قرار داده بودید ، عمل نکرد.
 

trustme

لنگر انداخته
ارسال‌ها
2,810
امتیاز
899
نام مرکز سمپاد
شهید بهشتی
شهر
کاشان
سال فارغ التحصیلی
1387
دانشگاه
دانشگاه خواجه نصیر طوسی
رشته دانشگاه
مهندسی مکانیک
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

دستور c++ فکر می کنم نیاز به include داشته باشه!
توی فراخوانی تابع shell گفته شد که آدرس فایل مورد نظر رو هم می تونین بنویسین! مثلا "C:\apps:\Name.exe" رو به جای "mspaint" بزارین!

{ :D همون : D خودمونه که فارسی نویسی شده! برای راحتی در تایپ :D)
 

Sylar

کاربر حرفه‌ای
ارسال‌ها
454
امتیاز
60
نام مرکز سمپاد
شهید اژه ای
شهر
اصفهان
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

به نقل از مجید :
یک سوال خارج از بحث:
البته عذر می خواهم :
این ":D" چی هست که شما بین نوشته هایتان به کار می برید؟
متشکر می شوم اگر جوابم را بدهید.
در ضمن ، اگر مثلا من بخواهم برنامه را طوری تنظیم کنم که برنامه ی خاصی که به برنامه های اصلی ویندوز (مانند paint) ربطی ندارند را اجرا کند ، آن وقت که نمی توانم از دستور shell استفاده کنم. و همچنین دستوری که برای ++C قرار داده بودید ، عمل نکرد.

چرا میتونی از Shell استفاده کنی. به جای "mspaint" مثلا بزن "c:\program.exe" یا هر آدرس دیگه ای داره.
راستی اگر برنامه ای که میخوایی اجرا کنی درکنار برنامه ات باشه با اسمش میتونی اجراش کنی مثلا "program.exe"

اون فرمان ۱۰۰٪ کار میکنه. فکر کنم باید اول برنامه cstdlib را include کنید. و به Compiler تون هم کاملا بستگی داره.
 
  • شروع کننده موضوع
  • #20

مجید

کاربر فعال
ارسال‌ها
26
امتیاز
1
نام مرکز سمپاد
شهید قدوسی قم
پاسخ : خواندن یک برنامه از حافظه کامپیوتر

به نقل از Sylar :
چرا میتونی از Shell استفاده کنی. به جای "mspaint" مثلا بزن "c:\program.exe" یا هر آدرس دیگه ای داره.
راستی اگر برنامه ای که میخوایی اجرا کنی درکنار برنامه ات باشه با اسمش میتونی اجراش کنی مثلا "program.exe"

اون فرمان ۱۰۰٪ کار میکنه. فکر کنم باید اول برنامه cstdlib را include کنید. و به Compiler تون هم کاملا بستگی داره.
سلام.
با تشکر از شما دوست عزیز . برنامه ی ++C هم عمل کرد ولی آیا در ++C هم مثل VB می شود برنامه را از یک آدرس خاص اجرا کرد؟ چطور؟
 
وضعیت
موضوع بسته شده است.
بالا