>  기사  >  백엔드 개발  >  스크린샷에 마우스 포인터 모양이 포함된 C# 개발 예제 맞춤형 스크린샷 도구(10)

스크린샷에 마우스 포인터 모양이 포함된 C# 개발 예제 맞춤형 스크린샷 도구(10)

黄舟
黄舟원래의
2017-03-14 13:41:472174검색

도움말 작성 시 캡쳐한 그림에도 마우스 포인터 모양이 있으면 좀 더 직관적이고 친근해 보일 것입니다. 다음으로 스크린샷에 마우스 포인터 모양을 포함시키는 방법에 대해 알아보겠습니다.

구조 추가 CURSORINFO:

[StructLayout(LayoutKind.Sequential)]
        struct CURSORINFO
        {
            public int cbSize;
            public int flags;
            public IntPtr hCursor;
            public Point ptScreenPos;
        }

API 선언:

        [DllImport("user32.dll")]
        static extern bool GetCursorInfo(out CURSORINFO pci);

열거 값 정의:

private const int CURSOR_SHOWING = 0x00000001;

메서드 추가:

        /// <summary>
        /// 将鼠标指针形状绘制到屏幕截图上
        /// </summary>
        /// <param name="g"></param>
        private void DrawCursorImageToScreenImage(ref Graphics g)
        {
            if (!this.IsCutCursor) { return; }

            CURSORINFO vCurosrInfo;
            vCurosrInfo.cbSize = Marshal.SizeOf(typeof(CURSORINFO));
            GetCursorInfo(out vCurosrInfo);
            if ((vCurosrInfo.flags & CURSOR_SHOWING) != CURSOR_SHOWING) return;
            Cursor vCursor = new Cursor(vCurosrInfo.hCursor);
            Rectangle vRectangle = new Rectangle(new Point(vCurosrInfo.ptScreenPos.X - vCursor.HotSpot.X, 
            vCurosrInfo.ptScreenPos.Y - vCursor.HotSpot.Y), vCursor.Size);

            vCursor.Draw(g, vRectangle);
        }

메서드 호출 추가:

좋아, 스크린샷을 찍어서 살펴보세요!


위 내용은 스크린샷에 마우스 포인터 모양이 포함된 C# 개발 예제 맞춤형 스크린샷 도구(10)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.