ورود

نسخه کامل مشاهده نسخه کامل : اجراي برنامه در پس زمينه ويندوز



ziziqolo
17-03-2009, 19:22
با سلام
چگونه مي توان برنامه اي را كه با ويژال بيسيك نوشته شده را در پس زمينه ويندوز اجرا كرد در حالي كه ايكون برنامه كنار ساعت ويندوز ديده شود؟

samiblog
17-03-2009, 22:06
با سلام
چگونه مي توان برنامه اي را كه با ويژال بيسيك نوشته شده را در پس زمينه ويندوز اجرا كرد در حالي كه ايكون برنامه كنار ساعت ويندوز ديده شود؟

سوالتون رو یه کم واضح تر بگین اما ایکون برنامه ها تا خودت کد نویسی کنار ساعت نمی افته رو taskbar می افته اگه می خوای نیفته show in taskbar رو در خصوصیات فرم false کن

punisher 007
18-03-2009, 19:58
فکر کنم me.hide بهتر باشه

SMNsoft
20-03-2009, 19:38
این فایل را دانلود کن. احتمالاً مشکلت حل می شود.

قبل از اجرا روی Register_OCX.bat کلیک کن تا ocx ریجستر شود


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

_H2_
22-03-2009, 23:13
سلام
برنامه شما به راحتی میتواند اصلاً فرم نداشته باشد، چه نیازی به فرم است؟
برای نمایش آیکون هم هیچ ActiveX اضافه ای نمیخواهد... VB9 که کامپونتی مخصوص همین کار دارد، برای VB6 هم به سادگی کافی است از API مخصوصش استفاده کنید، یعنی Shell_NotifyIcon :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ziziqolo
24-03-2009, 21:12
با سلام
با تشكر از شما خواستم عرض كنم كه برنامه اي كه عرض كردم را قبلا نوشتم و توضيح اينكه برنامه حاوي فرم و دكمه فرمان و تكست باكس و خيلي چيزهاي ديگه هم هست فقط مي خواستم وقتي كاربر برنامه را اجرا مي كنه آيكون برنامه توي قسمت notification ويندوز يعني همان جايي كه ساعت سيستم هستش ظاهر بشه مثل برنامه هاي انتي ويروس

_H2_
24-03-2009, 23:05
سلام

خيلي چيزهاي ديگه هم هست فقط مي خواستم وقتي كاربر برنامه را اجرا مي كنه آيكون برنامه توي قسمت notification ويندوز يعني همان جايي كه ساعت سيستم هستش ظاهر بشه
تابع Shell_NotifyIcon
نمونه کد:
support.microsoft.com/kb/176085

موفق باشید.

samiblog
25-03-2009, 14:53
با سلام


با تشكر از شما خواستم عرض كنم كه برنامه اي كه عرض كردم را قبلا نوشتم و توضيح اينكه برنامه حاوي فرم و دكمه فرمان و تكست باكس و خيلي چيزهاي ديگه هم هست فقط مي خواستم وقتي كاربر برنامه را اجرا مي كنه آيكون برنامه توي قسمت notification ويندوز يعني همان جايي كه ساعت سيستم هستش ظاهر بشه مثل برنامه هاي انتي ويروس



این کد رو در یم ماجول کپی کن


Public Const WM_RBUTTONUP = &H205
Global Const WM_MOUSEMOVE = &H200
Global Const NIM_ADD = 0
Global Const NIM_DELETE = 2
Global Const NIM_MODIFY = 1
Global Const NIF_ICON = 2
Global Const NIF_MESSAGE = 1
Global Const ABM_GETTASKBARPOS = &H5
'-----------------------------------------------------------------------
Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
'-----------------------------------------------------------------------
Type NOTIFYICONDATA
cbSize As Long
hwnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type
'----------------------------------------------------------------------
Type APPBARDATA
cbSize As Long
hwnd As Long
uCallbackMessage As Long
uEdge As Long
rc As RECT
Param As Long
End Type

'----------------------------------------------------------------------
Global Notify As NOTIFYICONDATA
Global BarData As APPBARDATA
Public Declare Function tapiRequestMakeCall Lib "TAPI32.DLL" (ByVal DestAddr$, ByVal AppName As String, ByVal CalledParty As String, ByVal Comment As String) As Long
Public Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long
Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Private Declare Function SHAppBarMessage Lib "shell32.dll" (ByVal dwMessage As Long, pData As APPBARDATA) As Long
'----------------------------------------------------------------------

Sub AddIcon(Form1 As Form, IconID As Long, icon As Object, ToolTip As String)
Dim Result As Long
BarData.cbSize = 36&
Result = SHAppBarMessage(ABM_GETTASKBARPOS, BarData)
Notify.cbSize = 88&
Notify.hwnd = Form1.hwnd
Notify.uID = IconID
Notify.uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
Notify.uCallbackMessage = WM_MOUSEMOVE
Notify.hIcon = icon
Notify.szTip = ToolTip & Chr$(0)
Result = Shell_NotifyIcon(NIM_ADD, Notify)
End Sub
Sub delIcon(IconID As Long)
Dim Result As Long
Notify.uID = IconID
Result = Shell_NotifyIcon(NIM_DELETE, Notify)
End Sub
-------------------------------------------------------------------------------

بعد در قسمت جنرال این کد
Public IconObject As Object
--------------------------------------------------------------
وبعد رد قسمت form load این کد

Set IconObject = Me.Icon
AddIcon Me, IconObject.Handle, IconObject, "TrayIcon"


حالا هنگام اجرا ایکن در کنار ساعت می افته
------------------------------------------------------------------------
برای حذف ایکن هنگام خروج در form unload
delicon(IconObject.Handle)

ziziqolo
30-03-2009, 20:30
با سلام
دوستان دست گلتان درد نكنه حل شد