سلام
لطفاٌ راهنامیی کنید که چه طور میشه این پنجره رو بست از طریق VB
اصلاٌ یه راهی که زود زود این پنجره رو ببنده
چون در این حالت اعصاب خورد کن میشه : ( منتظر دیدن تصویر باشید )
[/font]
ممنون میشم راه حل مفید نشون بدید
ابتدا اين كد ها رو تو جنرال بنويس
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
هالا يه تايمر بزار رو فرمت با interval=1 بعد اين كد رو توش بزار
Dim handel As Long
handel = FindWindow(vbNullString, "Yahoo! Messenger")
If handel <> 0 Then
SetForegroundWindow handel
SendKeys "%{f4}", 1
End If
شايد جواب داد اگه شد بگو
نقل قول: هالا يه تايمر بزار رو فرمت با interval=1 بعد اين كد رو توش بزار
میخوام یک نکته کلی بگم.
حد اقل اینترول برای تایمر میتونه 56(اگه درست یادم باشه)باشه و اگه شما 1 بدی با 56 فرقی نمیکنه.
اگه میخاین علتش رو توضیح میدم.
سیما خانوم
این روشی که شما میگید درست هست ولی اینی که شما گفتین هر پنجره ای با نام Yahoo! Messenger میبینه میبنده
و فکر کنم یاهو مسنجر هم بسته بشه
ممنون از لطفتون
هدف ما بستن اون صفحه ای هست که عکسش رو گذاشتم
حسین جان ... لطفا یک توضیحی بده که چرا 56 هست و مثلا 25 نیست یا حتی خود یک ؟
سلام.
فکر میکنم تو آپشن یاهو میتونی تنظیمات رو طوری تغییر بدی که آن آف شدن کسی رو اطلاع نده. نیاز به برنامه نویسی نیست.
اگه از yahoo 7 استفاده میکنی شاید yahoo هم بسته شه راستی توی خود yahoomeseenger یه نگاه کن.
بابا دمتون گرم
اما من میخوام از طریق VB ببینم میشه یا نه
سلام.
از طریق ویبی هم میشه. مینویسم برات میذارم.
سلام.
کد:
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessageA Lib "user32" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_HIDE = 0
Private Const WM_CLOSE = &H10
Private Sub Command1_Click()
Timer1.Interval = 100
End Sub
Private Sub Command2_Click()
Timer1.Interval = 0
End Sub
Private Sub Command3_Click()
Timer2.Interval = 100
End Sub
Private Sub Command4_Click()
Timer2.Interval = 0
End Sub
Private Sub Timer1_Timer()
Dim lngHwnd As Long
lngHwnd = FindWindowA("YSlidingTrayWnd", vbNullString)
PostMessageA lngHwnd, WM_CLOSE, 0, 0
End Sub
Private Sub Timer2_Timer()
Dim lngHwnd As Long
lngHwnd = FindWindowA("YSlidingTrayWnd", vbNullString)
ShowWindow lngHwnd, SW_HIDE
End Sub
4 تا کامند و 2 تا تایمر بذار رو فرم.
اول روش تایمر 1 رو نوشتم . یه مقدار ضعیفه. دیر پنجره رو میبنده. برای همین روش تایمر 2 رو هم اضافه کردم. تایمر 2 خیلی سریع عمل میکنه.