代码之家  ›  专栏  ›  技术社区  ›  mabuzer

显示图像采集的设备接口

  •  2
  • mabuzer  · 技术社区  · 15 年前

    我正在使用twain 2.1连接到扫描仪,让用户更改任何选项,并等待输入,每当扫描仪界面显示问题时,光标仍会指示某些循环或工作,这是以下代码:

    
        HWND g_hwnd = CreateWindow ("STATIC",
                              "",
                              WS_POPUPWINDOW,
                              CW_USEDEFAULT,
                              CW_USEDEFAULT,
                              CW_USEDEFAULT,
                              CW_USEDEFAULT,
                              HWND_DESKTOP,
                              0,
                              g_hinstDLL,
                              0);
    
       TW_USERINTERFACE ui;
       ui.ShowUI = TRUE;
       ui.ModalUI = TRUE;
       ui.hParent = g_hwnd;
       // g_pDSM_Entry -> 
       int code = (*g_pDSM_Entry) (&g_AppID,
                               &g_SrcID,
                               DG_CONTROL,
                               DAT_USERINTERFACE,
                               MSG_ENABLEDSUIONLY,
                               (TW_MEMREF) &ui);
    
       if(TWRC_SUCCESS != code) {
           return;
       }
       MSG msg;
       while(GetMessage ((LPMSG) &msg, g_hwnd, 0, 0)){
           // TO-DO
       }
    

    如何等待用户输入?对话框也不会出现,只是白色窗口?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Lou Franco    15 年前

    你考虑过以斯吐温吗?它是免费的,而且很容易使用

    http://www.dosadi.com/eztwain1.htm

    在您的案例中,我认为问题在于没有实现 // TO-DO . Twain使用消息循环进行通信,Windows也使用消息循环(例如,绘制对话框)。

    我假设您的循环实际上在做更多的事情,但是如果没有,您需要允许消息被抽取。