امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
كمك براي اجرا شدن برنامه فقط براي يك بار
نویسنده پیام
Mr.pRoGraMmer غایب
کاربر با تجربه
****

ارسال‌ها: 1,084
موضوع‌ها: 58
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 2031
( 2927 تشکر در 1008 ارسال )
ارسال: #1
كمك براي اجرا شدن برنامه فقط براي يك بار
سلام من يه برنامه نوشتم اتوران ميسازه اما وقتي رو درايو كليك ميكني درايو باز نميشه باز برنامه با همون اسم تو پروسه سيستم بارگذاري ميشه ميخوام كاري كنم كه فقط واسه يك بار برنامه اجرا بشه نه واسه چند بار
ممنون ميشم راهنمايي كنيد

۲۹-فروردین-۱۳۸۸, ۰۰:۲۲:۳۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #2
RE: كمك براي اجرا شدن برنامه فقط براي يك بار
میتونین از createmutex برای جلوگیری از ساخته شدن چند بار برنامه استفاده کنین
۲۹-فروردین-۱۳۸۸, ۰۰:۲۹:۳۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
Mr.pRoGraMmer غایب
کاربر با تجربه
****

ارسال‌ها: 1,084
موضوع‌ها: 58
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 2031
( 2927 تشکر در 1008 ارسال )
ارسال: #3
RE: كمك براي اجرا شدن برنامه فقط براي يك بار
سلام ميشه يه كم بيشتر توضيح بديد

۲۹-فروردین-۱۳۸۸, ۰۰:۳۱:۱۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #4
RE: كمك براي اجرا شدن برنامه فقط براي يك بار
سلام

یکم خوب متوجه نشدم منظورتون رو .

ولی اگه میخوایین برنامه یکبار اجرا بشه ، میتونید از کد زیر استفاده کنید

کد:
If App.PrevInstance = True Then MsgBox "s"
۲۹-فروردین-۱۳۸۸, ۰۰:۵۷:۳۷
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Mr.pRoGraMmer, mahdi321
Payman62 آفلاین
مدیر بخش ویژوال بیسیک
*****

ارسال‌ها: 2,273
موضوع‌ها: 149
تاریخ عضویت: اسفند ۱۳۸۴

تشکرها : 1308
( 3661 تشکر در 942 ارسال )
ارسال: #5
RE: كمك براي اجرا شدن برنامه فقط براي يك بار
سلام.
این کد جلوی اجرا مجدد برنامه رو نمیگیره. فقط پس از اجرای مجدد برنامه ما متوجه میشیم که قبلا 1 بار اجرا شده و برنامه رو میبندیم و باز درایو باز نمیشه. این به تنظیمات ویندوز ربط داره. وقتی درایوی اتوران داشته باشه فکر این مشکل رو هم داره.
۲۹-فروردین-۱۳۸۸, ۰۲:۴۳:۱۳
ارسال‌ها
پاسخ
تشکر شده توسط : Mr.pRoGraMmer, mahdi321
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #6
RE: كمك براي اجرا شدن برنامه فقط براي يك بار
خوب این واسه اجرا بود

اگه هدف باز کردنه درایور باشه ، برنامه خودش این کارو بکنه ! فکر کنم میشه ،، یا باید اتوران پاک بشه که بعد از پاک شدن معمولا ارور میده ، تا ریست نشه دستگاه ؛ یا همون برنامه بازش کنه ! Biggrin
۲۹-فروردین-۱۳۸۸, ۰۳:۳۹:۵۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
Mr.pRoGraMmer غایب
کاربر با تجربه
****

ارسال‌ها: 1,084
موضوع‌ها: 58
تاریخ عضویت: اسفند ۱۳۸۷

تشکرها : 2031
( 2927 تشکر در 1008 ارسال )
ارسال: #7
RE: كمك براي اجرا شدن برنامه فقط براي يك بار
سلام
خوب هستين
ممنون كه راهنمايي كردين با اين كد كه دوستمون داد ديگه برنامه واسه چند باز باز نميشه
[code]
If App.PrevInstance = True Then End
[code]
اما حالا ديگه درايو باز نميشه فكر كنم يه راه باشه تست ميكنم خبرشو ميدم

۲۹-فروردین-۱۳۸۸, ۱۰:۵۹:۵۵
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
Hadiir آفلاین
تازه وارد

ارسال‌ها: 20
موضوع‌ها: 6
تاریخ عضویت: فروردین ۱۳۸۸

تشکرها : 12
( 4 تشکر در 3 ارسال )
ارسال: #8
RE: كمك براي اجرا شدن برنامه فقط براي يك بار
منم ازین کد استفاده کردم عالیه


[code]
Private Sub Form_Initialize()
If App.PrevInstance = True Then

MsgBox "Alreay Runing"
Unload Me

End

End If

End Sub

اما یه مشکل دارم میخوام بعد از جلوگیری از اجرای مجدد برنامه ، برنامه منو که در حال اجراست رو نشون بده و اونو اکتیو و فوکوس کنه من خیلی از برنامه هارو دیدم که این جوری بودن.
با تشکر.
۲۹-فروردین-۱۳۸۸, ۱۷:۲۱:۳۷
ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #9
RE: كمك براي اجرا شدن برنامه فقط براي يك بار
سلام

نقل قول: اما حالا ديگه درايو باز نميشه فكر كنم يه راه باشه تست ميكنم خبرشو ميدم
با خود برنامه بازش کن ! مثل ویروس new folder !!!

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

دیگه روش دیگه ایی نمیدونم Biggrin
۲۹-فروردین-۱۳۸۸, ۱۸:۳۸:۰۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahdi321
mojtabamalaekeh آفلاین
کاربر با تجربه
****

ارسال‌ها: 566
موضوع‌ها: 104
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 1378
( 631 تشکر در 223 ارسال )
ارسال: #10
RE: كمك براي اجرا شدن برنامه فقط براي يك بار
نقل قول: با خود برنامه بازش کن ! مثل ویروس new folder !!!
میشه از این کد استفاده کرد
کد:
Shell "Explorer.exe " & Left(App.Path, 2), vbMaximizedFocus
ولی خیلی ضایعه چون اولا تو پنجره جدید باز میشه
دوما ممکنه طرف پنجره هاش ماکسیمایز نباشن و وقتی درایو تو حالت ماکسیمایز باز بشه طرف شک میکنه
Rolleyes
نقل قول: اما یه مشکل دارم میخوام بعد از جلوگیری از اجرای مجدد برنامه ، برنامه منو که در حال اجراست رو نشون بده و اونو اکتیو و فوکوس کنه من خیلی از برنامه هارو دیدم که این جوری بودن.
اگه در حد ابتدایی میخوای میتونی هندل برنامه خودت رو از روی Caption پیدا کنی و با ShowWindow اونو بالا بیاری و فوکوس بدی ولی اگه در حد حرفه ای میخوای من هم خودم محتاج پاسخم.Wink

ای خدا کی بشه ما هم ترفندهای معمول مورد استفاده در نرم افزارهای رایج رو یاد بگیریم.Confused
نقل قول: ميخوام كاري كنم كه فقط واسه يك بار برنامه اجرا بشه نه واسه چند بار
فرض کنید این مسئله به بهترین روش حل شد (یکی از روش های ذکر شده) ولی تا وقتی که درایو به حالت عادی باز نشه فایده نداره.
شاید بشه با همون دستوراتی که تو فایل Autorun.inf می نویسیم یه کاریش کرد، همونطور که میشه گزینه های Open, AutoPlay, Search, Explore رو به دلخواه خودمون تغییر بدیم...


(آخرین ویرایش در این ارسال: ۲۹-فروردین-۱۳۸۸, ۲۳:۳۶:۳۱، توسط mojtabamalaekeh.)
۲۹-فروردین-۱۳۸۸, ۲۳:۳۰:۵۴
ارسال‌ها
پاسخ
تشکر شده توسط : Mr.pRoGraMmer, mahdi321
1120 آفلاین
در حال پیشرفت
***

ارسال‌ها: 313
موضوع‌ها: 49
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 404
( 381 تشکر در 161 ارسال )
ارسال: #11
RE: كمك براي اجرا شدن برنامه فقط براي يك بار
سلام دوستان عزیز

نقل قول: كمك براي اجرا شدن برنامه فقط براي يك بار

دوست عزیز از این کد استفاده کن

این جوری برنامت بیشتر از یک بار اجرا نمیشه !

کد:
Private Sub Form_Load()
If Val(GetSetting(App.EXEName, "Settings", "chekonerun", 0)) = 0 Then
SaveSetting App.EXEName, "Settings", "chekonerun", 1
Else
End
End If
End Sub


موفق باشی
نقل قول: شاید بشه با همون دستوراتی که تو فایل Autorun.inf می نویسیم یه کاریش کرد، همونطور که میشه گزینه های Open, AutoPlay, Search, Explore رو به دلخواه خودمون تغییر بدیم...

mojtabamalaekeh عزیز میشه این رو به ما هم یاد بدی ؟؟؟ Amaze[/quote]
(آخرین ویرایش در این ارسال: ۳۰-فروردین-۱۳۸۸, ۰۹:۳۶:۳۰، توسط 1120.)
۳۰-فروردین-۱۳۸۸, ۰۹:۳۲:۴۷
ارسال‌ها
پاسخ
تشکر شده توسط : Mr.pRoGraMmer, mahdi321


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  بستن برنامه اکسل در حال اجرا aleas 1 1,064 ۲۳-شهریور-۱۳۹۸, ۱۷:۲۴:۱۱
آخرین ارسال: Di Di
  جلو گیری از اجرا فیلم aleas 3 4,380 ۲۰-بهمن-۱۳۹۶, ۱۹:۰۶:۱۴
آخرین ارسال: aleas
  اجرا نشدن keybd_event vbKeyMenu در ویندوز 8.1 javad917 3 2,627 ۱۳-آذر-۱۳۹۶, ۲۱:۲۰:۲۸
آخرین ارسال: javad917
  ارسال پارامتر به برنامه ی در حال اجرا. Blossom 42 27,149 ۰۹-اسفند-۱۳۹۳, ۲۲:۴۴:۱۶
آخرین ارسال: 9988
  ويروسي براي كاهش سرعت اينترنت rap0661 10 9,271 ۲۶-مرداد-۱۳۹۳, ۱۷:۴۶:۱۱
آخرین ارسال: Vb6Moderator
  [سوال] ايجاد محدوديت زماني براي اجراي برنامه megatron 11 8,248 ۲۹-اردیبهشت-۱۳۹۲, ۰۸:۵۳:۰۴
آخرین ارسال: lord_viper
  [سوال] اجرا نشدن دستورات هندل کردن خطا در محیط IDE وی بی flush 6 6,016 ۰۵-اسفند-۱۳۹۱, ۲۱:۴۹:۳۵
آخرین ارسال: Payman62
  چگونه يه تايمر را روي فرم قرار دهيم و مدت اجرا آن را به يك ساعت تغيير دهيم! rap0661 10 11,357 ۱۱-خرداد-۱۳۹۱, ۱۹:۵۶:۵۸
آخرین ارسال: Ghoghnus
  سورس برنامه براي گذاشتن رمز روي ويندوز بعد از ريستارت يا خاموش شدن rap0661 19 16,987 ۰۱-آبان-۱۳۹۰, ۰۰:۰۶:۳۱
آخرین ارسال: Ghoghnus
  ويروسي براي بشدت پايين آوردن سرعت سيستم rap0661 12 8,389 ۰۴-مهر-۱۳۹۰, ۲۱:۵۷:۱۸
آخرین ارسال: abbasalifix

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS