WinAsm Studio, The Assembly IDE - Free Downloads, Source Code
Sponsors
Articles
Programming Quick Start
32-bit Assembler is Easy
Porting Iczelion tutorials
What is FASM
Hard Drive Recovery
Wiring your own LAN
Personal menu
Welcome Guest
User:
Pass:
Register!
Resend Validation Email
 
Forum
Pages (2) [1] 2   ( Go to first unread post )

Accelerator Table Add-In, an open source Add-In demonstrating how a new entry can be added to the accelerator table (fVirt should be a WORD - not a BYTE)

akyprian
Quote Post


Administrator
******

Group: Admins
Posts: 2307
Member No.: 1
Joined: 12-May 04


Hi,

WinAsm Studio V3.0.2.5 or newer exports a pointer to the Accelerator Table handle. Attached is an Add-In demonstrating how one new entry can be added to this table. Definately, one can also completely disable the accelerators or change any of them.

Enjoy,

Antonis

PS. Improved version in the following post
PMEmail PosterUsers Website
Top
akyprian
Quote Post


Administrator
******

Group: Admins
Posts: 2307
Member No.: 1
Joined: 12-May 04


Here is an improved demo that covers more cases as those pointed out by Qvasimodo.

Regards,

Antonis

EDIT: 4dl, some spelling mistakes (no change of code) corrected (Thanks JimG)

Attached File ( Number of downloads: 75 )
 Login or Register to download
PMEmail PosterUsers Website
Top
QvasiModo
Quote Post


Just your regular village idiot
******

Group: Moderators
Posts: 462
Member No.: 7
Joined: 13-May 04


Man, I feel really stupid for not thinking of such a simple solution! biggrin.gif

Anyway, I made three copies of the addin with different names, menu items and accelerators and toy with it a bit. It still seems to be failing. sad.gif

Since the concept is perfect there must be a bug somewhere, but I couldn't find it yet. It would be good to polish this up a bit so we can include this routines in the addin template. smile.gif

EDIT: attachment removed. saving some space...
PMEmail Poster
Top
akyprian
Quote Post


Administrator
******

Group: Admins
Posts: 2307
Member No.: 1
Joined: 12-May 04


Before using your three demos:

I had tried a simililar approach before uploading my demo and worked perfectly.


After using your three demos:

In RemoveNewAcceleratorEntry procedure:

.If [EDI].ACCELERATOR.cmd==AX && [EDI].ACCELERATOR.key==VK_F5 && [EDI].ACCELERATOR.fVirt==FVIRTKEY

.i.e you have VK_F5 for all three addins. you should have VK_F5, VK_F6 and VK_F7

Only Qvasimodo can do this!

Cheers,

Antonis
PMEmail PosterUsers Website
Top
QvasiModo
Quote Post


Just your regular village idiot
******

Group: Moderators
Posts: 462
Member No.: 7
Joined: 13-May 04


QUOTE
In RemoveNewAcceleratorEntry procedure:

.If [EDI].ACCELERATOR.cmd==AX && [EDI].ACCELERATOR.key==VK_F5 && [EDI].ACCELERATOR.fVirt==FVIRTKEY

.i.e you have VK_F5 for all three addins. you should have VK_F5, VK_F6 and VK_F7

I thought I had changed all the VK_* stuff, I guess I missed the RemoveNewAcceleratorEntry ones. I knew there had to be a bug somewhere dry.gif
QUOTE
Only Qvasimodo can do this!

I'm beginning to think I'm the village idiot around here! laugh.gif
PMEmail Poster
Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

Topic Options Pages (2) [1] 2  Reply to this topicStart new topicStart Poll

 

Sponsors
Computer Science

Internet
C/C++
Hardware & PC maintenance

HiEditor

General Discussions
Suggestions/Bug Reports
WinAsm Studio

General Discussions
Suggestions/Bug Reports
WinAsm Studio FAQ
Multilingual User Interface
Add-Ins
Assembly Programming

Main
Newbies
Projects
Custom Controls
Snippets
Announcements & Rules

Announcements

General

Online Degrees - Distance Learning
The Heap
Russian
Google