小编Jam*_*mes的帖子

没有从Java Access Bridge接收回调

我正在尝试使用Java Access Bridge从C++应用程序中获取有关Swing组件的信息.但是,我注册的回调都没有被调用.我尝试在每个句柄上调用windows然后调用IsJavaWindow(),但它总是返回false.为什么它显然不起作用的任何想法?

我认为这是我的应用程序而不是桥接安装的问题,因为演示的Monkey和Ferret程序工作,initializeAccessBridge()返回true,调试器显示WindowsAccessBridge dll已加载.

我在Windows Vista上使用Java 6,更新13,我认为访问桥的版本2.0.1.

JavaAccess::JavaAccess(void)
{
   using namespace std;

   BOOL isInitialized = initializeAccessBridge();
   if(isInitialized)
   {
      cout << "Bridge Initialized!" << endl;
   }
   else
   {
      cout << "Initialization failed!" << endl;
      return;
   }

   EnumWindows((WNDENUMPROC)EnumWndProc, NULL);

   SetJavaShutdown(OnJavaShutdown);
   SetFocusGained(OnFocusGained);
   SetMouseClicked(OnMouseClicked);
}

JavaAccess::~JavaAccess(void)
{
   shutdownAccessBridge();
}

void JavaAccess::OnJavaShutdown( long vmID )
{
   using namespace std;
   cout << "Java shutdown!" << endl;
}

void JavaAccess::OnFocusGained( long vmID, FocusEvent event, AccessibleContext context )
{
   using namespace std;
   cout << "Focus Gained!" << …
Run Code Online (Sandbox Code Playgroud)

c++ java accessibility java-access-bridge

7
推荐指数
1
解决办法
5351
查看次数

标签 统计

accessibility ×1

c++ ×1

java ×1

java-access-bridge ×1