واضح آرشیو وب فارسی:سایت ریسک: ULF_VB 627-12-2007, 12:49 PMسلام من باید برنامه ای بنویسم که میاد آیتم های داخل یه لیست باکس رو که داخل برنامه دیگه ای هستش رو میخونه و ذخیره میکنه. حالا مشکل اینجاست که hwnd اون لیست باکس رو درآوردم ولی حالا نمی دونم چه جوری باید آیتم ها رو بخونم. اگه راهنماییم کنید ممنون میشم. فقط در این حد میدونم که باید از توابع api استفاده کنم ولی از کدومش نمیدونم. حتی اگه اسم تابع رو هم بهم بگید. بقیشو خودم انجام میدم. :31: در ضمن خیلی خیلی عجله دارم. باید هرچه سریعتر این برنامه رو آماده کنم و الا .... :18: :19: m3hrz4d27-12-2007, 04:28 PMباید از تابع SendMessage استفاده کنین با ثابت LB_GETTEXT : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ULF_VB 630-12-2007, 07:45 AMخيلي لطف كردي. واقعا ممنونم. برم ببينم ميتونم ازش استفاده كنم. ULF_VB 630-12-2007, 04:33 PMآقا یه مشکل من اینو تست کردم، ولی مقدار LParam رو خالی میده. مقدار برگشتی تابع هم 4 میشه. 4 یعنی چی؟ راستی اگه بخوام متن toolTip یکی از آیتم های لیست باکس رو در بیارم، اون موقع باید از چه ثابتی استفاده کنم. من گشتم ولی چیزی پیدا نکردم. اگه لطف کنی یه توضیحاتی هم راجع به این تابع بدی ممنون میشم m3hrz4d31-12-2007, 01:05 AMطول بافر رو به اندازه کافی گرفتی؟ میتونی مثلا 255 بگیری یا با همین تابع SendMessage و ثابت LB_GETTEXTLENGTH اول طول آیتم رو بگیری و بعد خود متن رو.اون 4 ی که برگشت میداده احتمالا طول آیتم بوده.اگه مشکل داشته باشه هم 1- برگشت میده. مثلا اگه بخواهی متن آیتم اول لیست باکس (که حالا توی فرم خودمون هست واسه راحتی) رو بدست بیاری: !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! برای پیدا کردن متن Tooltip هم چیز بدرد بخوری پیدا نکردم. این منبع خود مایکروسافت در مورد ToolTip : !!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!! ULF_VB 631-12-2007, 12:19 PMدستت درد نکنه. ولی مشکل من حل نشد. من تست کردم. وقتی یه ListBox توی فرم خودم گذاشتم و Hwnd اونو دادم، متن رو نشون داد ولی برای این برنامه هه یه رشته خالی برمیگردونه. یه چیزه دیگه. این لیست باکسی که توی این برنامه هست. کنار هر آیتم یه عکس هم گذاشته. به نظرت می تونه اشکال کار از این باشه. یعنی باید نوع متغیر Buffer رو تغییر بدم؟ چی بذارم؟ که جواب بده. این لینکی هم که برای tooltip دادی درباره خود شئ tooltip توضیح داده. درباره چیزی که من میخوام هیچی ننوشته. چجوری میشه متنش رو خوند؟ اصلا یه سوال دیگه؟ راهی هست که بشه یه شئ رو که داخل یه برنامه دیگه هست رو بگیری و مثل آبجکت های خود vb باهاش رفتارکنی. یعنی بتونی از خصوصیاتش استفاده کنی و ... اگه راهی باشه (البته فکر نکنم باشه!!!) خیلی خوب میشه. یه راهه دیگه هم فکر کنم باشه. میشه با استفاده از پروسس های برنامه اطلاعاتی که برنامه داره ازشون استفاده میکنه رو تشخیص داد. باید عملی باشه. چون برای game hacking از همین روش استفاده میشه. یعنی میان اول آدرس پروسسهای مورد نظرشون رو در میارن و بعد مقداری رو که میخوان بهش میدن. البته اونا معمولا با اعداد کار میکنن. من میخام ببینم میشه با رشته ها هم همین کار رو کرد؟ m3hrz4d01-01-2008, 07:02 AMهمونطور که خودت گفتی کنار آیتم یک عکس گذشته بنابراین بعید میدونم این شی یک ListBox ساده باشه(با اسم کلاس "ListBox") بنابراین پیغامی که در موردش استفاده میکنی طبیعیه که جواب نمیده. با استفاده از ای پی آی GetClassName , اسم کلاس این شی رو پیدا کن ببینم چه شی ی هست. - درسته اون لینک در مورد خود ToolTip بود منم گشتم چیز بدرد بخوری پیدا نکردم اما حتما یه راهی داره. علت پیچیدگیش هم اینه که ToolTip خودش یک Window هست و hWnd خودش رو داره و یک خصوصیت برای یک شی مثل ListBox نیست که بشه از طریق ListBox به راحتی پیداش کرد. - دقیقا با ای پی آی ویندوز میشه خصوصیت های همه ی شی های موجود توی ویندوز رو تغییر داد.حتی وقتی توی برنامه ی خودت هم خصوصیت شی ها رو تغییر میدی در اصل ای پی آی مربوطه فراخوانی میشه و اون خصوصیت مثلا Caption یک Label تغییر میکنه.البته این تغییر وقتی امکان داره که شی مورد نظر یا از شی های استاندارد ویندوز باشه تا بدونی با استفاده از چه ای پی آی یی خصوصیت ها رو تغییر بدی یا اون شی مثل شی های استاندارد ویندوز عمل کنه و به پیغام های مورد نظر درست پاسخ بده.اگه یه شی کلا Custom باشه و درست به پیغام های مربوط به خصوصیاتش پاسخ نده یا اون پیغام ها رو ندونی با ای پی آی های ازین دست نمیشه روش کار کرد و همونطور که خودت گفتی یه راهش تغییر Memory مربوط به Process هست ULF_VB 601-01-2008, 10:32 AMاسم کلاس رو قبلا دیدم اینه SysListView32 ولی اسم کلاس لیست باکس های خود Vb یه چیز دیگست (ThunderListBox) خوب tooltip هم جزو خواص اشیا محسوب میشه. پس باید یه جوری بشه دیتکتش کرد. این رو هم میدونم که vb هم از api ها استفاده میکنه، حتی برای کوچکترین اعمالش. خب من یه سوال دیگه هم پرسیدم. این که میشه با process ها string رو هم تشخیص داد؟ و تغییراتی توش اعمال کرد. آخه این یکی رو من جایی ندیدم. می خواستم بینم مثل همون کار با اعداد میمونه، یعنی به همون روش میشه با string هم کار کرد؟ سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 285]