如何實現關閉某程式?

請問...

我想使用 LabVIEW 寫關閉某個應用程式 (tester.exe),請問應該如何做呢?
目前我只有找到 Quit Application.vi 是從下面地方取的 subVI
ftp://ftp.ni.com/contrib/epd/B45EACE3EF4656A4E034080020E74861/
lvwutil32.zip


可是這種方法因為呼叫 LVWUtil32.dll 竟然會造成某些使用 Windows XP 的 PC
會產生記憶體錯誤的現象,造成程式無法正常關閉,請問前輩們是否有其他方法
可以實現?

可以試著windows user32.dll 所提供的API把程式給結束掉~~

第一步~先用FindWindowA這個API輸入視窗的標題,找到所要結束執行視窗的hwnd.....

long FindWindowA(long lpszClassName, CStr lpszWindowName);

lpszClassName 代 0 整數值, lpszWindowName 代視窗標題, 傳回值為視窗的 hwnd

第二步再用PostMessageA這個API輸入hwnd及相關參數就可以把程式給結束了...

long PostMessageA(long hwnd, long wMsg, long wParam, long lParam);

hwnd 代 FindWindowA 所傳回的值, wMsg 代 18 整數值, wParam 與 lParam 代 0 整數值 ...

ㄟ~~這樣寫不知您瞭不瞭解....這需要呼叫DLL的技巧.....

寫了一個關閉小算盤的程式.....

2005-01-09_222550_關閉小算盤.vi

可以先開啟一個小算盤的視窗,執行後...小算盤就會被關閉了...

感謝 Tomado 的協助!

順便請教一下:
有關 Windows System 的 user32.dll 裡面每個函式使用方法,是否有哪個網頁有清楚的使用介紹呢?

謝謝指導!

franklin38362.8546759259

市面上有一些API相關的書籍,可以到書店去逛逛.

[QUOTE=Tomado]

寫了一個關閉小算盤的程式…

2005-01-09_222550_關閉小算盤.vi

可以先開啟一個小算盤的視窗,執行後...小算盤就會被關閉了...

[/QUOTE]

多謝啦

15年前我有 download : 2005-01-09_222550_關閉小算盤.vi
現在我再重跑(作業系統已經不一樣了) 有些視窗(緣色)可以關,有些(紅色)不能關了(LabVIEW 執行檔)
最主要是我想關 LabVIEW 的執行檔,如果沒關,再次呼叫,會不Run,後來查NI Community 在 cmd 可下 tasklist, taskkill 來查尋與關閉LabVIEW 執行檔
test_03
test_04

1個讚