·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> P/Invoke能够在asp.net中使用

P/Invoke能够在asp.net中使用

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

     P/Invoke能够在asp.net 中使用哦,是的,今天have some try le.  1
 2
 3using System;
 4using System.Collections;
 5using System.ComponentModel;
 6using System.Data;
 7using System.Drawing;
 8using System.Web;
 9using System.Web.sessionState;
10using System.Web.UI;
11using System.Web.UI.WebControls;
12using System.Web.UI.HtmlControls;
13
14using System.Runtime.InteropServices;
15using System.Windows.Forms;
16
17namespace Test_MyService
18{
19    /**//// <summary>
20    /// WebForm1 的摘要说明。
21    /// </summary>
22    public class WebForm1 : System.Web.UI.Page
23    {
24        PRotected System.Web.UI.WebControls.TextBox TextBox1;
25        protected System.Web.UI.WebControls.Label Label1;
26        protected System.Web.UI.WebControls.Button Button1;
27        protected System.Web.UI.WebControls.TextBox TextBox2;
28        protected System.Web.UI.WebControls.TextBox txtQ;
29        protected System.Web.UI.WebControls.TextBox txtD;
30
31        localhost.ServiceTest myservice = new Test_MyService.localhost.ServiceTest();
32   
33        private void Page_Load(object sender, System.EventArgs e)
34        {
35            // 在此处放置用户代码以初始化页面
36
37        }
38
39        [DllImport("user32.dll", CharSet=CharSet.Ansi)]
40        public static extern int MessageBox(int h, string m,
41            string c, int type);
42
43        [DllImport("user32.dll", CharSet=CharSet.Ansi)]
44        public static extern Boolean MessageBeep(UInt32 beepType);
45
46        [DllImport("Kernel32.dll", SetLastError=true)]
47        static extern Boolean Beep(UInt32 frequency, UInt32 duration);
48
49
50        Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
51        override protected void OnInit(EventArgs e)
52        {
53            //
54            // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
55            //
56            InitializeComponent();
57            base.OnInit(e);
58        }
59       
60        /**//// <summary>
61        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
62        /// 此方法的内容。
63        /// </summary>
64        private void InitializeComponent()
65        {   
66            this.Button1.Click += new System.EventHandler(this.Button1_Click);
67            this.Load += new System.EventHandler(this.Page_Load);
68
69        }
70        #endregion
71
72        private void Button1_Click(object sender, System.EventArgs e)
73        {
74            this.TextBox2.Text = myservice.Who(this.TextBox1.Text);
75
76//            string pText = "Hello World!";
77//            string pCaption = "PInvoke Test";
78//            MessageBox(0, pText, pCaption, 0);
79
80            //MessageBeep(0x00000010);
81            Beep(Convert.ToUInt32(txtQ.Text),Convert.ToUInt32(txtD.Text));
82
83        }
84    }
85}
86   其中MessageBox.Show(...)执行时就不动了,内部机理也不名所以,若是能够SHOW的话,那岂不是不用ACTIVEX了吗,一己之见而已了。根据理论是不行的,在。NET3.0(WinFX)可以将Win&Web集成到一起,那时将不分什么了,太恐怖了。