vahidmy

وبلاگ شخصی وحید محمدی

vahidmy

وبلاگ شخصی وحید محمدی

وحیدمی

وبلاگ شخصی وحید محمدی . یک تایپیست که عاشق علم و تجربه است.


آدرس وبلاگ وحیدمی :

Home Page


https://vahidmy.blog.ir

+


Archive

آرشیو و بایگانی وبلاگ وحیدمی

https://vahidmy.blog.ir/archive

+


نقشه وبلاگ وحیدمی:

Sitemap

https://vahidmy.blog.ir/sitemap.xml

+

خوراکخوان وبلاگ وحیدمی

Feed

RSS

https://vahidmy.blog.ir/rss

+

آدرس مورد استفاده خزنده ها روباتها و موتورهای جستجوگر

Robot

https://vahidmy.blog.ir/robots.txt


+

مشخصات وبلاگ وحیدمی:


ساعات انتشار پست جدید وبلاگ :

بیست و چهار ساعته

وضعیت انتشار پست : نامنظم . در طول شبانه روز و در صورت صلاحدید ؛ پست جدید منتشر می کنم.


نام مدیر : وحید محمدی

گونه : وبلاگ شخصی با آدرس اختصاصی و محتوای عمومی

ژانر : تمام ژانرها

کاربرد : همه منظوره

هدف وبلاگ : به اشتراک گذاشتن دانش و تجربه با مردم و پرداخت زکات علم

مقصد مدیر وبلاگ : کسب رضای خداوند .

جنس وبلاگ : وبلاگ شخصی

تاریخ تاسیس : تیر 1398 خورشیدی



موضوعات وبلاگ : تمام علوم و فنون و مسائل مختلف در تمام زمینه


کپی برداری از مطالب وبلاگ وحیدمی به شرط لینک دادن به آدرس اصلی وبلاگ با دامنه vahidmy.blog.ir ، بلامانع و آزاد است . با خیال راحت ، کپی برداری نمایید . هیچگونه کپی رایت و انحصار برای وبلاگ وحیدمی ، وجود ندارد .

بروزرسانی:

وبلاگ وحیدمی منحصرا توسط سایت بلاگ دات آی آر به آدرس blog.ir میزبانی می شود . بنابراین بجز دامنه vahidmy.blog.ir سایر دامنه ها جعلی و فیک و خطرناک هستند .
برای مشاهده نکات جدید و ترفندهای امنیتی لطفا به آدرس زیر مراجعه فرمایید:

https://vahidmy.blog.ir/post/1



آدرس وبلاگهای تخصصی :

https://spasm.blog.ir

https://fasmy.blog.ir

https://binasm.blog.ir

طبقه بندی موضوعی
مطالب پربحث‌تر
  • ۰۱/۰۴/۱۱
    adc
نویسندگان
پیوندها

Accelerators

چهارشنبه, ۲۷ ارديبهشت ۱۴۰۲، ۰۲:۳۱ ب.ظ





Accelerators  ....



I choose to not implement any Accelerators Editor for following reasons:


We have two ways for managing Accelerators. Accelerators stored in Resources:


call 'USER32.LoadAccelerators' D§hInstance  ID

    mov D§AccelHandle eax



and Accelerators stored in Data:


[ACCELERATORS: 

 U§ &FVIRTKEY__&FNOINVERT        &VK_F1    M00_Help

      &FVIRTKEY__&FCONTROL__&FNOINVERT 'F'      M00_Find

      &FVIRTKEY__&FCONTROL__&FNOINVERT+FLAGLAST    &VK_8          DRAWLINE]


[ACCELNUMBER 3 FLAGLAST 080]


call 'USER32.CreateAcceleratorTableA' ACCELERATORS ACCELNUMBER

mov D§AccelHandle eax


   __________________________________________________________________

   ; In both cases, the main message loop looks like this:

   __________________________________________________________________


jmp L1>


L0:    call 'User32.TranslateAccelerator' D§hwnd D§AccelHandle Firstmsg


        call 'User32.TranslateMessage'  Firstmsg

        call 'User32.DispatchMessageA'  Firstmsg


L1: call 'User32.GetMessageA' FirstMsg 0 0 0


    cmp eax 0 | ja L0<


            call 'USER32.DestroyAcceleratorTable' D§AccelHandle   ; <<<<<<<<<<

            call 'Kernel32.ExitProcess' D§FWparam



The only difference between these two ways is that, when storing Accelerators in Resources, upper '<<<<<<<<' line is not required whereas it is, with Data Accelerators. This is not a  great inconvenience..


On the other hand, having Accelerators table(s) in Resources have several disadvantages. The first one is bound to the way RosAsm holds the source and the resources: There is no way to store any ID Equate in Resources. So, having an Editor for Accelerators would require we enter the IDs by number (like all other Editors). This can be an added pain, compared to simple Data storage (which allow Equates, as usual). For example, if you add an item at the beginning of a menu, all the following Menu IDs are changed. We just Click on [Store IDs to ClipBoard] and paste our new Equates set. But, if these IDs are reused in Accelerators (which is usually the case), we would have to change all the bounded Accelerators IDs by hand.


A solution would be to implement an Equates parser between Source and Resources jobs. This would be possible but I consider this as much too much work for a such an easy problem.


A last point is that Data Accelerators are a bit easier to modify at run time, for example to provide a user customizable list than one stored in Resources.

~~~~~~~


  • ۰۲/۰۲/۲۷
  • vahidmy

Accelerators

Assembly Language

RosAsm