نمایش نتایج 1 تا 3 از 3

نام تاپیک: یه تابع API برای در اختیار گرفتن فوکوس؟

  1. #1

    یه تابع API برای در اختیار گرفتن فوکوس؟

    با سلام
    آیا تابعی هست که بشود فوکوس رو به یه برنامه خاص (که شماره ID اون رو داریم, همون خاصیت hwnd) داد؟
    در واقع مشکل من اینه که میخوام کاربر فوکوس رو از برنامم نتونه خارج کنه تا وقتیکه از برنامه خارج بشه؟
    متشکرم

  2. #2
    بله تابع SetFocus از توابع API

  3. #3
    با سلام
    آقای آذیش این تابعی که گفته بودین فقط وقتیکه برنامه رو با وی بی اجرا میکردم اونم وقتیکه فوکوس رو به خود وی بی برمیگردوندم جواب میداد!
    (یعنی تنها در این حالت فوکوس رو دوباره به برنامه تحت اجرا برمیگردوند؟؟؟)
    اما وقتیکه با برنامه های دیگه کار بکنم و فوکوس و به اونا بدم و یا برنامه رو وقتیکه 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, فوکوس رو به برنامه میده!!!!
    اما همونطور که گفتم عملا درست جواب نداد؟

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •