PDA

View Full Version : درحال اجرا بودن برنامه در تمام وقت



mahdi.a.v
سه شنبه 30 آبان 1391, 16:55 عصر
سلام
من ميخواستم برنامم وقتي رويدادي انجام ميشه برنامه ديگه ديده نشه و در گوشه ي سمت راست ويندوز(همون جايي كه مسنجر ها و.. هستن )بره و حتي وقتي دوباره سيستمو روشن ميكني بازم همون جا باشه تا وقتي كه برنامه رو ببندي - البته در اين مدت دستوراتي كه به برنامه دادي كه مربوط به زمان ميشه قابل اجرا باشه _ من اصلا درباره ي اين موضوع چيزي نميدونم اگه ميشه راهنمايي كنيد

ehsan-68
سه شنبه 30 آبان 1391, 17:45 عصر
سلام ...

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

که تویه پروپرتی براش آیکون انتخاب میکنی و نوشته یا تولتیبی که میخوای نشون داده بشه ...

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

البته یه کدی هم داره که میتونی خودت بنویسی که به وسیله ی چک باکس استارت آپ رو از تویه برنامت فعال یا غیر فعال کنی ... که متاسفانه حضور ذهن ندارم ...

mahdi.a.v
سه شنبه 30 آبان 1391, 19:49 عصر
ممنون از راهنمايتون اما
دركل من ميخوام برنامم با يك كليد به گوشه ي سمت چپ بره و با دوباره روشن كردن سيستم ديگه برنامه اون اطلاعاتي كه كاربر داده رو پاك نكنه يعني اطلاعاتي كه كاربر قبل از خاموش كردن سيستم داده بود
فكر نكنم با اينكار اينجوري بشه؟!

h_a_m_i_d
سه شنبه 30 آبان 1391, 20:02 عصر
ممنون از راهنمايتون اما
دركل من ميخوام برنامم با يك كليد به گوشه ي سمت چپ بره و با دوباره روشن كردن سيستم ديگه برنامه اون اطلاعاتي كه كاربر داده رو پاك نكنه يعني اطلاعاتي كه كاربر قبل از خاموش كردن سيستم داده بود
فكر نكنم با اينكار اينجوري بشه؟!
دوست عزیز برای اینکار باید اطلاعاتتو ذخیره کنی یک جا و بعد از این هر وقت برنامه دوباره اجرا شد دوباره اطلاعاتو لووود کنی
بازم مشکلی داشتی یا راهنمایی خواستی بگید

ehsan-68
سه شنبه 30 آبان 1391, 20:51 عصر
ممنون از راهنمايتون اما
دركل من ميخوام برنامم با يك كليد به گوشه ي سمت چپ بره و با دوباره روشن كردن سيستم ديگه برنامه اون اطلاعاتي كه كاربر داده رو پاك نكنه يعني اطلاعاتي كه كاربر قبل از خاموش كردن سيستم داده بود
فكر نكنم با اينكار اينجوري بشه؟!

همنطور که دوستمون گفت باید ذخیره کنی اگه میخوای بدون بانک ذخیره کنی میتونی تویه رجیستری اینکارو بکنی ...

اینجوری برنامت سبکتره ...

SaveSetting(appname, section, key, setting) ایجاد کلید

DeleteSetting(appname,section [,key ]) حذف کلید

GetSetting(appname,section,key [,default ]) خواندن کلید

GetAllSettings(appname,section) این تابع هم تمام مقادیر موجود در زیرشاخه تعیین شده رو تویه آرایه دوبعدی قرار میده

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

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

مثلا

MyNotifier.ShowBalloonTip(3)

xxnagin
سه شنبه 30 آبان 1391, 21:59 عصر
سلام
Window Tray Minimizer (http://www.codeproject.com/Articles/19439/Window-Tray-Minimizer)

mahdi.a.v
پنج شنبه 02 آذر 1391, 12:53 عصر
ممنون از راهنمایی همتون ولی
الان من چه دستوری برای اینکه وقتی کلیک کردی یه مسج باکس و بعد به پایین بره بنویسم ؟؟؟

xxnagin
پنج شنبه 02 آذر 1391, 15:02 عصر
تو رویداد کلیک مربوط به NotifyIcon فرم را hide یا visable کن
یه شرط بذار مثل بقیه فرم ها که show hide میکنن دیگه
if me.visable=true then
me.hide
else
me.show
end if

ehsan-68
پنج شنبه 02 آذر 1391, 15:53 عصر
ممنون از راهنمایی همتون ولی
الان من چه دستوری برای اینکه وقتی کلیک کردی یه مسج باکس و بعد به پایین بره بنویسم ؟؟؟



Private Sub MainForm_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
MsgBox("از برنامه خارج می شوید؟", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "خروج")
e.Cancel = True
Me.Hide()
MyNotifier.ShowBalloonTip(3)
End Sub

میتونی بعضی دستوراتشو برداری و در لود فرم بذاری تا با باز شدن فرم برنامه در تسک بار قرار بگیره

mahdi.a.v
پنج شنبه 02 آذر 1391, 17:50 عصر
Private Sub MainForm_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing MsgBox("از برنامه خارج می شوید؟", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "خروج") e.Cancel = True Me.Hide() MyNotifier.ShowBalloonTip(3) End Sub میتونی بعضی دستوراتشو برداری و در لود فرم بذاری تا با باز شدن فرم برنامه در تسک بار قرار بگیره واقعا ممنون از راهنمايي تون! اين دستور براي من كه تو يه برنامه كه هيچي نداشت زدم تو MyNotifier خطا داد. چيكار كنم؟

ehsan-68
پنج شنبه 02 آذر 1391, 23:15 عصر
واقعا ممنون از راهنمايي تون! اين دستور براي من كه تو يه برنامه كه هيچي نداشت زدم تو MyNotifier خطا داد. چيكار كنم؟

چه خطایی ؟

خطاشو برام بذارید ...

mahdi.a.v
جمعه 03 آذر 1391, 08:01 صبح
این دستوری که نوشتید فکر کنم کاربر نمیتونه دیگه فرم رو ببینه وقتی خارج میشه ...
برای من که گوشه پایین صفحه نرفت ...

ehsan-68
جمعه 03 آذر 1391, 11:39 صبح
این دستوری که نوشتید فکر کنم کاربر نمیتونه دیگه فرم رو ببینه وقتی خارج میشه ...
برای من که گوشه پایین صفحه نرفت ...

شما احتمالا اسم شی رو اشتباه نوشتید ...

چون اسم پیشفرض این شی NotifyIcon1 هست که من تو دستورم تغییر دادم به MyNotifier اینو یه چک بکنید ...

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

مقدار Visible رو هم True ...

برای این هم که بتونین رویه آیکون در تسکبار راست کلیل کنید یه ContextMenuStrip به برنامه اضافه کنید و در لود فرم این دستورو بنویسید ... و به این شی چند منو اضافه کنید ... مثل Close ، Open و هرچی که مد نظرتونه ...


MyNotifier.ContextMenuStrip = ContextMenuStrip1


حتما نام شی ها رو بررسی بکنید ...

mahdi.a.v
جمعه 03 آذر 1391, 13:55 عصر
برنامم وقتي رفت چه با كليك بيارمش - وقتي كليك ميكني نمياد

ehsan-68
جمعه 03 آذر 1391, 14:11 عصر
برنامم وقتي رفت چه با كليك بيارمش - وقتي كليك ميكني نمياد
در بخشی که گفتم باید راست کلیک کنی ... پست 13

Me.Show()
از این کد برای گزینه ای که گذاشتی استفاده کن

mahdi.a.v
جمعه 03 آذر 1391, 15:06 عصر
ببخشید -- چه جوری میتونم گزینه ای که ساختمو وقتی زدم براش رویداد تعریف کنم (همین Me.Show() که گفتید کجا بنویسم )و با چه دستوری میتونم برنامه رو ببندمش تو همین گزینه هاااا
ممنون

ehsan-68
جمعه 03 آذر 1391, 15:22 عصر
ببخشید -- چه جوری میتونم گزینه ای که ساختمو وقتی زدم براش رویداد تعریف کنم (همین Me.Show() که گفتید کجا بنویسم )و با چه دستوری میتونم برنامه رو ببندمش تو همین گزینه هاااا
ممنون

شما بعد از این که با ContextMenuStrip منو رو ساختید برای راست کلیک بروی منوهای ایجاد کرده دابل کلیک کنید و مثلا در منوی ایجادشده به نام openwindow دستور Me.Show() رو بنویسید و در منوی ایجاد شده به نام Close دستور close() را برای خارج شدن کامل از برنامه و برای مخفی شدن و رفتن به پایین در منوی ایجاد شده به نام Hidewindow دستور me.hide() (پست 9 همین تایپیک) رو بنویسید

mahdi.a.v
جمعه 03 آذر 1391, 15:45 عصر
Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
Me.Show()
End Sub
End Class

منظور شما اینه ؟؟؟
اینکه نشد

ehsan-68
جمعه 03 آذر 1391, 16:04 عصر
Private Sub OpenwindowToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OpenwindowToolStripMenuItem.Click
Me.Show()
End Sub


درسته منم همینو نوشتم برای خودم ...

mahdi.a.v
جمعه 03 آذر 1391, 17:46 عصر
مال من با این کد نشد!
فکر کنم رویداد شما با من فرق میکنه
OpenwindowToolStripMenuItem_Click
OpenToolStripMenuItem_Click

mahdi.a.v
جمعه 03 آذر 1391, 17:53 عصر
وقتی دستوری میدید و میگیم که برنامه رو کلا ببند باز ما اون جا تعریف کردیم که دوباره برنامه بره پایین و ... یعنی باز از اول شروع میکنه ... و این کدو عمل میکنه
فکر کنم باید تو رویداد کلیک باید
Private Sub MainForm_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
MsgBox("از برنامه خارج می شوید؟", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "خروج")
e.Cancel = True
Me.Hide()
MyNotifier.ShowBalloonTip(3)
End Sub



تعریف کرد این دستور رو راه دیگه ای هم نداره فکر کنم

ehsan-68
شنبه 04 آذر 1391, 14:06 عصر
مال من با این کد نشد!
فکر کنم رویداد شما با من فرق میکنه
OpenwindowToolStripMenuItem_Click
OpenToolStripMenuItem_Click

رویداد که یکیه فقط نام کنترل فرق میکنه ...

ehsan-68
شنبه 04 آذر 1391, 14:08 عصر
وقتی دستوری میدید و میگیم که برنامه رو کلا ببند باز ما اون جا تعریف کردیم که دوباره برنامه بره پایین و ... یعنی باز از اول شروع میکنه ... و این کدو عمل میکنه
فکر کنم باید تو رویداد کلیک باید
Private Sub MainForm_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
MsgBox("از برنامه خارج می شوید؟", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "خروج")
e.Cancel = True
Me.Hide()
MyNotifier.ShowBalloonTip(3)
End Sub



تعریف کرد این دستور رو راه دیگه ای هم نداره فکر کنم

متوجه نشدم منظورتونو ...

ولی تو این دستور که بازدن ضبدر فرم میگیم که فرم رو مخفی کنه و در پایین تسک بار نشان بده ولی برنامه کار میکنه ...

الان مشکل برنامه در کدوم قسمته ... وقتی برنامه رو مخفی میکنید بازم کار میکنه یا نه ؟

mahdi.a.v
چهارشنبه 08 آذر 1391, 06:40 صبح
سلام
خيلي راهنمايي شما بدردم خورد
يه سوال ديگه چطوري وقتي وقتي ويندوز روشن ميشه برنامه بره همون پايين و كجا ميتونم براي برنامه دستور تعيين كنم كه وقتي سيستم روشن شد برنامه چي كار كنه ؟
يا اصلا همچين چيزي ميشه؟

ehsan-68
چهارشنبه 08 آذر 1391, 08:23 صبح
سلام
خيلي راهنمايي شما بدردم خورد
يه سوال ديگه چطوري وقتي وقتي ويندوز روشن ميشه برنامه بره همون پايين و كجا ميتونم براي برنامه دستور تعيين كنم كه وقتي سيستم روشن شد برنامه چي كار كنه ؟
يا اصلا همچين چيزي ميشه؟

شدن که میشه ...

شما باید اول برنامرو در Startup ویندوز قرار بدین ( البته یه کدی داره که میتونین در برنامه بذارید تا بصورت دستی فعال یا غیرفعالش بکنید که متاسفانه کدرو داشتم ولی پاک شده)دیگه هم پیدا نکردم ...

برای اینکه زمان اجرایه ویندوز بعداز اجرا شدن برنامه، برنامه به قسمت پایین بره و مخفی بشه دستور رو در لود فرم بذارید و دیگر دستورات برنامه که باید چیکار بکنه ... درضمن من که نمیدونم کار برنامه شما چیه تا بهتر بتونم راهنمایی بکنم ...


Me.Hide() MyNotifier.ShowBalloonTip(3)

ehsan-68
چهارشنبه 08 آذر 1391, 10:54 صبح
http://barnamenevis.org/showthread.php?370771-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D8%AF%D8%B1-Startup-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2-...&p=1636698#post1636698