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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

VC调用外部程序接口

發布時間:2025/4/14 c/c++ 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VC调用外部程序接口 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(1) system()

  函數名: system
  功 能: 發出一個DOS命令

  用 法: int system(char *command);

  備 注: system函數已經被收錄在標準c庫中,可以直接調用

  返回值
    =-1:出現錯誤
    =0:調用成功但是沒有出現子進程
    >0:成功退出的子進程的id

  樣例: system("D:\\game.exe");

?

(2) WinExec()

  函數原型:

    UINT WINAPI WinExec(
      ? __in????????? LPCSTR lpCmdLine,
      ? __in????????? UINT uCmdShow);
  參數說明:
    lpCmdLine,  // 命令路徑

    uCmdShow,  // 顯示方式,共有11種,具體可以查閱MSDN的ShowWindow函數

  返回值:

    成功,返回值大于31

    返回0表示內存或者資源溢出

    返回ERROR_BAD_FORMAT表示exe文件非法或者已損壞。

    返回ERROR_FILE_NOT_FOUND指定的文件沒有找到。

    返回ERROR_PATH_NOT_FOUND找不到指定路徑

  樣例:

    WinExec("Notepad.exe", SW_SHOW); // 打開記事本

    WinExec("D:\\Program Files\\Test\\Test.exe",SW_SHOWMAXIMIZED); // 以最大化的方式打開Test.exe(注意文件名的大小寫也必須完全一樣)

?

(3) ShellExecute()

  函數原型:   

????   HINSTANCE ShellExecute(

??????????     HWND hwnd,???????????   //父窗口句柄

????       LPCTSTR lpOperation,???? //操作, 打開方式"edit","explore","open","find","print","NULL"

????       LPCTSTR lpFile,????????   //文件名,前面可加路徑

????       LPCTSTR lpParameters,?? //參數

????       LPCTSTR lpDirectory, ????? //默認文件夾

????       INT nShowCmd??????????   //顯示方式

       );

  用例: ShellExecute(NULL,"open","C:\\Test.txt",NULL,NULL,SW_SHOWNORMAL); // 打開C:\Test.txt 文件        

?

(4) CreateProcess() 

?  函數原型:

????   BOOL CreateProcess(

????????    LPCTSTR lpApplicationName, //執行程序名

?????    LPTSTR lpCommandLine, // 參數行

??????     //下面兩個參數描述了所創建的進程和線程的安全屬性,如果為NULL則使用默認的安全屬性

?????     LPSECURITY_ATTRIBUTES lpProcessAttributes, //進程安全屬性

????      LPSECURITY_ATTRIBUTES lpThreadAttributes, ?? // 線程安全屬性

??????     BOOL bInheritHandles, // 繼承標志

??????   ??DWORD dwCreationFlags, // 創建標志

??????    LPVOID lpEnvironment, // 環境變量

??????    LPCTSTR lpCurrentDirectory,?? // 運行該進程的初始目錄

??????    LPSTARTUPINFO lpStartupInfo, // 用于在創建子進程時設置各種屬性

??????    LPPROCESS_INFORMATION lpProcessInformation //用于在進程創建后接受相關信息

???     );

?

評論:

  system(),主要用在DOS環境下.

?

  WinExec(),簡單實用,方便打開執行進程,但不能操作控制進程。

?

  ShellExecute(),增強了操作能力,但對進程的控制還是不夠用。

?

  CreateProcess(),目前最強勁的進程函數,通過設置StartupInfo結構體參數,來設置子進程的屬性,

           子進程創建后的信息也保存在ProcessInformation結構體中,便于操作,功能強大,但參數過多.

?


?

?

    

?

?

轉載于:https://www.cnblogs.com/xiehy/archive/2010/07/16/1778949.html

總結

以上是生活随笔為你收集整理的VC调用外部程序接口的全部內容,希望文章能夠幫你解決所遇到的問題。

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