代替 vfp 的 run 命令的最好方法(vc6寫的shellexw.dll,源程式shellexw.cpp見我的主頁)
shellexw.cpp --- vc6 編譯,生成乙個供 vfp 等呼叫的 .dll
代替 vfp 的 run 命令的最好方法:在 vfp 資料庫應用程式設計中,經常需要呼叫一些以前在 ms-dos 環境下執行的應用程式。這時候我們經常會想到 run 命令。利用 run 命令確實可以執行 ms-dos 應用程式,但是卻會跳出乙個令人討厭的黑螢幕。曾有人提出用 win32 api 的 winexec 來解決。但它和 run 命令一樣也無法知道 ms-dos 應用程式是否執行完成,無法取得 ms-dos 應用程式的退出碼(在 dos 的 .bat 中可用 if errorlevel ... 檢測)。使用本程式提供的函式shellexecwait(),你可以執行 ms-dos 應用程式或 windows 應用程式直到其結束並取得其退出碼,可以控制視窗是否顯示和顯示模式。
執行乙個外部程式直到結束,返回結果碼(0=ok)和外部程式退出碼。
如果外部程式要使用輸入輸出重定向,請寫乙個 .bat
外部程式執行時視窗是否顯示和顯示模式由n_showwinmode引數指定,參見 vc6的 winuser.h:
#define sw_hide 0
#define sw_shownormal 1
#define sw_normal 1
#define sw_showminimized 2
#define sw_showmaximized 3
#define sw_maximize 3
#define sw_shownoactivate 4
#define sw_show 5
#define sw_minimize 6
#define sw_showminnoactive 7
#define sw_showna 8
#define sw_restore 9
#define sw_showdefault 10
#define sw_forceminimize 11
#define sw_max 11
vfp 呼叫舉例:
declare integer shellexecwait in shellexw.dll ;
string lpprogname, string lpparms, ;
short n_showwinmode, integer @exitcode
rc = shellexecwait("../arj.exe"+chr(0),"a ../arj/"+c_sel_date+".arj"+;
" ../output/"+c_sel_date+"*.*"+chr(0),;
gndospgmshowwinmode, @gnexitcode)
*出錯處理
if rc != 0
=msg_err("呼叫 arj 壓縮出錯! 出錯碼:"+alltrim(str(rc)))
return
endif
if gnexitcode != 0
=msg_err("arj 壓縮出錯! arj 退出碼:"+alltrim(str(gnexitcode)))
return
endif
Docker Docker的Run命令使用時報錯
命令報錯 warning your kernel does not support swap limit capabilities,memory limited without swap.step 1 編輯 etc default grub檔案,將grub cmdline linux一行改為grub...
關於向Oracel儲存過程傳集合的代替方法
首先我們要把集合中的所有元素用字串相連,形成乙個長的字串.如下 這裡的arraylist裡面放的是id string ids foreach string str in list ids ids str 去掉最後面的逗號 ids ids.substring 0,ids.length 1 然後寫儲存過...
Linux系統設定修改ip位址最好用的方法
這裡我的虛擬機器是執行在vmware 10.0上,使用的linux伺服器是cenos6.4 64位。可以看到我當前的ip是192.168.93.88,因為我需要和另一台linux虛擬機器一起使用,所以必須得保證兩台虛擬機器在同乙個網段內,這樣才可以進行區域網通訊,所以這裡我需要將ip位址修改為192...