tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^4: Windows 10 におけるデスクトップのハンドル取得
投稿日: 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) でエラー値ではなくハンドルが
取得はできているのですが?。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。