Hallo,
ich wollte gerne Screenshots über DirectX erstellen.
Testweise wollte ich, dass alle 5 Sekunden ein Screen erstellt wird. Dieser wird dann in einer BMP-Datei gespeichert.
Der Code sieht wie folgt aus:
Zitat: |
PresentParameters presParam = new PresentParameters();
presParam.Windowed = true;
presParam.SwapEffect = SwapEffect.Discard;
Device device = new Device(0, DeviceType.Hardware, this, CreateFlags.SoftwareVertexProcessing, presParam);
DisplayMode dm = device.DisplayMode;
i = i + 1;
Surface mScreen = device.CreateOffscreenPlainSurface(dm.Width, dm.Height, Format.A8R8G8B8, Pool.Scratch);
device.GetFrontBufferData(0, mScreen);
SurfaceLoader.Save("C:\\Bild" + i.ToString() + ".bmp", ImageFileFormat.Bmp, mScreen);
mScreen.Dispose(); |
Bei mir auf dem Rechner klappt auch alles wunderbar. Dann wollte ich dies Programm unter Visual Studio veröffentlichen (Menü Erstellen/... veröffentlichen) und auf einen anderen Rechner installieren.
Nach der Installation, also beim Programmstart, kommt ein Ausnahmefehler.
Die Meldung ist leider sehr dürftig denn es steht nur: "Unbehandelter Ausnahmefehler in der Anwendung"
Unter Detail erscheint dann die Meldung:
************** Ausnahmetext **************
System.IO.FileNotFoundException: Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E)
bei AppScreenshot.Form1.timer1_Tick_1(Object sender, EventArgs e)
bei System.Windows.Forms.Timer.OnTick(EventArgs e)
bei System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Leider komm ich da nicht weiter.
Diese Fehlermeldung kommt an folgende Stelle im Code:
Zitat: |
SurfaceLoader.Save("C:\\Bild" + i.ToString() + ".bmp", ImageFileFormat.Bmp, mScreen);
|
Ich bitte da um Hilfe
Gruß
Michi