| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3531 人关注过本帖
标题:无法在 DLL“gdi32”中找到名为“SetBKMode”的入口点
取消只看楼主 加入收藏
feipu2211
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-10-6
结帖率:0
收藏
已结贴  问题点数:0 回复次数:1 
无法在 DLL“gdi32”中找到名为“SetBKMode”的入口点
书上的一个例子,我照着输入程序,运行时出现“无法在 DLL“gdi32”中找到名为“SetBKMode”的入口点”
请问是什么原因啊?
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
namespace circlewindow
{
   
    public partial class Form1 : Form
    {
        [System.Runtime.InteropServices.DllImport("gdi32")]
        private static extern IntPtr BeginPath(IntPtr hdc);
        [System.Runtime.InteropServices.DllImport("gdi32")]
        private static extern int SetBKMode(IntPtr hdc, int nBKMode);
        const int TRSPARENT = 1;
        [System.Runtime.InteropServices.DllImport("gdi32")]
        private static extern IntPtr EndPath(IntPtr hdc);
        [System.Runtime.InteropServices.DllImport("gdi32")]
        private static extern IntPtr PathToRegion(IntPtr hdc);
        [System.Runtime.InteropServices.DllImport("gdi32")]
        private static extern int Ellipse(IntPtr hdc, int x1, int y1, int x2, int y2);
        [System.Runtime.InteropServices.DllImport("user32")]
        private static extern IntPtr SetWindowRgn(IntPtr hdc, IntPtr hRgn, bool bRedraw);
        [System.Runtime.InteropServices.DllImport("user32")]
        private static extern IntPtr GetDC(IntPtr hWnd);
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            IntPtr dc;
            IntPtr region;
            dc = GetDC(this.Handle);
            BeginPath(dc);
            SetBKMode(dc, (int)TRSPARENT);
            Ellipse(dc, 20, 20, 220, 220);
            EndPath(dc);
            region = PathToRegion(dc);
            SetWindowRgn(this.Handle, region, true);
        }
    }
}
搜索更多相关主题的帖子: private public class using 
2011-10-23 22:10
feipu2211
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-10-6
收藏
得分:0 
问题解决了,DllImport("gdi32")变为DllImport("gdi32",EntryImport="BeginPath")就行了。
2011-10-31 12:45
快速回复:无法在 DLL“gdi32”中找到名为“SetBKMode”的入口点
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013763 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved