タイトル | : Re^4: Windows 10 におけるデスクトップのハンドル取得 |
記事No | : 11589 |
投稿日 | : 2016/01/14(Thu) 14:33 |
投稿者 | : 花ちゃん |
取得できましたか。
Windows 8.1 や Windows 7 で動作確認をしているコードです。
Imports System.Runtime.InteropServices
Public Class Form1
Private Sub Timer1_Elapsed(sender As Object, e As Timers.ElapsedEventArgs) Handles Timer1.Elapsed TextBox1.Text = Cursor.Position.ToString Dim hDC As IntPtr = GetDC(IntPtr.Zero) Dim col As Color = ColorTranslator.FromWin32(GetPixel(hDC, Cursor.Position.X, Cursor.Position.Y)) Label1.BackColor = col TextBox2.Text = col.ToString ReleaseDC(IntPtr.Zero, hDC) End Sub
<DllImport("gdi32.dll", CharSet:=CharSet.Auto)> Private Shared Function GetPixel( ByVal hdc As IntPtr, ByVal x As Integer, ByVal y As Integer) As Integer End Function
<DllImport("user32.dll", CharSet:=CharSet.Auto)> Private Shared Function GetDC( ByVal hwnd As IntPtr ) As IntPtr End Function
<DllImport("user32.dll", CharSet:=CharSet.Auto)> Private Shared Function ReleaseDC( ByVal hWnd As IntPtr, ByVal hDC As IntPtr ) As Boolean End Function
End Class
一応 Windows 10 上でも Dim hDC As IntPtr = GetDC(IntPtr.Zero) でエラー値ではなくハンドルが 取得はできているのですが?。
|