با سلام
آیا تابعی هست که بشود فوکوس رو به یه برنامه خاص (که شماره ID اون رو داریم, همون خاصیت hwnd) داد؟
در واقع مشکل من اینه که میخوام کاربر فوکوس رو از برنامم نتونه خارج کنه تا وقتیکه از برنامه خارج بشه؟
متشکرم
Printable View
با سلام
آیا تابعی هست که بشود فوکوس رو به یه برنامه خاص (که شماره ID اون رو داریم, همون خاصیت hwnd) داد؟
در واقع مشکل من اینه که میخوام کاربر فوکوس رو از برنامم نتونه خارج کنه تا وقتیکه از برنامه خارج بشه؟
متشکرم
بله تابع SetFocus از توابع API
با سلام
آقای آذیش این تابعی که گفته بودین فقط وقتیکه برنامه رو با وی بی اجرا میکردم اونم وقتیکه فوکوس رو به خود وی بی برمیگردوندم جواب میداد!
(یعنی تنها در این حالت فوکوس رو دوباره به برنامه تحت اجرا برمیگردوند؟؟؟)
اما وقتیکه با برنامه های دیگه کار بکنم و فوکوس و به اونا بدم و یا برنامه رو وقتیکه EXE شده اجرا کنم دیگه این تابع SetFocus عمل نمیکنه؟
آیا کار خاص دیگه ای رو هم باید انجام بدم؟
اینم کدی که من استفاده کردم:
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Private Declare Function SF Lib "user32.dll" Alias "SetFocus" (...) As Long
Private Sub Timer1_Timer()
If Me.hWnd <> GetForegroundWindow() Then SF(Me.hWnd)
End Sub
این تایمر, هر یک دهم ثانیه چک میکنه که آیا فوکوس در اختیار برنامه هست یا نه که در صورت نداشتن فوکوس با تابع SetFocus, فوکوس رو به برنامه میده!!!!
اما همونطور که گفتم عملا درست جواب نداد؟