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

نام تاپیک: گرفتن عنوان پنجره فعال

  1. #1
    کاربر دائمی آواتار rezamansori
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    خوزستان - اهواز
    سن
    30
    پست
    140

    گرفتن عنوان پنجره فعال

    من مي خواهم عنوان پنجره فعال رو بگيرم.
    اين كد با وي بي 6 جواب داد:
    Private Declare Function GetForegroundWindow Lib "user32" () As Long
    Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
    Private Sub Timer1_Timer()
    Dim a As Long
    Dim txt As String
    a = GetForegroundWindow
    txt = String(255, " ")
    GetWindowText a, txt, 255
    Me.Caption = txt
    End Sub
    من كد سي شارپش رو اينجوري نوشتم اما جواب نداد :


    [DllImport("User32")]
    public static extern long GetForegroundWindow();
    [DllImport("User32")]
    public static extern long GetWindowTextA(long hwnd, string lpString, long cch);
    private void timer1_Tick(object sender, EventArgs e)
    {
    string s = new string(' ', 255);
    GetWindowTextA(GetForegroundWindow(), s, 255);
    this.Text = s ;
    }
    لطفا راهنمايي كنيد.

  2. #2
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: گرفتن عنوان پنجره فعال

    اشتبا هتون این جاست که کد رو تبدیل نکردید.

    [DllImport("user32")]
    private static extern int GetForegroundWindow();
    [DllImport("user32")]
    private static extern int GetWindowTextA(int hwnd, string lpString, int cch);

  3. #3
    کاربر دائمی آواتار rezamansori
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    خوزستان - اهواز
    سن
    30
    پست
    140

    نقل قول: گرفتن عنوان پنجره فعال

    نفهميدم. منظور شما اينه كه بجاي Long نوع int رو بنويسم و بس؟
    بايد بگم تابع اول كار ميكنه و هندل رو بر مي گردونه اما تابع دومي جواب نميده.
    ممنون ميشم اگه بيشتر توضيح بدين.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: گرفتن عنوان پنجره فعال

    بله Long وبی 6 معادل int سی شارپپ هست.(و همینطور Integer VB.NET)(کد کار نمی کنه دلیش رو هم نمی دونم از API SendMessage هم استفاده کنید ببینید همین جوره یا نه.)

  5. #5
    کاربر دائمی آواتار rezamansori
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    خوزستان - اهواز
    سن
    30
    پست
    140

    نقل قول: گرفتن عنوان پنجره فعال

    من اولین بارمه که دارم توابع API رو می نویسم و استفاده می کنم. می خواستم بدونم آیا کتابخانه ای هست که توابع رو داشته باشه و بشه مستقیما آن ها رو تو سی شارپ کپی کرد و استفاده نمود؟

  6. #6
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: گرفتن عنوان پنجره فعال

    من خودم VB.NET کار میکنم و همینجوری از روی بیکاری نشتم توی خونه دارم سی شارپ یاد میگرم.
    اگه خواستین بگین یم مجموعه به زبان VB6 براتون آپلود کنم تبدیلش کاری نداره دو تا تبدیل کنی یاد می گیری.

  7. #7
    کاربر دائمی آواتار rezamansori
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    خوزستان - اهواز
    سن
    30
    پست
    140

    نقل قول: گرفتن عنوان پنجره فعال

    من کتابخونه برا وی بی 6 دارم اما بلد نیستم کداشو به سی شارپ تبدیل کنم.
    اگه امکانش هست یه مقاله برا این کار معرفی کنید.
    اگه یه برنامه بنویسی که API های وی بی 6 رو به سی شارپ تبدیل کنه ممنون میشم.

  8. #8
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    0x111530EF - 0x11657DA
    پست
    873

    نقل قول: گرفتن عنوان پنجره فعال

    من یک پیشنهاد بهتون میدم :
    اول یک پروژه VB.NET بسازین بعد هم به محیط کد نویسیش برین حالا از منوی Tools گزینه ی Upgrade Visul Basic 6 Cod رو انتخواب کنید حالا کد VB6 رو وارد کنید و OK حالا معدلش رو براتون مینویسه.(یک نرم افزار تبدیل کد های VB.NET به C#‎‎ دانلود کنید و اون کد رو به سی شارپ تبدیل کنید. تموم شد.
    اگه تونستم یک برنامه برای این کار مینویسم.
    آخرین ویرایش به وسیله Saman_12 : جمعه 19 شهریور 1389 در 00:22 صبح

  9. #9
    کاربر دائمی آواتار rezamansori
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    خوزستان - اهواز
    سن
    30
    پست
    140

    نقل قول: گرفتن عنوان پنجره فعال

    دوستان حل شد!
    فقط بجای نوع String از StringBuider استفاده کردم.

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

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