そのため、同じ問題を抱えているが答えがない人がたくさんいます。私のSendMessageは、1台のカメラを搭載したWindows7ラップトップの[ビデオソース]ダイアログボックスをポップアップします。CyberLinkYouCamをインストールしています。
Cyber Link YouCamをアンインストールすると、[ビデオソース]ダイアログが消えます。YouCamが同じデバイスの2番目のドライバーであるかのようにOSが動作しているようです。私の質問は、「ビデオソース」のダイアログボックスが表示されないようにするにはどうすればよいですか?ダイアログでオプションを選択すると、(アプリケーションを再起動するまで)ダイアログボックスが表示されないため、どこかに設定が設定されている必要があります。
デバッグで見つかったコードのこのビット(以下のセクション全体を参照)は、ダイアログボックスを呼び出すもののようです-SendMessage(deviceHandle、WM_CAP_CONNECT、deviceno、((IntPtr)0).ToInt32())
public void StartWebCam (int height, int width, int handleofthepicturebox, int deviceno)
{
string deviceIndex = "" + deviceno;
deviceHandle = capCreateCaptureWindowA (ref deviceIndex, WS_VISIBLE | WS_CHILD, 0, 0, width, height, handleofthepicturebox, 0);
if (SendMessage (deviceHandle, WM_CAP_CONNECT, deviceno, ((IntPtr) 0).ToInt32 ()) > 0)
{
SendMessage (deviceHandle, WM_CAP_SET_SCALE, -1, 0);
SendMessage (deviceHandle, WM_CAP_SET_PREVIEWRATE, 0x42, 0);
SendMessage (deviceHandle, WM_CAP_SET_PREVIEW, -1, 0);
}
else
{
// nothing failed maybe some clean up needed
}
}
繰り返しになりますが、「ビデオソース」のダイアログボックスが表示されないようにするにはどうすればよいですか。