全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1084
推到 Plurk!
推到 Facebook!

程式不重覆執行參數傳遞

尚未結案
asliu
一般會員


發表:3
回覆:1
積分:0
註冊:2003-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-28 16:49:17 IP:163.28.xxx.xxx 未訂閱
各位前輩好:     在希望程式不重覆執行的情況下,於FormCreate()內加入下列程式碼:(程式碼為本討論區網友所提供,主要用於讓程式不重覆執行)    
  Application->Title=Form1->Caption;      HANDLE PrevInstHandle;
  HANDLE Mutex = OpenMutex(SYNCHRONIZE,false,Application->Title.c_str());      if (Mutex != NULL)
     {
        String AppTitle=Application->Title;
        SetWindowText(Application->Handle,NULL);
        PrevInstHandle = FindWindow("TApplication", AppTitle.c_str());
        if (PrevInstHandle != 0)
           {
              if (IsIconic(PrevInstHandle))
                 ShowWindow(PrevInstHandle, SW_RESTORE);
              else
                 BringWindowToTop(PrevInstHandle);                  SetForegroundWindow(PrevInstHandle);
           }
        Application->ShowMainForm = false;
        Application->Terminate();
     }
  else  CreateMutex(NULL, false, Application->Title.c_str());    
由於本身程式的需求,設定某些副檔名.xxx可由程式開啟;雙擊該檔案可直接開啟程式,此時WinMain中引數lpCmdLine會傳入該檔檔案名稱,上述情況是在程式第一次開啟時發生。 WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) 我的問題是,未加入上述程式碼(不讓程式重覆執行)時,都會重新執行WinMain()和FormCreate(),但一旦加入上述程式碼後,連WinMain()和FormCreate()都不執行。 上述結果是在WinMain()和FormCreate()中加入下列程式碼,然後去看它的時間變化。
    #include "Unit1.h"
#include     WinMain():
TDateTime DateTime = Time(); 
Form1->Label1->Caption = TimeToStr(DateTime);    FormCreate():
TDateTime DateTime = Time();
Label2->Caption = TimeToStr(DateTime);
// 後面才放讓程式不重覆執行程式碼    
本以為至少會執行FormCreate(),如此才會去跑讓程式不重覆執行的程式碼,但似手沒有。 請問我該如何解決這個問題,並成功地在讓程式不重覆執行的前提下,將點選的檔案名稱再次傳入程式中? 往日情懷 發表人 - asliu 於 2003/11/28 19:36:41
 
 
 
發表人 - asliu 於 2003/11/28 19:40:33
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-28 16:57:06 IP:140.135.xxx.xxx 未訂閱
asliu您好: 請參考下面連結,讓您的程式碼更方便閱讀 < href="http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40876">http://delphi.ktop.com.tw/topic.php?TOPIC_ID=40876 順心
系統時間:2024-11-23 9:46:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!