激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#客戶端程序調用外部程序的3種實現方法

C#客戶端程序調用外部程序的3種實現方法

2022-02-22 14:21_AlexYIN C#

這篇文章主要給大家介紹了關于C#客戶端程序調用外部程序的3種實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

簡介

大家都知道,當我們用C#來開發客戶端程序的時候,總會不可避免的需要調用外部程序或者訪問網站,本篇博客介紹了三種調用外部應用的方法,供參考,下面話不多說了,來一起看看詳細的介紹吧。

實現

第一種是利用shell32.dll,實現ShellExecute方法,該方法可同時打開本地程序、文件夾或者訪問網站,只要直接輸入路徑字符串即可, 如C:\Users\Desktop\xx.exe或者https://cn.bing.com/,可以根據返回值判斷是否調用成功 (成功0x00000002a , 失敗0x00000002)

?
1
2
3
4
Window wnd = Window.GetWindow(this); //獲取當前窗口
var wih = new WindowInteropHelper(wnd); //該類支持獲取hWnd
IntPtr hWnd = wih.Handle;    //獲取窗口句柄
var result = ShellExecute(hWnd, "open", "需要打開的路徑如C:\Users\Desktop\xx.exe", null, null, (int)ShowWindowCommands.SW_SHOW);
?
1
2
3
4
5
6
7
8
[DllImport("shell32.dll")]
public static extern IntPtr ShellExecute(IntPtr hwnd, //窗口句柄
 string lpOperation, //指定要進行的操作
 string lpFile,  //要執行的程序、要瀏覽的文件夾或者網址
 string lpParameters, //若lpFile參數是一個可執行程序,則此參數指定命令行參數
 string lpDirectory, //指定默認目錄
 int nShowCmd   //若lpFile參數是一個可執行程序,則此參數指定程序窗口的初始顯示方式(參考如下枚舉)
 );
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public enum ShowWindowCommands : int
{
 SW_HIDE = 0,
 SW_SHOWNORMAL = 1,
 SW_NORMAL = 1,
 SW_SHOWMINIMIZED = 2,
 SW_SHOWMAXIMIZED = 3,
 SW_MAXIMIZE = 3,
 SW_SHOWNOACTIVATE = 4,
 SW_SHOW = 5,  //顯示一個窗口,同時令其進入活動狀態
 SW_MINIMIZE = 6,
 SW_SHOWMINNOACTIVE = 7,
 SW_SHOWNA = 8,
 SW_RESTORE = 9,
 SW_SHOWDEFAULT = 10,
 SW_MAX = 10
}

第二種是利用kernel32.dll,實現WinExec方法,該方法僅能打開本地程序,可以根據返回值判斷是否調用成功(<32表示出現錯誤)

?
1
var result = WinExec(pathStr, (int)ShowWindowCommands.SW_SHOW);
?
1
2
[DllImport("kernel32.dll")]
public static extern int WinExec(string programPath, int operType);

第三種方法是利用Process類,Process類具體應用可以看類的定義,這里只實現它打開文件和訪問網站的用法,(其他使用方法請參考 https://msdn.microsoft.com/en-us/library/system.diagnostics.process(v=vs.110).aspx ),調用失敗會拋出異常

?
1
2
3
4
5
6
/// <devdoc>
/// <para>
///  Provides access to local and remote
///  processes. Enables you to start and stop system processes.
/// </para>
/// </devdoc>

具體實現為

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//調用程序  
 Process process = new Process();
try
 {
  process.StartInfo.UseShellExecute = false;
  process.StartInfo.FileName = pathStr;
  process.StartInfo.CreateNoWindow = true;
  process.Start();
 }
  catch (Exception ex)
 {
  MessageBox.Show(ex.Message);
 }
//訪問網站
try
{
  Process.Start("iexplore.exe", pathStr);
}
  catch (Exception ex)
{
  MessageBox.Show(ex.Message);
}

可以看出來,C#調用外部程序還是比較容易的~    有補充的地方歡迎留言,謝謝

Demo下載:點擊這里

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:http://www.cnblogs.com/y-yp/p/8782641.html

延伸 · 閱讀

精彩推薦
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
主站蜘蛛池模板: 奶子吧naiziba.cc免费午夜片在线观看 | 国产一区二区二 | 久久久久久久免费看 | 色日本视频 | 日日鲁夜夜视频热线播放 | 91羞羞 | 全黄毛片| 成码无人av片在线观看网站 | 欧美 videos粗暴 | 韩国精品一区二区三区四区五区 | 日本一区二区不卡在线观看 | 亚洲精品一区中文字幕 | 国产精品99久久久久久久 | 欧美精品99 | 国产一区二区三区四区五区在线 | 成人做爰高潮片免费视频韩国 | 美女黄污视频 | 国产午夜电影在线观看 | 精品在线视频观看 | 91久久99热青草国产 | 色污视频在线观看 | 蜜桃久久一区二区三区 | 中文欧美日韩 | 91精品国产一区二区三区动漫 | 亚洲午夜不卡 | 久久一区国产 | 欧美a∨亚洲欧美亚洲 | 素人视频在线观看免费 | 性 毛片| 在线观看视频日本 | 九九热免费在线观看 | 99精品无人区乱码在线观看 | 毛片一区二区三区四区 | 欧美高清另类自拍视频在线看 | 免费a级毛片永久免费 | 成人在线视频一区 | 一级国产电影 | 国产精品久久久久久久av三级 | 亚洲欧美日韩综合 | 国产一级二级在线播放 | 牛牛碰在线视频 |