windows呼叫另外一個EXE程式,WinExec+Cmd+BAT
首先說一下:WinExec的函式原型:
UINT Win Exec(LPCSTR lpCmdLine, UINT uCmdShow);
引數:
lpCmdLine:指向一個空結束的字串,串中包含將要執行的應用程式的命令列。
uCmdShow:定義Windows應用程式的視窗如何顯示,併為CreateProcess函式提供STARTUPINFO引數的wShowWindow成員的值。
⑶ 返回值:
若函式呼叫成功,則返回值大於31。若函式呼叫失敗,則返回值為下列之一:
① 0:系統記憶體或資源已耗盡。
② ERROR_BAD_FORMAT:EXE檔案無效(非Win32.EXE或.EXE影像錯誤)。
③ ERROR_FILE_NOT_FOUND:指定的檔案未找到。
④ ERROR_PATH_NOT_FOUND:指定的路徑未找到。
大於 31 {呼叫成功}
等於 0 {記憶體不足}
ERROR_FILE_NOT_FOUND = 2; {檔名錯誤}
ERROR_PATH_NOT_FOUND = 3; {路徑名錯誤}
ERROR_BAD_FORMAT = 11; {EXE 檔案無效}
//uCmdShow 引數可選值常用就兩個:
SW_HIDE = 0; {隱藏}
SW_SHOW = 5; 顯示
其次,CMD命令:
/K 執行字串指定的命令但保留
/Q 關閉回顯
/D 禁止從登錄檔執行 AutoRun 命令(見下)
/A 使向管道或檔案的內部命令輸出成為 ANSI
/U 使向管道或檔案的內部命令輸出成為
/C 執行字串指定的命令然後終止
/S 修改 /C 或 /K 之後的字串處理
例項:
string cmdstr;
cmdstr += "cmd.exe /c mysql.exe -u";
cmdstr += uName;
cmdstr += " -p";
cmdstr += pw;
cmdstr += " -h";
cmdstr += host;
cmdstr += " ";
cmdstr += database;
cmdstr += " < ";
cmdstr += path;
if (WinExec(cmdstr.c_str(), SW_HIDE) < 32)
{
return SQL_RESULT_TYPE_CLEAR_FALSE;
}
else
{
return SQL_RESULT_TYPE_OK;
}
例項:
BOOL a = PathFileExists(L"E://project//bin_d//run_//AutoBackup_mouth.bat");// 檔案是否存在
string str = "E://project//bin_d//run_//AutoBackup_mouth.bat";
if (WinExec(str.c_str(), SW_SHOW) < 32)
{
return SQL_RESULT_TYPE_CLEAR_FALSE;
}
else
{
return SQL_RESULT_TYPE_OK;
}
相關推薦
windows呼叫另外一個EXE程式,WinExec+Cmd+BAT
首先說一下:WinExec的函式原型: UINT Win Exec(LPCSTR lpCmdLine, UINT uCmdShow); 引數:lpCmdLine:指向一個空結束的字串,串中包含將要執
在同一個類中,一個方法呼叫另外一個有註解(比如@Async,@Transational)的方法,註解失效的原因和解決方法
在同一個類中,一個方法呼叫另外一個有註解(比如@Async,@Transational)的方法,註解是不會生效的。 比如,下面程式碼例子中,有兩方法,一個有@Transational註解,一個沒有。如果呼叫了有註解的addPerson()方法,會啟動一個Transaction;如果呼叫updatePerso
C++以阻塞的方式呼叫外部exe程式,等待其執行結束
SHELLEXECUTEINFO ShExecInfo = {0}; ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
在同一個解決方案下,如何從一個工程中呼叫另外一個工程的函式
兩個專案分別是test1和test2,test1中有一個函式fun()被test2呼叫,用法如下: //test1.h int fun(int a, int b); //test1.cpp #include <iostream> #include "
QT5的程式打包釋出(將QT5的工程專案打包成一個exe程式) QT5的程式打包釋出(將QT5的工程專案打包成一個exe程式)
QT5的程式打包釋出(將QT5的工程專案打包成一個exe程式) 最近,在學習QT5的過程中,想嘗試著把自己寫的工程程式給打包釋出出來,在任何一臺windows系統都能執行,這樣就不會限於電腦需不需要安裝QT安裝包了。 首先,先介紹自己使用的環境。我使用的QT版本是。我的電
java啟動exe程式,傳遞引數和獲取引數
1、java中啟動exe程式 ,並新增傳參 String[] cmd = {"hh.exe","12315"}; Process process = null; try { ProcessBuilder pb =
iOS開發:第一個iOS程式,加法計算器
相信很多學習程式設計的人,不管是學習C,C++,JAVA,還是iOS開發用的Objective-C,入門不久就迫切地想寫點看得見的介面玩玩。當然瞭解諸如iOS架構,系統層次這些是非常必要的,但是作為入門案例,我們不妨從最直觀的地方入手!! 下面開始編寫我們的第一個iOS程式: 1.使用的
設計一個 Java 程式,自定義異常類,從命令列(鍵盤)輸入一個字串,如果該字串值為“XYZ”。。。
設計一個 Java 程式,自定義異常類,從命令列(鍵盤)輸入一個字串,如果該字串值為“XYZ”,則丟擲一個異常資訊“This is a XYZ”,如果從命令列輸入 ABC,則沒有丟擲異常。(只有 XYZ 和 ABC 兩種輸入)。 class xyz { public void test(S
windows下idea編寫WordCount程式,並打jar包上傳到hadoop叢集執行(傻瓜版)
通常會在IDE中編制程式,然後打成jar包,然後提交到叢集,最常用的是建立一個Maven專案,利用Maven來管理jar包的依賴。 一、生成WordCount的jar包 1. 開啟IDEA,File→New→Project→Maven→Next→填寫Groupld和Artifactld→Ne
vue中methods一個方法呼叫另外一個方法
vue在同一個元件內; methods中的一個方法呼叫methods中的另外一個方法 可以在呼叫的時候 this.$options.methods.test2(); this.$options.methods.test2();一個方法呼叫另外一個方法; new Vue({
用python寫一個小程式,解決買水果的問題?
問題: 商店總共有三種水果,香蕉/蘋果/葡萄,單價分別為3.5/5.0/3.0元/500克。 寫一個小程式實現: 1、輸出一個選單:列印每種水果的價格: 2、尋問客戶欲購買水果? 3、客戶想購買的克數?
利用winrar製作exe程式,如何配置解壓後自動執行
轉自:https://blog.csdn.net/shann09/article/details/27497901 rar自解壓安裝,且解壓後自動執行某程式 1,winRAR能夠打包成自解壓的exe檔案,並且設定解壓前或解壓後執行某個程式 2,選擇要壓縮的所有檔案,右鍵“新增到壓縮檔案” 3,勾
4-QT的程式打包釋出(將QT5的工程專案打包成一個exe程式)
https://blog.csdn.net/windsnow1/article/details/78004265 最近,在學習QT5的過程中,想嘗試著把自己寫的工程程式給打包釋出出來,在任何一臺windows系統都能執行,這樣就不會限於電腦需不需要安裝QT安裝包了。 首先,先介紹自己使用的環境。
如何寫第一個Python程式,30萬年薪Python工程師經驗之談
在正式編寫第一個Python程式前,我們先複習一下什麼是命令列模式和Python互動模式。 命令列模式 在Windows開始選單選擇“命令提示符”,就進入到命令列模式,它的提示符類似C:>: ┌───────────────────────────────
使用java來把一個目錄下的所有檔案拷貝到另外一個目錄下,並且重新命名
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興! import java.io.File;import java.io.FileReader;import java.io.FileWriter;public c
使一個元素覆蓋在另外一個元素之上,使得只能點選上面的元素上
<div class="text_C"> <span style="font-size: 18px;color: black;" :class="item.status==2?'greenc':''"> {{item.statusS
VS Code中C檔案呼叫另外一個C檔案
main.c #include <stdio.h> #include "BaseStore.h" int main() { baseStore_aboutSizeofFunc(); return 0; } BaseStore.h #includ
VC中怎麼執行一個應用程式,並取得應用程式的返回值
我沒有想到怎樣去檢查掛掉的程式,在實際應用中我是採用估算一個最大執行時間,如果超過此時間,即強行終止程式。因為要取得子程序執行結束的返回值,所以要用上面的方法。如果不要求取得返回值,把:ShellExecuteEx(&ShExecInfo);以下的程式碼去掉就是了,主程序依然可以繼續下向執行。如果不考
用pyinstaller打包一個exe程式
用pyinstaller打包一個tkinter的exe程式 今天用pyinstaller打了個小tk程式,整理了一些小問題的解決 打包單個exe檔案 -F 選項可以打出一個exe檔案,預設
編寫一個應用程式,使用者分別從兩個文字框輸入學術的姓名和分數
package JAVA1; import java.awt.Button; import java.awt.Label; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.