2011-07-04 34 views
0

我使用的是Windows Mobile應用程序..它到底是 Microsoft.WindowsMo​​bile.Samples.CECamera如何在c#應用程序上的showdialog()上自動點擊確定按鈕?

當我抓住一個對話框的形式出現,告訴它成功抓獲,我應該單擊確定的圖像。 在代碼中,它使用這個好點擊繼續保存圖片... 現在我想這個消息停止出現。 或任何其他方法來自動點擊該確定按鈕。

if (DialogResult.OK == cameraCapture.ShowDialog()) 
      { 
       string fileName = cameraCapture.FileName; 

       // If it is a video we rename the file so that it has the user entered 
       // default filename and the correct extension. 
       if (cameraCapture.Mode != CameraCaptureMode.Still) 
       { 
        string extension = fileName.Substring(fileName.LastIndexOf(".")); 
        string directory = ""; 

        if (fileName.LastIndexOf("\\") != -1) 
        { 
         directory = fileName.Substring(0, fileName.LastIndexOf("\\") + 1); 
        } 

        fileName = directory + this.textDefaultFileName.Text + extension; 

        System.IO.File.Move(cameraCapture.FileName, fileName); 
       } 

       // The method completed successfully. 
       MessageBox.Show("The picture or video has been successfully captured and saved to:\n\n" + fileName, 
        this.Text, MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1); 
      } 
     } 
+0

和自動點擊會關閉對話框?經過幾秒鐘? – Bastardo

+0

在任何時間..我只是希望它消失實際上它是無用的..我只會處理盲人,所以他將無法看到這樣的消息,我想刪除它或自動處理它。 – emykindman

回答

0

此解決方案MSGBOX arrearing

  • 只需通過Windows目錄遍歷當我想隱藏捕獲對話框的情況下

    cameraDialog.Dispose(); 
    

    if語句結束後

    if (DialogResult.OK == cameraCapture.ShowDialog()) 
    { 
        //plapla 
    } 
    
    cameraDialog.Dispose(); 
    
  • +0

    我真的不明白爲什麼你甚至要檢查確定按鈕是否被點擊,如果你不在乎它是否被點擊。以及如何調用Dispose方法爲您提供您在自動點擊按鈕或根本不顯示對話方式的問題中所要求的內容。 – grapkulec

    1

    只要刪除從源顯示對話框的行(實際上,它在技術上是兩行)。

    通常,嘗試自動點擊您自己的應用程序中的按鈕是一個非常糟糕的主意。

    +0

    我沒有它默認情況下顯示的來源,當我打電話給cameraCapture方法 – emykindman

    +0

    那麼你發佈的代碼是什麼?因爲似乎有代碼顯示您正在談論的對話框。 – svick

    +0

    該代碼是什麼時候應該發生什麼,當我點擊確定在對話消息,這實際上使用較少..這就是爲什麼我需要使此消息消失..或自動處理..作爲盲人將使用該應用程序,贏得'能夠看到那個味精。 – emykindman

    1

    如果是您的代碼,只需編寫您自己的包含計時器的消息框類;這將是最好的解決方案。

    如果有人其它的代碼顯示消息框,您可以:

    1. 使用Windows Hooks攔截使用EnumWindows
    +0

    你能告訴我怎麼做第一或第二選項。 – emykindman

    +0

    這不是我的代碼,它是默認情況下出現時,我打電話給c#方法cameraCapture() ,我應該按下ok鍵完成進程 – emykindman

    +0

    http://www.codeproject.com/KB/DLL/keyboardhook.aspx,http:///developer-resource.blogspot.com/2008/07/setwindowshookex-example.html - 示例如何使用鉤子。 EnumWindows非常簡單,在這裏你只需要獲取窗口列表;你可以找到你需要的窗口,然後發送WM_CLOSE給它。 –

    相關問題