PDA

View Full Version : نمايش آيكن برنامه و بالون مربوطه در Taskbar ويندوز



bita_ziba77
یک شنبه 15 اسفند 1389, 13:52 عصر
با سلام
در برنامه ام ، هنگامي كه فرم اصلي باز مي شود يك بالون در كنار ساعت ويندوز به نمايش درآمده و اصلاعاتي را نمايش مي دهد.
ولي مشكل من اين است كه هيچ آيكني اين بالن نداشته و فقط يك فضاي خالي كنار ساعت ظاهر مي شود و بالاي اين فضاي خالي اين بالن به نمايش در مي آيد.
آيا نمونه اي دوستان دارند كه بالن به همراه آيكن دلخواه طراح باشد.
همچنين آيا امكان دارد با كليك راست روي اين برنامه منويي طبقه خواسته طراح به نمايش در آيد (مشابه ساعت ويندوز و يا نرم افزار بابيلون)

با تشكر

bita_ziba77
سه شنبه 17 اسفند 1389, 10:17 صبح
با سلام
لطفا مديران كمك كنند.


با تشكر

RESMAILY
سه شنبه 17 اسفند 1389, 11:08 صبح
به نام خدا
با سلام. احتمالا نمونه ضميمه را ديده ايد. يك آكتيو اكس هم اقا پيروزمهر تدارك ديده بودند كه بايد در تالار موجود باشد.

amirzazadeh
سه شنبه 17 اسفند 1389, 11:31 صبح
سلام
قبلا نمونه اي در اين زمينه اپلود شده
براي نمايش ايكون دلخواه در اين قسمت ماژول مسير ايكون دلخواه رو وارد كنيد:

Private Sub cmdStartDemo_Click()
Call sHookTrayIcon(Application.hWndAccessApp,"پيام دلخواه ", "C:\نام ايكون.ico")
'if you had a custom icon, the call to sHookTrayIcon would be like this
'Call sHookTrayIcon(Me, "fWndProcTray", _
"Hello World", "D:\install\temp\face.ico")
End Sub

laia56
شنبه 12 فروردین 1391, 00:30 صبح
با سلام خدمت استاد محترم
اگر بخواهیم آیکن خود اکسس بر روی دسکتاپ را تغییر بدهیم از کدام قسمت ماژول باید استفاده کنیم
و آیا امکانش هست که ایکن مورد نظر را در خود فایل اکسس ذخیر کنیم

laia56
دوشنبه 14 فروردین 1391, 15:10 عصر
دوستان لطفا راهنمایی کنید خیلی مشتاقم اینمورد را یاد بگیرم

Abbas Amiri
دوشنبه 14 فروردین 1391, 18:20 عصر
شما قبلا تاپیک زده بودید و دوست خوبمون RESMAILY (http://barnamenevis.org/member.php?12210-RESMAILY) هم لطف کرده بودند ماژول مورد نظر را برایتان گذاشته بودند . ذخیره کردن تصویر در جداول و بعد کدهای موردنظر جهت لودکردن آن مشکل تر ازاین حرفهاست .پیشنهاد میکنم تصویر مورد نظر را درپوشه جاری فایلتان قراردهید و با دستور CurrentProject.Path به مسیر آن دسترسی پیداکنید

laia56
دوشنبه 14 فروردین 1391, 22:46 عصر
کاملا درست میفرمایید و البته این هم ماژولی که دوست عزیزمان لطف نمودند مشکل اینجاست که من این کد را درک نکردم ونمیدانم چگونه از آن استفاده کنم
Option Compare Database
Option Explicit

Public Sub CreateDesktopShortcut(strShortcutTitle As String, _

Optional strTargetPath As String, Optional strPath_Icon As String)

On Error Resume Next

Dim oShell As IWshShell_Class

Dim oShortcut As IWshShortcut_Class

Dim vItem As Variant

Dim vType As Variant

Set oShell = New IWshShell_Class


If strTargetPath = "" Then strTargetPath = CurrentDb.Name 'ãÓíÑ ÇÌÑÇí ÈÑäÇãå

strPath_Icon = strPath_Icon

For Each vItem In oShell.SpecialFolders

If Mid(vItem, Len(vItem) - 6, 7) = "Desktop" And _

InStr(1, vItem, "All Users") = 0 And _

InStr(1, UCase(vItem), "ADMINISTRATOR") = 0 Then

Set oShortcut = oShell.CreateShortcut(vItem & "\" & strShortcutTitle & ".lnk")

oShortcut.TargetPath = strTargetPath

oShortcut.IconLocation = strPath_Icon

oShortcut.Save

End If

Next

End Sub

Abbas Amiri
دوشنبه 14 فروردین 1391, 23:41 عصر
کد فوق را در یک ماژول کپی کنید و ودر رویداد کلیک یک باتن تایپ کنید


CreateDesktopShortcut "عنوان میانبر","",strIconPath

که در آن strIconPath مسیر آیکون مورد نظر است .توضیح اینکه حتما آیکون باشد MyIcon.ico

Abbas Amiri
سه شنبه 15 فروردین 1391, 00:27 صبح
البته من از تابع زیر که ازلحاظ عملکرد ودستورات شبیه تابع فوق است استفاده می کنم


'************************************************* ***********
'First add the reference : Windows Script Host Object Model *
'************************************************* ***********
' sIconName : only Name of icone file , placed in Icons directory in application directory
' Example
'CreateDesktopIcon currentdb.Name ,"MyIcon.ico",strCaption,strTooltipText

Function CreateDesktopIcon(sDBPath As String, sIconName As String, Optional sShortcutText As String, _
Optional sDescription As String) As Boolean
Dim wShell As WshShell, objShortcut As WshShortcut
On Error GoTo ErrShortCut
Dim strLinkName As String
If UCase(GetFilePathPart(sIconName, ExtentionOnly)) <> "ICO" Then
MsgBox "باشد ""ico"" " & "پسوند فایل آیکون بایستی", , ""
Exit Function
End If
strLinkName = sShortcutText & ".lnk"
Set wShell = New WshShell
Set objShortcut = wShell.CreateShortcut(wShell.SpecialFolders("Desktop") & "\" & strLinkName)
With objShortcut
.TargetPath = sDBPath
.WindowStyle = 3 'Maximize program window when opened
.Hotkey = ""
.Description = sDescription
.IconLocation = GetFilePathPart(sDBPath, PathOnly) & "Icons\" & sIconName & ", 0"
.WorkingDirectory = GetFilePathPart(sDBPath, PathOnly)
.Save
End With
CreateDesktopIcon = True
ErrShortCut:
Set objShortcut = Nothing
Set wShell = Nothing
If Not CreateDesktopIcon Then MsgBox "خطادرهنگام ایجاد آیکون دسکتاپ", , ""
End Function


Function GetFilePathPart(strPath, SetionOfPath As FilePathPart, Optional NewName As String)
Dim k As Integer, j As Integer
Dim sPath As String, sName As String, SExtention As String
k = InStrRev(strPath, "\") + 1
j = InStrRev(strPath, ".")
sPath = Left(strPath, k - 1)
SExtention = Right(strPath, Len(strPath) - j)
Select Case SetionOfPath
Case PathOnly
GetFilePathPart = sPath
Case NameOnly
GetFilePathPart = Mid(strPath, k, (j - k))
Case ExtentionOnly
GetFilePathPart = SExtention
Case NameAndExtention
GetFilePathPart = Right(strPath, Len(strPath) - k + 1)
Case ChangeName
GetFilePathPart = sPath & NewName & "." & SExtention

End Select
End Function

laia56
سه شنبه 15 فروردین 1391, 00:39 صبح
آیا در کد مورد استفاده شما هم همان باتن با همان رویداد را باید تعریف کرد

laia56
سه شنبه 15 فروردین 1391, 01:27 صبح
البته یک مسئله ای هست پس از انجام مراحل و بستن برنامه ویندوز پیغام زیر را میدهد برای رفع آن باید چکار کرد

laia56
سه شنبه 15 فروردین 1391, 14:32 عصر
حالا یک سئوال دیگه
این رویه که اساتید فرمودند ساخت شورتکات میباشد آیا راهی هست که خود آیکن اکسس را تغییر داد یعنی شورتکات نباشد مثل این نمونه که دوست عزیزمان در دیتابیسهای کاربردی قرارداده بودند

Abbas Amiri
سه شنبه 15 فروردین 1391, 17:46 عصر
در روال کلیک فرم مانند زیر عمل کنید. دوپارامتر آخر را متغیر و یا رشته مورد نظر خودتان را بنویسید
CreateDesktopIcon currentdb.Name ,"MyIcon.ico",strCaption,strTooltipText

laia56
سه شنبه 15 فروردین 1391, 21:59 عصر
در روال کلیک فرم مانند زیر عمل کنید. دوپارامتر آخر را متغیر و یا رشته مورد نظر خودتان را بنویسید
CreateDesktopIcon currentdb.Name ,"MyIcon.ico",strCaption,strTooltipText

با تشکر از محبت شما
اما با کلیک برروی دکمه مربوطه ارور زیر دریافت میشود

Abbas Amiri
سه شنبه 15 فروردین 1391, 23:03 عصر
کدهای زیر را هم در همان ماژول اضافه کنید


Public Enum FilePathPart
PathOnly = 1
NameOnly
ExtentionOnly
NameAndExtention
ChangeName
End Enum

abas1388
چهارشنبه 16 فروردین 1391, 17:03 عصر
حالا یک سئوال دیگه
این رویه که اساتید فرمودند ساخت شورتکات میباشد آیا راهی هست که خود آیکن اکسس را تغییر داد یعنی شورتکات نباشد مثل این نمونه که دوست عزیزمان در دیتابیسهای کاربردی قرارداده بودند
با سلام خدمت جناب امیری عزیز
ممکن است در خصوص نمونه فوق راهنمائی بفرمایید که چگونه پسوند فایل اکسس به exe تبدیل شده که قابل اجرا می باشد؟
با تشکر

Abbas Amiri
چهارشنبه 16 فروردین 1391, 21:57 عصر
راستش من هم نمیدانم واگر دوستان عزیز دیگر میدانند راهنمایی کنند

RESMAILY
پنج شنبه 17 فروردین 1391, 03:50 صبح
به نام خدا
با سلام. برنامه با يكي از نرم افزار هايي ساخته شده است كه با جمع آوري فايل هاي مورد نياز يك برنامه از آنها يك تك فايل جديد exe مي سازد. برايآنكه فايل آكسس را در اين نرم افزار مورد استفاده قرار دهيم ضروري است است كه حتما ابتدا يك فرم راه اندازيexe با vb نوشته شود و راه اندازي فايل آكسس را مثل همين برنامه mrzمثلا در رويدادload آن قرار دهيم. سپس با جمع آوري فايل، آن را تبديل نماييم. من الان نامي به خاطرم نيست ولي سعي مي كنم يك نمونه از اين نوع نرم افزار را پيدا يا حداقل معرفي نمايم.

شنبه 18/1/91
با سلام . خواستم عرض کنم یادم نرفته! دارم جستجو می کنم. همین امیدوارم امروز و فردا انشالله یادم بیاید که چه می خواستم عرض کنم!؟
چهارشنبه 20/2/91
با سلام. بخدا يادم نرفت. ولي هرچه گشتم هنوز پيدايش نكردم. در ضمن فايل اين برنامه با VB نوشته شده و دوستان پس ازيكبار اجرا اگر سرچ كنند مي بينند همانطور كه اقاي پيروزمهر گفتند قضيه چيز ديگري است. درواقع يك لودر نوشته شده كه درهنگام نصب فايل آكسس را به درون يك پرونده ديگرمثلا System32 تبعيد مي كند و سپس آن را اجرا ميكند! گرداندن لقمه دورسر براي چه؟ براي اينكه معلوم نشود برنامه با آكسس نوشته شده. چرا؟ خدا مي داند. دوستان باور كنند كه نوشتن همان برنامه با Vb مثلا، سخت تر از نوشتن با آكسس نيست. بخدا. آن پكيج ساز هم يادم هست كه همچه كاري مي كرد. درواقع يك ستاپ ساز فول اتوماتيك! بود. ولي هروقت پيدا شد. آپ مي كنم آن را.
ارادت

laia56
سه شنبه 19 اردیبهشت 1391, 14:36 عصر
در ادامه این مبحث
آیا امکانش هست که در کد از خود آیکن های موجود در ویندوز استفاده کنیم همان آیکن های که در آدرس %SystemRoot%\system32\SHELL32.dll نشان داده میشوند در اینصورت در هر سیستمی آیکن مورد نظر که در خود ویندوز هست نمایش داده میشود

laia56
سه شنبه 26 اردیبهشت 1391, 16:56 عصر
دوستان و اساتید محترم با سلام
راه حلی برای اینمورد که عرض کردم وجود ندارد؟

Rojanmaf
سه شنبه 26 اردیبهشت 1391, 18:57 عصر
سلام
فکر کنم اگه ته این تاپیکو بالاخره یکی بتونه در بیاره مشکل برای همیشه حل بشه
http://barnamenevis.org/showthread.php?335200-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA-%D9%87%D8%A7%DB%8Cmdecompiler-%D8%AF%D8%B1-%D8%AA%D8%A8%D8%AF%DB%8C%D9%84-%D9%81%D8%A7%DB%8C%D9%84-%D8%A7%DA%A9%D8%B3%D8%B3-%D8%A8%D9%87-EXE&highlight=mdecompiler