2016-10-22 20 views
-1

(God Mode)が実行されているときにアプリケーションの実行中に問題が発生しました...一般的なバグのようです。修正はApplication.DoEvents()をループ内に置くことです...しかし、今は私がGod ModeをオンにするたびにCheckBoxがバグアウトし、クリックされると起動します...プログラムは応答を停止しませんが必要ですプログラムのための2回のクリックであることを視覚的にそれがアクティブだと示していますApplication.DoEvents()CheckBoxバグ(VB)

全コード:

Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged 
    If CheckBox1.Checked = True Then 
     Do 
      Application.DoEvents() 
      WriteDMAInteger("Dishonored", GetModuleHandle("Dishonored", "Dishonored.exe") + &H100C810, {&H344}, 70, 1, 4) 
     Loop Until CheckBox1.Checked = False 
    End If 
End Sub 

任意のアイデアやソリューション?

+4

私はvbaがGodモードを持っているとは思わない。 DemiGodモードを試してください。 – Plutonix

+0

ゲームで神のモードを与えるゲームのハックをプログラムしました – EBLITZR

+0

@Plutonix非常におかしい.../ – EBLITZR

答えて

0

コメントに示されているように、使用しないでくださいApplication.DoEvents()それは価値があるよりも多くのトラブルです。代わりに、タイマーを使用します。

タイマーコントロールをツールボックスからフォームにドラッグします。 Intervalプロパティを適切な値(100 msなど)に設定します。 Tickイベントを追加し、そのイベントでWriteDMAIntegerメソッドを呼び出します。あなたのチェックボックスの変更イベントでは、単純にタイマーを有効または無効:100ミリ秒に設定されたタイマの間隔で

Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged 
    'Enables the time if the checkbox is checked 
    Timer1.Enabled = CheckBox1.Checked 
End Sub 

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick 
    WriteDMAInteger("Dishonored", GetModuleHandle("Dishonored", "Dishonored.exe") + &H100C810, {&H344}, 70, 1, 4) 
End Sub 

WriteDMAInteger方法は、毎秒10回呼び出されます。インターバルで100より小さい値で試すことができますが、制限は約50msになります。