プロが教える店舗&オフィスのセキュリティ対策術

このジャンルでお願いします。
Microsoft Visual Studio Community 2022 (64 ビット) - Current Version 17.5.4
のC#でPC画面を録画するプログラムを作りたいのですが、

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using AForge.Video.FFMPEG;

namespace SreenRecord
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

VideoFileWriter writer = new VideoFileWriter();
writer.Close();
}
}
}

を実行すると、
「ファイルまたはアセンブリ 'AForge.Video.FFMPEG.dll'、またはその依存関係の 1 つが読み込めませんでした。指定されたモジュールが見つかりません。」
というエラーがでます。
ちゃんと実行フォルダ?Debugに「AForge.Video.FFMPEG.dll」などのライブラリは入っているのですが、
なぜこのようなエラーがでるのでしょうか?

「PC画面を録画するプログラムでdllの読」の質問画像

A 回答 (1件)

64ビットと32ビットの違いなんじゃないかな。



64ビットのプログラムでは32ビットのDLLを扱えるけど、32ビットのプログラムでは64ビットのDLLは扱えず間違って読み込むとエラーになります。

……そんなわけで実行しているプログラムの環境(WOWを使った32ビットか、そのままの64ビットか)を確認したうえで対象のダイナミックリンクライブラリの対応ビット数をチェックしてみてください。

・・・
パスが通っていないとか、スペルミス…‥なんて基本的なことは考慮していません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
どうも上手くいかず、海外のサイトを調べてみたら
どうやらAForge.Video.FFMPEGは非推奨らしいです・・・
そこでAccord.Video.FFMPEGをインストールして書き換えたらコンパイルを通りました。
また質問させていただくかもしれませんが、よろしくお願いいたします。

お礼日時:2023/04/22 12:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!