PDA

View Full Version : فراخوانی آیتم های کنترل پنل در برنامه



Mahdi_Prog
پنج شنبه 31 مرداد 1387, 12:58 عصر
سلام
چطور میشه آیتم های کنترل پنل رو در برنامه فراخوانی کرد؟
مثلا باز کزدن Date and Time یا Printers and Faxes یا .... از طریق برنامه
ممنون

Hsimple11
پنج شنبه 31 مرداد 1387, 14:38 عصر
فراخوانی کرد یعنی چی؟

اینکه به محتوای خاصی از پنجره اونا دسترسی پیدا کنید یا فقط بازشون کنید؟

اگه فقط باز کردن. میتونید از ShellExecute استفاده کنید.

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

http://barnamenevis.org/forum/showthread.php?t=114767&highlight=date+time

Cave_Man
پنج شنبه 31 مرداد 1387, 14:43 عصر
از طریق خط فرمان این کار رو میتونید بکنید منظورم Run ویندوز هست الان شما اگه Control Panel\Add or Remove Programs رو در Run ویندوز بزنید به مقصودتون میرسید
حالا اینکه چطور دستوراتRun رو در دلفی شبیه سازی کنید بحث دیگری هست.

Hsimple11
پنج شنبه 31 مرداد 1387, 16:30 عصر
حالا اینکه چطور دستوراتRun رو در دلفی شبیه سازی کنید بحث دیگری هست.

دوست ما هم منظورشان در دلفی بود والا در این تالار سوال مطرح نمیکردند که!

جوابشان هم در پست دوم داده شد.

Cave_Man
پنج شنبه 31 مرداد 1387, 16:38 عصر
دوست ما هم منظورشان در دلفی بود والا در این تالار سوال مطرح نمیکردند که!

جوابشان هم در پست دوم داده شد.
عزیز دل من نگفتم جواب شما استباه هست. البته جواب شما تنها راه نیست:چشمک:
شما میتونید Control Panel\Add or Remove Programs رو با ShellExecute اجر اکنید؟ نه نمیتونید.
راه حل بنده یه راه حل کلی هست واسه هر برنامه فایل و پوشه ای از ویندوز حتی اجزای کنترل پنل.
تنها چیزی که میمونه شبیه سازی اجرای دستورات در RUN ویندوز هست.
این سوال ماهیتا سوال ویندوز هست.
مثل اینکه بگی چطوری میشه ویندوز رو در دلفی restart کرد . این هم یه سوال ویندوزیه نه سوال دلفی.شما اگه دستور خط فرمانش رو بلد باشی میتونی راحت این کار ها رو با امکانات ویندوز انجام بدی.

Hsimple11
پنج شنبه 31 مرداد 1387, 16:52 عصر
شما میتونید Control Panel\Add or Remove Programs رو با ShellExecute اجر اکنید؟ نه نمیتونید.
راه حل بنده یه راه حل کلی هست واسه هر برنامه فایل و پوشه ای از ویندوز حتی اجزای کنترل پنل.
تنها چیزی که میمونه شبیه سازی اجرای دستورات در RUN ویندوز هست.
این سوال ماهیتا سوال ویندوز هست.


دوست گرامی ShellExecute هم کار ویندوز را انجام میدهد. توابع API که ما داریم در هر زبان برنامه نویسی استفاده میکنیم جدا از ویندوز نیستند. بنابراین شما وقتی دارید از ShellExecute استفاده میکنید عینا مانند تایپ کردن در Run ویندوز است. جواب ایشان هم بطور کامل داده شد. اگر لینک پست شماره 2 را بخوانید متوجه میشوید. این راه، بقول شما همان راه حل کلی است. فراخوانی Rundll32 و پاس دادن هر جزئی از Control Panel به عنوان یک پارامتر به آن.

موفق باشید.

Cave_Man
پنج شنبه 31 مرداد 1387, 17:37 عصر
دوست گرامی ShellExecute هم کار ویندوز را انجام میدهد. توابع API که ما داریم در هر زبان برنامه نویسی استفاده میکنیم جدا از ویندوز نیستند. بنابراین شما وقتی دارید از ShellExecute استفاده میکنید عینا مانند تایپ کردن در Run ویندوز است. جواب ایشان هم بطور کامل داده شد. اگر لینک پست شماره 2 را بخوانید متوجه میشوید. این راه، بقول شما همان راه حل کلی است. فراخوانی Rundll32 و پاس دادن هر جزئی از Control Panel به عنوان یک پارامتر به آن.

موفق باشید.
نه خیر اشتباه شما همین است
من یه مثال زدم که تفاوت ShellExecute و Run ویندوز رو مشخص کرد ولی انگار اونو امتحان نکردید.
Control Panel\Add or Remove Programs
تو توی Run و هم توی ShellExecute تستش کن:چشمک:

Hsimple11
پنج شنبه 31 مرداد 1387, 18:07 عصر
نه خیر اشتباه شما همین است
من یه مثال زدم که تفاوت ShellExecute و Run ویندوز رو مشخص کرد ولی انگار اونو امتحان نکردید.
Control Panel\Add or Remove Programs

دوست عزیز این یک تابع API ویندوز است!

در مورد ShellExecute مطالعه کنید. یا در سایت جستجو کنید.

موفق باشید.

Cave_Man
پنج شنبه 31 مرداد 1387, 19:21 عصر
ای بابا
میدونم اون تابع هست و اون یک Utility ویندوز
ولی ما داریم در مورد کاربرد و کارایی اونحا بحث میکنیم نه ماهیت اونها.این مثالی که زدم در پاسخ به صحبتت بود که گفتی "استفاده از ShellExecute عینا مانند تایپ کردن در Run ویندوز است"

Hsimple11
پنج شنبه 31 مرداد 1387, 20:25 عصر
این مثالی که زدم در پاسخ به صحبتت بود که گفتی "استفاده از ShellExecute عینا مانند تایپ کردن در Run ویندوز است"


دوست گرامی باز هم میگویم. ShellExecute دقیقا همانند Run منوی Start شما عمل میکند. اگر با پارامترهای آن آشنا بشید متوجه می شوید. در MSDN در مورد ShellExecute جستجو کنید.