2011-06-27 29 views
0

私のプログラム内でサムネイルプレビューを作成しようとしています。これらは画像だけでなく、どんなファイルタイプでも動作します。ビデオもそうです。今はIExtractImageを使ってこれを行っています。完璧に動作しますが、.Extract()を呼び出すとランダムにプログラムがクラッシュするようです。エラーメッセージはありません。プログラムがクラッシュするだけです。デバッガで実行すると、クラッシュ時にブレークしません。私は試しにそれを持っている/ブロックをキャッチし、それは助けていないようです。再現性がなく、毎回同じファイルでクラッシュすることはありません。どうすればそれを働かせることができますか、それとも私のプログラム全体がクラッシュするのを防ぐことができますか?VB.NETでサムネイルプレビューを作成する

私は、このプロジェクトからコードを使用しています:あなたがデバッグモードでアプリケーションを実行する場合、try/catchブロックの外にそれを取るので

http://www.vbaccelerator.com/home/net/code/libraries/shell_projects/Thumbnail_Extraction/article.asp

答えて

0

を、あなたはまったくエラーを取得していませんか?アプリケーションがクラッシュするとどうなるのですか?例外メッセージはありますか?あなたがまだ例外を全く得ていないなら、私はそれをどうするか分からない。私は、それがスローされていないか、正しくバブリングされた管理されていないWindowsコードの例外と関係があると推測しています。

参照した投稿のシェルコードを使用する代わりに、画像用の.NETフレームワークのImage.GetThumbnail(非常に簡単)を使用して、サポートされているビデオタイプのサムネイルを取得するダイレクトショーを呼び出すことができます。

画像:

// create an image object, using the filename of the file 
    System.Drawing.Image image = System.Drawing.Image.FromFile(filename); 

// create the actual thumbnail image 
    System.Drawing.Image thumbnailImage = image.GetThumbnailImage(64, 64, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero); 

    public bool ThumbnailCallback() 
    { 
     return true; 
    } 

ビデオ:

でポストをチェックしてください: Video Thumbnail Creator

+0

私は、コードを強化し、抽出機能にクラッシュを知っているが、なぜそれが全体をクラッシュありませんプログラムを実行して例外をスローしないでください。それがクラッシュするのを防ぐ方法はありますか?これまでのところ私が見つけた最高のソリューションです。 Direct ShowはXPではサポートされていないようですが、とにかく推奨されなくなるので、私はむしろそれを使用しません。 – user817759

関連する問題