2011-07-04 10 views
0

私はダイアログフォームは、それが正常にキャプチャさだと私は[OK]をクリックする必要があります伝えるために表示されるイメージをキャプチャする場合、正確には Microsoft.WindowsMo​​bile.Samples.CECameraC#アプリケーションのshowdialog()で自動クリックOKボタンを作る方法は?

だ...のWindows Mobileアプリケーションを使用しています。 コードでは、このokをクリックして画像の保存を続行します... このメッセージの表示を停止します。 またはそのOKボタンを自動的にクリックする方法。

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

このためのソリューションを使用して、Windowsのリストを反復しますキャプチャダイアログを非表示にしたい場合は

cameraDialog.Dispose(); 

if文の終了後

if (DialogResult.OK == cameraCapture.ShowDialog()) 
{ 
    //plapla 
} 

cameraDialog.Dispose(); 
+0

クリックしたかどうか気にしなければ、OKボタンがクリックされたかどうかをチェックする理由が分かりません。どのようにDisposeメソッドを呼び出すと、ボタンを自動クリックするのか、ダイアログを全く表示しないのか、あなたが質問した内容がどのように表示されるのでしょうか。 – grapkulec

1

ソースからダイアログを表示する行(実際は技術的には2行)を削除するだけです。

一般に、自分のアプリケーションで自動的にボタンをクリックしようとするのは本当に悪い考えです。

+0

私はcameraCaptureメソッド – emykindman

+0

を呼び出すと、デフォルトで表示されているソースがありません投稿したコードは何ですか?あなたが話しているダイアログを表示するコードがあるようです。 – svick

+0

コードは、私がダイアログメッセージmsgをクリックして実際に以下を使用しているときに起こるはずのものです。なぜなら、私はこのメッセージを消すために必要な理由です...または自動的に対処される必要があります...ブラインドがアプリケーションを使用し、そのmsgを見ることができます。 – emykindman

1

あなたのコードの場合は、タイマーを含む独自のメッセージボックスクラスを作成してください。それは最高の解決策になるでしょう。

メッセージボックスが誰かの他のコードで表示されている場合は、することができます:

  1. 使用Windows Hooks
  2. をarrearingのMsgBoxを傍受するためには、ちょうどEnumWindows
+0

あなたは第1または第2オプションでそれを行う方法を教えてくださいできますか? – emykindman

+0

私はC#メソッドを呼び出すとデフォルトで表示されます。cameraCapture() と私はokを押してください。oプロセスを完了してください。 – emykindman

+0

http://www.codeproject.com/KB/DLL/keyboardhook.aspx、http:///developer-resource.blogspot.com/2008/07/setwindowshookex-example.html - フックを使用する方法のサンプル。 EnumWindowsの方がはるかに単純です。ここではウィンドウのリストを取得できます。必要なウィンドウを見つけてWM_CLOSEを送信することができます。 –

関連する問題