スリープ抑止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
ディスカッション
コメント一覧
まだ、コメントがありません