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

     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 窗体设计器生成的代码
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集成到一起,那时将不分什么了,太恐怖了。。。。。
posted @ 2006-08-01 13:32  pccai  阅读(544)  评论(3编辑  收藏  举报