RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [求助] [求助] 是否有軟體支援windows中執行相同的程式   字型大小:||| 
musicsun
未開啟帳號


今日心情

 . 積分: 141
 . 文章: 569
 . 收花: 680 支
 . 送花: 304 支
 . 比例: 0.45
 . 在線: 584 小時
 . 瀏覽: 811 頁
 . 註冊: 8216
 . 失蹤: 6
#1 : 2005-2-2 02:00 PM     全部回覆 引言回覆


引用:
Acute寫到:
這種需求, 要變成通用程式粉麻煩, 但是, 要針對特定程式, 其實很簡單
so, 如果你會寫程式, 也知道怎樣使用debugger 環境, 我可以告訴你方法
1. 先trace 程式, 找出該程式何時執行CreateMutex, 這時候, 查出該function 第三個參數 (一個名字)
2. 自己寫一個程式, 裏面啥都不幹, 就是去CreateMutex 然後用同樣的名字參數

以後, 只要先執行你自己寫的程式, 再執行你希望可以跑多個的程式, 就可以了.

這個方法, 對80% 的軟體會有效
會無效的, 只有遇到使用傳統方法辨識的, 但是, 大型軟體公司的程式不會用傳統笨方法, 因為那樣子容易誤判

^^" 當初eDonkeySpy 破驢子不給跑多隻, 就是用這個方法

Acute.


要執行程式設定的mutex名字已經被自己寫的程式開啟了...
這樣要執行的程式不就看到名字已經有了...
然後一隻都不跑嗎?



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
musicsun
未開啟帳號


今日心情

 . 積分: 141
 . 文章: 569
 . 收花: 680 支
 . 送花: 304 支
 . 比例: 0.45
 . 在線: 584 小時
 . 瀏覽: 811 頁
 . 註冊: 8216
 . 失蹤: 6
#2 : 2005-2-2 08:06 PM     全部回覆 引言回覆


引用:
Acute寫到:
寫程式都會有保險機制的, 不會寫的很愚蠢
所以, CreateMutex 成功之後, 會去檢查, 是不是自己的另一個instance 開啟的
如果是, 才會不執行, 如果不是, 就會執行
那因為已經被"假"程式先佔據了, 所以每個instance 起來都發現不是
所以, 每個instance 都會執行

Acute.


請問一下...
像這樣寫有什麼問題嗎?
為什麼還要檢查是不是自己的另一個instance 開啟的

        if (hMutex = CreateMutex(NULL, FALSE, _T("E66CB96D-D0BF-4b9a-BDD4-55587785C730")))
        {
                if (GetLastError() == ERROR_ALREADY_EXISTS)
                {
                        AfxMessageBox(_T("App running"), MB_ICONSTOP|MB_OK);
                        return TRUE;
                }
        }



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-11-28 04:35 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.020604 second(s), 7 queries , Qzip disabled