Hallo Leute =)
Ich habe ein Problem, unzwar komme ich an der Stelle nicht weiter, wo ich einen Screenshot erstellen will.
Er kompiliert den Code auch, aber sobald ich Button1 drücke, kommt ein .NET Framework 2.0 Fehler:
Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.
************** Ausnahmetext **************
System.NullReferenceException: Die Objektvariable oder die With-Blockvariable _
wurde nicht festgelegt.
bei Microsoft.VisualBasic.CompilerServices.Symbols.Container..ctor(Object _
Instance)
bei Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateCall(Object _
Instance, Type Type, String MemberName, Object[] Arguments, String[] _
ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, Boolean _
IgnoreReturn)
bei ScreenShotR.Main.DoSnapshot(Boolean bActiveWindow, String sFile) in _
D:VBScreenShot_RMain.vb:Zeile 26.
bei ScreenShotR.Main.Button1_Click(Object sender, EventArgs e) in _
D:VBScreenShot_RMain.vb:Zeile 31.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, _
Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
bei System.Windows.Forms.Button.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, _
IntPtr wparam, IntPtr lparam)
[gekürzt]
************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms _
festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.
Zum Beispiel:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt. Hier mal der Code für den Screen:
Option Explicit On
Public Class Main
Private Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Dim Bmp As Object
Dim Clip As IDataObject = Clipboard.GetDataObject()
Private Sub DoSnapshot(Optional ByVal bActiveWindow As Boolean = False, _
Optional ByVal sFile As String = "")
Const KEYEVENTF_KEYUP = &H2
Const VK_MENU = &H12
Const VK_SNAPSHOT = &H2C
' Screenshot erstellen ...
If bActiveWindow Then keybd_event(VK_MENU, 0, 0, 0) ' ALT-Taste
keybd_event(VK_SNAPSHOT, 0, 0, 0) ' Druck-Taste
keybd_event(VK_SNAPSHOT, 0, KEYEVENTF_KEYUP, 0)
If bActiveWindow Then keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0)
' ... und als Bild speichern
If sFile <> "" Then
Bmp.Save(Clip.GetData(DataFormats.Bitmap), sFile)
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Button1.Click
DoSnapshot(False, "D:HilfeRolf,bmp")
'MsgBox("
End Sub
End Class Danke an alle, die antworten =)
MfG Chris
PS: Habe noch eine Frage: Ich habe das kostenlose Visual Basic 2005 Express von Microsoft gesaugt. Wenn ich nun bei Google nach was suchen will, un z.B. nach VB 2005 SUCHTEXT Suche findet er nichts, und ohne 2005 immer nur VB6. BTW: Ist das Forum hier richtig? Weil ich VB05 hier nirgends gefunden habe. |