Sub MAIN Chan = DDEInitiate("KeySwap", "System") ExecuteString$ = "Activate(0)" DDEExecute Chan, ExecuteString$ End Sub This macro will turn WinKeySwap Off - "Activate(0)" To turn WinKeySwap On, The ExecuteString$ should equal "Activate(1)" Sub Main Chan = DDEInitiate("KeySwap", "System") ExecuteString$ = "LoadTable(test.NRB )" DDEExecute Chan, ExecuteString$ End Sub This macro will load mapping table "test.nrb" Note the above macros will not check if WinKeySwap is active or not. The newmacro.doc file lists macros to test if applications are running or not.