日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Asp.net中执行.EXE程序的方法

發布時間:2025/3/14 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.net中执行.EXE程序的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在無意中看到了網頁中執行.exe應用程序的方法:

1、用.NET Framework中的Process類

添加引用using System.Diagnostics;

在按鈕的單擊事件處理程序中填入以下代碼:

protected void Button1_Click(object sender, EventArgs e)
??? {

?????Process pro = new Process();

?????pro.StartInfo.FileName = "c:\\windows\\notepad.exe";

?????//文件名可以省略后綴

?????pro.Start();

}

程序完成。

2、調用win32函數ShellExecute

添加引用using System.Runtime.InteropServices;

聲明函數:

[DllImport("shell32.dll")]

private static extern IntPtr ShellExecute(IntPtr hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, Int32 nShowCmd);

?

在按鈕的單擊事件處理程序中調用前面生明的ShellExecute函數:

protected void Button1_Click(object sender, EventArgs e)
??? {

?????ShellExecute(IntPtr.Zero, "open", "c:\\windows\\notepad.exe", null, null, 1);

?????//文件名可以不加后綴,如"c:\\windows\\notepad"

}

程序完成

注意:在asp.net2.0中運行以上兩種方法寫的程序都可以得到想要的結果。但是在asp.net1.1或更早的版本卻不能得到想要的結果,打開任務管理器甚至可以看到進程已經存在(編譯器也沒有報錯),但就是看不到執行效果,這是微軟為了安全原因禁掉了程序的運行,你需要做以下兩步才能正常運行:

1、在桌面右鍵單擊“我的電腦”,選擇管理,展開“服務和應用程序”節點,選擇“服務”項;從右側的服務列表中找到“IIS Admin”項,右擊鼠標,選擇“屬性”,在屬性框中打開“登陸”頁,勾選“本地系統帳戶”下的“允許與桌面交互”項,點擊確定。重新啟動這項服務。

2、打開目錄“C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG”中的machine.config文件,找到“processModel”項,原來這項中有一個屬性是userName="machine",將machine改為“system”,保存文件,修改完畢。

現在再運行以前的程序可以看到期望的結果。

以上程序在IIS5.0以上可正常運行。

?

如果大家還有其它什么好的辦法,感謝提出~

共同交流、學習~

轉載于:https://www.cnblogs.com/ZHF/archive/2008/11/25/1340477.html

總結

以上是生活随笔為你收集整理的Asp.net中执行.EXE程序的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。