تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تعديل هذا الكود
#1
كود :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace ConsoleApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        private static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, [Out] StringBuilder lParam);

        [DllImport("user32.dll", SetLastError = true)]
        private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
        [DllImport("user32.dll", SetLastError = true)]
        private static extern IntPtr GetWindow(IntPtr hWnd, GetWindow_Cmd uCmd);
                public string fixString(string str)
        {
            return str.Split(new char[] { ':' })[1].Substring(1);
        }



        public void getWindowText(IntPtr hwnd)
        {
            IntPtr hWnd = FindWindowEx(hwnd, IntPtr.Zero, "#32770", null);
            for (int i = 0; i < 12; i++)
            {
                hWnd = GetWindow(hWnd, GetWindow_Cmd.GW_HWNDNEXT);
            }
            IntPtr ptr3 = FindWindowEx(hWnd, IntPtr.Zero, "Static", null);
            for (int j = 0; j < 80; j++)
            {
                int num3 = (int)SendMessage(ptr3, 14, IntPtr.Zero, null);
                if (num3 > 0)
                {
                    StringBuilder builder;
                    switch (j)
                    {
                        case 20:
                            builder = new StringBuilder(num3 + 1);
                            SendMessage(ptr3, 13, (IntPtr)builder.Capacity, builder);
                            Values.Name = this.fixString(builder.ToString());
                            goto Label_02EE;

                        case 0x15:
                            builder = new StringBuilder(num3 + 1);
                            SendMessage(ptr3, 13, (IntPtr)builder.Capacity, builder);
                            Values.Level = this.fixString(builder.ToString());
                            goto Label_02EE;

                        case 0x16:
                            builder = new StringBuilder(num3 + 1);
                            SendMessage(ptr3, 13, (IntPtr)builder.Capacity, builder);
                            Values.SP = this.fixString(builder.ToString().Replace(',', '.'));
                            goto Label_02EE;

                        case 0x1d:
                            builder = new StringBuilder(num3 + 1);
                            SendMessage(ptr3, 13, (IntPtr)builder.Capacity, builder);
                            Values.HP = builder.ToString().Replace(',', '.');
                            goto Label_02EE;

                        case 30:
                            builder = new StringBuilder(num3 + 1);
                            SendMessage(ptr3, 13, (IntPtr)builder.Capacity, builder);
                            Values.MP = builder.ToString().Replace(',', '.');
                            goto Label_02EE;

                        case 0x1f:
                            builder = new StringBuilder(num3 + 1);
                            SendMessage(ptr3, 13, (IntPtr)builder.Capacity, builder);
                            Values.EXP = builder.ToString();
                            goto Label_02EE;

                        case 0x20:
                            {
                                builder = new StringBuilder(num3 + 1);
                                SendMessage(ptr3, 13, (IntPtr)builder.Capacity, builder);
                                string[] strArray = builder.ToString().Split(new char[] { '\n' });
                                Values.Pos = this.fixString(strArray[0]);
                                Values.Loc = strArray[1];
                                goto Label_02EE;
                            }
                        case 0x26:
                            builder = new StringBuilder(num3 + 1);
                            SendMessage(ptr3, 13, (IntPtr)builder.Capacity, builder);
                            Values.Ip = builder.ToString().Split(new char[] { '(' })[1].Replace(')', ' ');
                            goto Label_02EE;
                    }
                    builder = new StringBuilder(num3 + 1);
                    SendMessage(ptr3, 13, (IntPtr)builder.Capacity, builder);
                    builder.ToString();
                }
            Label_02EE:
                ptr3 = GetWindow(ptr3, GetWindow_Cmd.GW_HWNDNEXT);
            }
            IntPtr ptr4 = FindWindowEx(hwnd, IntPtr.Zero, "Static", null);
            int capacity = (int)SendMessage(ptr4, 14, IntPtr.Zero, null);
            StringBuilder lParam = new StringBuilder(capacity);
            SendMessage(ptr4, 13, (IntPtr)lParam.Capacity, lParam);
            string[] strArray3 = lParam.ToString().Split(new char[] { '\n' });
            Values.EXPMin = this.fixString(strArray3[1].Replace('\t', ' '));
            Values.EXPHour = this.fixString(strArray3[6].Replace('\t', ' '));
            Values.EXPTotal = this.fixString(strArray3[13].Replace('\t', ' '));
            Values.SPMin = this.fixString(strArray3[2].Replace('\t', ' '));
            Values.SPHour = this.fixString(strArray3[7].Replace('\t', ' '));
            Values.SPTotal = this.fixString(strArray3[14].Replace('\t', ' '));
            Values.KillsMin = this.fixString(strArray3[3].Replace('\t', ' '));
            Values.KillsHour = this.fixString(strArray3[8].Replace('\t', ' '));
            Values.KillsTotal = this.fixString(strArray3[15].Replace('\t', ' '));
            Values.Died = this.fixString(strArray3[0x10].Replace('\t', ' '));
            Values.Gold = this.fixString(strArray3[0x11].Replace('\t', ' ').Replace(',', '.'));
            Values.Drops = this.fixString(strArray3[0x12].Replace('\t', ' '));
        }




        private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}
الخطئ فى GetWindow_Cmd ما هو الحل ؟
الرد }}}
تم الشكر بواسطة:
#2
ما هي رسالة الخطأ ؟
صل من قطعك , واعط من منعك , وإعف عن من ظلمك Big Grin
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل الكود هذا صحيح خاص بالربط مع قاعدة بيانات SQL server تركي احمد 0 199 15-02-24, 10:04 AM
آخر رد: تركي احمد
  احتاج مساعدة في هذا الكود العتيق 3 590 01-10-23, 10:32 PM
آخر رد: العتيق
  [سؤال] احتاج الى مساعدة فى تعديل مشروع خاص C# وقاعدة البيانات SQL Server كتكوت المصري 1 497 15-08-23, 02:02 AM
آخر رد: WAEL ABED
  [سؤال] تنظيم الكود الطويل في الاستعلام احمد المهلا 2 780 26-03-23, 12:49 PM
آخر رد: sanyor77
  [C#.NET] تعديل سجل في listbox ali_ahmed12 2 599 13-11-22, 03:59 PM
آخر رد: ali_ahmed12
  انشاء قاعدة بيانات عن طرق الكود amonem 3 1,349 07-10-22, 12:51 PM
آخر رد: asemshahen5
Exclamation [VB.NET] عدم تنفيذ الكود في حدث Keydown Bader shaker 1 1,087 06-03-22, 05:40 PM
آخر رد: ابراهيم ايبو
  ممكن المساعدة فى تصحيح الكود talatm 1 1,150 04-03-22, 08:50 PM
آخر رد: talatm
  تعديل حجم الورق في كل مره اعمل طباعه Anwer28.6 0 957 12-07-21, 09:16 PM
آخر رد: Anwer28.6
  ممكن تحويل الكود من سي شارب لي فيجوال بيسك اليوم السابع 2 1,930 24-02-21, 05:58 PM
آخر رد: الماجيك مسعد

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم