スリープ抑止VB.NET版
VB.NETに変換してどう変わるか試してみました。
0xは&hに置き換わるんですね。
変換機能を使っただけですが、問題なく起動しました。
Imports System.Collections.Generic Imports System.Drawing Imports System.Windows.Forms Imports System.Runtime.InteropServices Public Partial Class MainForm Inherits Form <FlagsAttribute> _ Public Enum ExecutionState As UInteger ' 関数が失敗した時の戻り値 Null = 0 ' スタンバイを抑止 SystemRequired = 1 ' 画面OFFを抑止 DisplayRequired = 2 ' 効果を永続させる。ほかオプションと併用する。 Continuous = &H80000000UI End Enum <DllImport("kernel32.dll")> _ Private Shared Function SetThreadExecutionState(esFlags As ExecutionState) As ExecutionState End Function <DllImport("user32.dll")> _ Private Shared Function SendInput(nInputs As UInteger, pInputs As INPUT(), cbSize As Integer) As UInteger End Function ' アンマネージ DLL 対応用 struct 記述宣言 <StructLayout(LayoutKind.Sequential)> _ Private Structure INPUT Public type As Integer ' 0 = INPUT_MOUSE(デフォルト), 1 = INPUT_KEYBOARD Public mi As MOUSEINPUT End Structure ' アンマネージ DLL 対応用 struct 記述宣言 <StructLayout(LayoutKind.Sequential)> _ Private Structure MOUSEINPUT Public dx As Integer Public dy As Integer Public mouseData As Integer Public dwFlags As Integer Public time As Integer Public dwExtraInfo As IntPtr End Structure ' dwFlags Const MOUSEEVENTF_MOVED As Integer = &H1 Const MOUSEEVENTF_LEFTDOWN As Integer = &H2' 左ボタン Down Const MOUSEEVENTF_LEFTUP As Integer = &H4' 左ボタン Up Const MOUSEEVENTF_RIGHTDOWN As Integer = &H8' 右ボタン Down Const MOUSEEVENTF_RIGHTUP As Integer = &H10' 右ボタン Up Const MOUSEEVENTF_MIDDLEDOWN As Integer = &H20' 中ボタン Down Const MOUSEEVENTF_MIDDLEUP As Integer = &H40' 中ボタン Up Const MOUSEEVENTF_WHEEL As Integer = &H80 Const MOUSEEVENTF_XDOWN As Integer = &H100 Const MOUSEEVENTF_XUP As Integer = &H200 Const MOUSEEVENTF_ABSOLUTE As Integer = &H8000 Const screen_length As Integer = &H10000' for MOUSEEVENTF_ABSOLUTE (この値は固定) Public Sub New() InitializeComponent() End Sub Private Sub Timer1Tick(sender As Object, e As EventArgs) '画面暗転阻止 SetThreadExecutionState(ExecutionState.DisplayRequired) ' ドラッグ操作の準備 (struct 配列の宣言) Dim input As INPUT() = New INPUT(0) {} ' イベントを格納 ' ドラッグ操作の準備 (イベントの定義 = 相対座標へ移動) input(0).mi.dx = 0 ' 相対座標で0 つまり動かさない input(0).mi.dy = 0 ' 相対座標で0 つまり動かさない input(0).mi.dwFlags = MOUSEEVENTF_MOVED ' ドラッグ操作の実行 (イベントの生成) SendInput(1, input, Marshal.SizeOf(input(0))) End Sub End Class
ディスカッション
コメント一覧
まだ、コメントがありません