P/Invoke能够在asp.net 中使用哦,是的,você tem alguns arquivos de teste. 1
2
3usando Sistema;
4usando System.Collections;
5usando System.ComponentModel;
6usando System.Data;
7usando System.Drawing;
8usando System.Web;
9usando System.Web.SessionState;
10usando System.Web.UI;
11usando System.Web.UI.WebControls;
12usando System.Web.UI.HtmlControls;
13
14usando System.Runtime.InteropServices;
15usando System.Windows.Forms;
16
17namespace Test_MyService
18{
19 /**//// <resumo>
20 /// WebForm1 的摘要说明。
21 /// </summary>
22 classe pública WebForm1: System.Web.UI.Page
23 {
24 System.Web.UI.WebControls.TextBox TextBox1 protegido;
25 System.Web.UI.WebControls.Label Label1 protegido;
26 System.Web.UI.WebControls.Button protegido Button1;
27 System.Web.UI.WebControls.TextBox TextBox2 protegido;
28 System.Web.UI.WebControls.TextBox txtQ protegido;
29 System.Web.UI.WebControls.TextBox txtD protegido;
30
31 localhost.ServiceTest meuserviço = new Test_MyService.localhost.ServiceTest();
32
33 private void Page_Load (remetente do objeto, 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, tipo int);
42
43 [DllImport("user32.dll", CharSet=CharSet.Ansi)]
44 public static extern Boolean MessageBeep(UInt32 beepType);
45
46 [DllImport("Kernel32.dll", SetLastError=true)]
47 Beep booleano externo estático (frequência UInt32, duração UInt32);
48
49
50 Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
51 substituição void protegida OnInit(EventArgs e)
52 {
53 //
54 // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
55 //
56 InicializarComponent();
57base.OnInit(e);
58}
59
60 /**//// <resumo>
61 /// 设计器支持所需的方法 - 不要使用代码编辑器修改
62 /// 此方法的内容。
63 /// </summary>
64 privado vazio InitializeComponent()
65 {
66 this.Button1.Click += new System.EventHandler(this.Button1_Click);
67 this.Load += new System.EventHandler(this.Page_Load);
68
69}
70 #regiãofinal
71
72 private void Button1_Click (remetente do objeto, System.EventArgs e)
73 {
74 this.TextBox2.Text = meuserviço.Who(this.TextBox1.Text);
75
76// string pText = "Olá Mundo!";
77 // string pCaption = "Teste PInvoke";
78// MessageBox(0, pText, pCaption, 0);
79
80 //MensagemBeep(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集成到一起,那时将不分什么了,太恐怖了。