NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

有任何CVI function 可關閉使用中的程式?

Good day
請教大家有什麼函式可以關閉windows xp裡的 工作管理員->處理程序->影像名稱  中正在執行中的程式嗎
最近遇到個問題,發現由CVI寫出來的系統一但不小心開啟同樣的程式兩次以上,整個硬體訊號的控制會大亂
所以才想有沒有辦法可以在第二次開啟前先偵測是否有相同的程式正在執行,以避免重複開啟的問題
(看過了很多函式一直都找不到,才硬著頭皮上來求救,謝謝各位前輩&NI ENG的指教 )


由 lcyen 在 03-02-2008 07:56 AM 上編輯的訊息
0 積分
1 條訊息(共 6 條)
5,099 檢視
CVI 開發出的執行檔可以在同一台電腦執行很多次嗎?
 
可以改成只有執行一次嗎?
 
如果可以,就不需再檢查了。
0 積分
2 條訊息(共 6 條)
5,084 檢視

Dear Derek

CVI 開發出的執行檔可以在同一台電腦執行很多次嗎?    --> 可以,但是我的問題是同時執行到兩個相同程式會造成硬體控制衝突
 
可以改成只有執行一次嗎? -->  對阿,我就是上來問有沒有辦法可以在執行到硬體控制段前就可以提前把已經開啟的程式給關閉掉
                                                    
 
如果可以,就不需再檢查了。
0 積分
3 條訊息(共 6 條)
5,074 檢視
The function CheckForDuplicateAppInstance can be used in this scenario. I have included a code snipet on how to use this function. If you have any questions, let me know. Also, check out this dev zone example to see another method.

#include <userint.h>
#include <utility.h>
#include <cvirte.h>
int main (int argc, char *argv[])
{
int thereIsAnother;  

    if (InitCVIRTE (0, argv, 0) == 0)
        return -1; /* out of memory */

    if (CheckForDuplicateAppInstance (ACTIVATE_OTHER_INSTANCE, &thereIsAnother) < 0)
        return -1; /* out of memory */

    if (thereIsAnother)
    {
        // Terminate the Program
        MessagePopup("Warning","Another Instance of the Executable is running!");
        return 0; /* prevent duplicate instance */
    }
    else
    {
        // Put your code here
        MessagePopup("Test", "Program Running...");
    }
    return 0;
}
0 積分
4 條訊息(共 6 條)
5,069 檢視
0 積分
5 條訊息(共 6 條)
5,068 檢視
Derek, thank a lot
我再用你的提供的方式try看看 感謝
 


由 lcyen 在 03-04-2008 10:10 AM 上編輯的訊息
0 積分
6 條訊息(共 6 條)
5,058 檢視