.NET

Reply
Active Contributor
Fredrik.Larsen
Posts: 46
Registered: ‎11-28-2012
Message 1 of 5 (326 Views)
Accepted Solution

Listen for escape pressed

326 Views, 4 Replies
01-04-2013 02:57 AM

Hi

Is there a way to add a listener so I am told when escape(cancel command) is pressed? I want to create a cancel pressed event.

Moderator
Alexander.Rivilis
Posts: 1,398
Registered: ‎04-09-2008
Message 2 of 5 (303 Views)

Re: Listen for escape pressed

01-04-2013 08:24 AM in reply to: Fredrik.Larsen

This way can help you:

How to implement a Windows Hook using acedRegisterFilterWinMsg in .NET

In WindowHookProc event handler you can check msg.Msg == WM_KEYDOWN (0x0100)  and msg.WParam == VK_ESCAPE (0x1B)


Пожалуйста не забывайте про Утвердить в качестве решения! Утвердить в качестве решения и Give Kudos!Баллы
Please remember to Accept Solution! Accept as Solution and Give Kudos!Kudos

Active Contributor
Fredrik.Larsen
Posts: 46
Registered: ‎11-28-2012
Message 3 of 5 (256 Views)

Re: Listen for escape pressed

01-07-2013 12:58 AM in reply to: Alexander.Rivilis

Thanks, that seems to work, but how do you unregister the listener? When escape is pressed I want to do something and then unregister the listener.

Moderator
Alexander.Rivilis
Posts: 1,398
Registered: ‎04-09-2008
Message 4 of 5 (245 Views)

Re: Listen for escape pressed

01-07-2013 02:36 AM in reply to: Fredrik.Larsen

In order to unregister this event handler use function acedRemoveFilterWinMsg:

BOOL acedRemoveFilterWinMsg(
    const AcedFilterWinMsgFn pfn
);

In C# it is look like:

// For AutoCAD 2013 64 bit
// On previous versions, import from acad.exe (instead accore.dll)
[DllImport("accore.dll",  CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl, EntryPoint = "?acedRemoveFilterWinMsg@@YAHQ6AHPEAUtagMSG@@@Z@Z")]
private static extern int acedRemoveFilterWinMsg( WindowHookProc callBackFunc );

 


Пожалуйста не забывайте про Утвердить в качестве решения! Утвердить в качестве решения и Give Kudos!Баллы
Please remember to Accept Solution! Accept as Solution and Give Kudos!Kudos

Active Contributor
Fredrik.Larsen
Posts: 46
Registered: ‎11-28-2012
Message 5 of 5 (239 Views)

Re: Listen for escape pressed

01-07-2013 03:11 AM in reply to: Alexander.Rivilis

Thank you very much.

 

You are not logged in.

Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register

Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.

Need installation help?

Start with some of our most frequented solutions to get help installing your software.

Ask the Community